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

int main(int argc,char **argv)

{
  ushort uVar1;
  undefined *puVar2;
  char cVar3;
  char *pcVar4;
  uint *puVar5;
  undefined4 uVar6;
  uint *extraout_ECX;
  uint *puVar7;
  int iVar8;
  uint *extraout_ECX_00;
  uint *extraout_ECX_01;
  uint *extraout_ECX_02;
  uint *extraout_ECX_03;
  uint *extraout_ECX_04;
  uint *extraout_EDX;
  uint *extraout_EDX_00;
  uint *puVar9;
  char **ppcVar10;
  int in_GS_OFFSET;
  byte bVar11;
  undefined8 uVar12;
  uint *puStack_4b4;
  undefined4 uStack_4b0;
  undefined1 auStack_4ac [8];
  char **local_4a4;
  char local_49f;
  char local_49e;
  char local_49d;
  uint local_49c;
  char *local_498;
  uint local_494;
  uint *local_490;
  uint *local_48c;
  char **local_488;
  uint *local_484;
  uint local_478;
  uint local_474 [20];
  uint local_424;
  byte local_420;
  byte local_41f;
  uint local_41c [254];
  int local_24;
  int *local_18;
  
  bVar11 = 0;
  local_18 = &argc;
  local_484 = (uint *)argc;
  local_488 = argv;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  local_48c = &local_478;
  local_494 = local_494 & 0xffffff00;
  local_490 = (uint *)0x0;
  local_498 = (char *)((uint)local_498 & 0xffffff00);
  local_49e = '\0';
  local_4a4 = (char **)((uint)local_4a4 & 0xffffff00);
  local_49c = local_49c & 0xffffff00;
  local_49f = '\0';
  local_49d = '\0';
  while( true ) {
    local_478 = 0;
    uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);
    puVar2 = PTR_optind_00013fec;
    puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);
    iVar8 = (int)uVar12;
    if (iVar8 == -1) break;
    puVar7 = extraout_ECX;
    if (0x37 < iVar8 - 0x3fU) {
_L3:
      pcVar4 = "unrecognised option code 0x%x ??\n";
      puStack_4b4 = puVar7;
      goto LAB_000112cd;
    }
    puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +
                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);
    switch(iVar8) {
    case 0x3f:
    case 0x68:
      ppcVar10 = (char **)0x0;
      pr2serr(
             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
             );
      goto LAB_00011257;
    default:
      goto _L3;
    case 0x48:
      local_49f = '\x01';
      break;
    case 0x52:
      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);
      break;
    case 0x56:
      local_494 = CONCAT31(local_494._1_3_,1);
      break;
    case 100:
      local_49d = '\x01';
      break;
    case 0x65:
      local_49e = '\x01';
      break;
    case 0x72:
      local_49c = CONCAT31(local_49c._1_3_,1);
      break;
    case 0x76:
      local_490 = (uint *)((int)local_490 + 1);
      local_498 = (char *)CONCAT31(local_498._1_3_,1);
    }
  }
  puVar9 = (uint *)0x0;
  puVar5 = *(uint **)PTR_optind_00013fec;
  if ((int)puVar5 < (int)local_484) {
    puVar9 = (uint *)local_488[(int)puVar5];
    puVar5 = (uint *)((int)puVar5 + 1);
    *(uint **)PTR_optind_00013fec = puVar5;
    if ((int)puVar5 < (int)local_484) {
      do {
        pcVar4 = local_488[(int)puVar5];
        puVar9 = puVar7;
        puStack_4b4 = puVar7;
        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);
        puVar5 = (uint *)(*(int *)puVar2 + 1);
        *(uint **)puVar2 = puVar5;
        puVar7 = extraout_EDX;
      } while ((int)puVar5 < (int)local_484);
      ppcVar10 = (char **)0x1;
      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
              ,pcVar4,puVar9);
      goto LAB_00011257;
    }
  }
  if ((char)local_498 == '\0') {
    if ((char)local_494 != '\0') goto LAB_00011492;
  }
  else if ((char)local_494 != '\0') {
    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
LAB_00011492:
    ppcVar10 = (char **)0x0;
    puStack_4b4 = puVar5;
    pr2serr("Version: %s\n","1.27 20180628",puVar5);
    goto LAB_00011257;
  }
  if (puVar9 == (uint *)0x0) {
    pcVar4 = "Missing device name!\n\n";
LAB_000112cd:
    ppcVar10 = (char **)0x1;
    pr2serr(pcVar4);
    pr2serr(
           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
           );
    goto LAB_00011257;
  }
  if (((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)) {
    ppcVar10 = (char **)0xf;
    perror("sg_set_binary_mode");
    goto LAB_00011257;
  }
  puStack_4b4 = puVar5;
  local_494 = sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490);
  if ((int)local_494 < 0) {
    iVar8 = -local_494;
    if (local_490 != (uint *)0x0) {
      uVar6 = safe_strerror(iVar8);
      pr2serr("open error: %s: %s\n",puVar9,uVar6);
    }
    ppcVar10 = (char **)sg_convert_errno(iVar8);
  }
  else {
    puVar7 = &local_424;
    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {
      *puVar7 = 0;
      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;
    }
    puStack_4b4 = (uint *)0x0;
    puVar7 = (uint *)0x0;
    local_484 = &local_424;
    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2
                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);
    puVar9 = &local_424;
    if (ppcVar10 == (char **)0x0) {
      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8
                        | local_424 << 0x18) + 4);
      local_48c = puVar5;
      if (0x400 < (int)puVar5) {
        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");
        local_48c = (uint *)0x400;
      }
      puVar9 = local_484;
      if ((char)local_49c == '\0') {
        if (local_490 == (uint *)0x0) {
          if (local_49f == '\0') {
LAB_00011645:
            puts("Report target port groups:");
            if (local_49e == '\0') {
              puVar9 = (uint *)&local_420;
            }
            else {
              if ((local_420 & 0x70) != 0x10) {
                pr2serr("   <<invalid extended header format\n");
                puVar9 = &local_424;
                goto LAB_00011439;
              }
              puVar7 = (uint *)(uint)local_41f;
              puVar9 = local_41c;
              puStack_4b4 = extraout_ECX_00;
              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);
            }
            local_488 = (char **)&DAT_0001222b;
            local_4a4 = ppcVar10;
            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,
                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {
              pcVar4 = "0x%02x";
              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",
                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,
                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);
              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);
              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);
              if (local_49d != '\0') {
                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);
                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;
                switch(puStack_4b4) {
                case (uint *)0x0:
                  puStack_4b4 = extraout_EDX_00;
                  __printf_chk(1," (active/optimized)",extraout_EDX_00);
                  break;
                case (uint *)0x1:
                  __printf_chk(1," (active/non optimized)",puStack_4b4);
                  break;
                case (uint *)0x2:
                  __printf_chk(1," (standby)",puStack_4b4);
                  break;
                case (uint *)0x3:
                  __printf_chk(1," (unavailable)",puStack_4b4);
                  break;
                case (uint *)0x4:
                  __printf_chk(1," (logical block dependent)",puStack_4b4);
                  break;
                default:
                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);
                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));
                  break;
                case (uint *)0xe:
                  __printf_chk(1," (offline)",puStack_4b4);
                  break;
                case (uint *)0xf:
                  __printf_chk(1," (transitioning between states)",puStack_4b4);
                }
              }
              putchar(10);
              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)
              ;
              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);
              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);
              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);
              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);
              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);
              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);
              __printf_chk(1,"    status code : ");
              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);
              __printf_chk(1,"0x%02x",puVar7);
              if (local_49d != '\0') {
                bVar11 = *(byte *)((int)puVar9 + 5);
                puVar7 = (uint *)(uint)bVar11;
                puStack_4b4 = puVar7;
                if (bVar11 == 1) {
                  __printf_chk(1,
                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"
                               ,puVar7);
                }
                else if (bVar11 == 0) {
                  __printf_chk(1," (no status available)",puVar7);
                }
                else if (bVar11 == 2) {
                  puStack_4b4 = (uint *)pcVar4;
                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",
                               "0x%02x");
                  puVar7 = (uint *)pcVar4;
                }
                else {
                  puVar7 = extraout_ECX_01;
                  puStack_4b4 = extraout_ECX_01;
                  __printf_chk(1," (unknown status code)",extraout_ECX_01);
                }
              }
              putchar(10);
              __printf_chk(1,"    vendor unique status : ",puVar7);
              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));
              __printf_chk(1,"    target port count : ");
              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);
              puVar7 = puVar5;
              __printf_chk(1,"%02x\n",puVar5);
              local_484 = (uint *)((int)puVar5 * 4);
              local_498 = "    Relative target port ids:";
              puVar5 = extraout_ECX_02;
              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {
                if (iVar8 == 0) {
                  puts(local_498);
                  puVar5 = extraout_ECX_04;
                }
                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);
                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);
                puStack_4b4 = puVar5;
                __printf_chk(1,local_488,puVar7);
                puVar5 = extraout_ECX_03;
              }
              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));
            }
            goto LAB_00011439;
          }
        }
        else {
          puVar7 = local_48c;
          puStack_4b4 = puVar5;
          __printf_chk(1,"Report list length = %d\n",local_48c);
          if (local_49f == '\0') goto LAB_00011645;
          puts("\nOutput response in hex:");
        }
        puStack_4b4 = &local_424;
        hex2stdout(local_484,local_48c,1);
        puVar9 = &local_424;
      }
      else {
        local_488 = ppcVar10;
        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {
          putchar((uint)*(byte *)((int)puVar9 + iVar8));
        }
      }
LAB_00011439:
      iVar8 = sg_cmds_close_device(local_494);
      if (iVar8 < 0) {
        puVar9 = (uint *)-iVar8;
        uVar6 = safe_strerror(puVar9);
        pr2serr("close error: %s\n",uVar6);
        ppcVar10 = (char **)sg_convert_errno(puVar9);
      }
    }
    else {
      if (ppcVar10 == (char **)0x9) {
        pr2serr("Report Target Port Groups command not supported\n");
      }
      else if (ppcVar10 == (char **)0x5) {
        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")
        ;
      }
      else {
        puStack_4b4 = local_490;
        sg_get_category_sense_str(ppcVar10,0x50,local_474);
        pr2serr("Report Target Port Groups: %s\n",local_474);
        puVar9 = local_474;
      }
      iVar8 = sg_cmds_close_device(local_494);
      if (iVar8 < 0) {
        uVar6 = safe_strerror(-iVar8);
        pr2serr("close error: %s\n",uVar6);
      }
    }
  }
  if ((local_490 == (uint *)0x0) &&
     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),
     cVar3 == '\0')) {
    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
  }
  if ((int)ppcVar10 < 0) {
    ppcVar10 = (char **)0x63;
  }
LAB_00011257:
  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {
    puStack_4b4 = (uint *)0x11b04;
    uVar12 = __stack_chk_fail_local();
    puStack_4b4 = (uint *)uVar12;
    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,
                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);
    do {
                    /* WARNING: Do nothing block with infinite loop */
    } while( true );
  }
  return (int)ppcVar10;
}



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

undefined * FUN_00011160(uint *param_1,undefined *param_2)

{
  ushort uVar1;
  char cVar2;
  char *pcVar3;
  uint *puVar4;
  undefined4 uVar5;
  uint *extraout_ECX;
  uint *puVar6;
  int iVar7;
  uint *extraout_ECX_00;
  uint *extraout_ECX_01;
  uint *extraout_ECX_02;
  uint *extraout_ECX_03;
  uint *extraout_ECX_04;
  uint *extraout_EDX;
  uint *extraout_EDX_00;
  uint *puVar8;
  undefined *puVar9;
  int in_GS_OFFSET;
  byte bVar10;
  undefined8 uVar11;
  uint *puStack_4b4;
  undefined4 uStack_4b0;
  undefined1 auStack_4ac [8];
  undefined *local_4a4;
  char local_49f;
  char local_49e;
  char local_49d;
  uint local_49c;
  char *local_498;
  uint local_494;
  uint *local_490;
  uint *local_48c;
  undefined *local_488;
  uint *local_484;
  uint local_478;
  uint local_474 [20];
  uint local_424;
  byte local_420;
  byte local_41f;
  uint local_41c [254];
  int local_24;
  undefined4 *local_18;
  
  bVar10 = 0;
  local_18 = &param_1;
  local_484 = param_1;
  local_488 = param_2;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  local_48c = &local_478;
  local_494 = local_494 & 0xffffff00;
  local_490 = (uint *)0x0;
  local_498 = (char *)((uint)local_498 & 0xffffff00);
  local_49e = '\0';
  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);
  local_49c = local_49c & 0xffffff00;
  local_49f = '\0';
  local_49d = '\0';
  while( true ) {
    local_478 = 0;
    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);
    puVar9 = PTR_optind_00013fec;
    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);
    iVar7 = (int)uVar11;
    if (iVar7 == -1) break;
    puVar6 = extraout_ECX;
    if (0x37 < iVar7 - 0x3fU) {
LAB_000112c4:
      pcVar3 = "unrecognised option code 0x%x ??\n";
      puStack_4b4 = puVar6;
      goto LAB_000112cd;
    }
    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));
    switch(iVar7) {
    case 0x3f:
    case 0x68:
      puVar9 = (undefined *)0x0;
      pr2serr(
             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
             );
      goto LAB_00011257;
    default:
      goto LAB_000112c4;
    case 0x48:
      local_49f = '\x01';
      break;
    case 0x52:
      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);
      break;
    case 0x56:
      local_494 = CONCAT31(local_494._1_3_,1);
      break;
    case 100:
      local_49d = '\x01';
      break;
    case 0x65:
      local_49e = '\x01';
      break;
    case 0x72:
      local_49c = CONCAT31(local_49c._1_3_,1);
      break;
    case 0x76:
      local_490 = (uint *)((int)local_490 + 1);
      local_498 = (char *)CONCAT31(local_498._1_3_,1);
    }
  }
  puVar8 = (uint *)0x0;
  puVar4 = *(uint **)PTR_optind_00013fec;
  if ((int)puVar4 < (int)local_484) {
    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);
    puVar4 = (uint *)((int)puVar4 + 1);
    *(uint **)PTR_optind_00013fec = puVar4;
    if ((int)puVar4 < (int)local_484) {
      do {
        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);
        puVar8 = puVar6;
        puStack_4b4 = puVar6;
        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);
        puVar4 = (uint *)(*(int *)puVar9 + 1);
        *(uint **)puVar9 = puVar4;
        puVar6 = extraout_EDX;
      } while ((int)puVar4 < (int)local_484);
      puVar9 = (undefined *)0x1;
      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
              ,uVar5,puVar8);
      goto LAB_00011257;
    }
  }
  if ((char)local_498 == '\0') {
    if ((char)local_494 != '\0') goto LAB_00011492;
  }
  else if ((char)local_494 != '\0') {
    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
LAB_00011492:
    puVar9 = (undefined *)0x0;
    puStack_4b4 = puVar4;
    pr2serr("Version: %s\n","1.27 20180628",puVar4);
    goto LAB_00011257;
  }
  if (puVar8 == (uint *)0x0) {
    pcVar3 = "Missing device name!\n\n";
LAB_000112cd:
    puVar9 = (undefined *)0x1;
    pr2serr(pcVar3);
    pr2serr(
           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
           );
    goto LAB_00011257;
  }
  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {
    puVar9 = (undefined *)0xf;
    perror("sg_set_binary_mode");
    goto LAB_00011257;
  }
  puStack_4b4 = puVar4;
  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);
  if ((int)local_494 < 0) {
    iVar7 = -local_494;
    if (local_490 != (uint *)0x0) {
      uVar5 = safe_strerror(iVar7);
      pr2serr("open error: %s: %s\n",puVar8,uVar5);
    }
    puVar9 = (undefined *)sg_convert_errno(iVar7);
  }
  else {
    puVar6 = &local_424;
    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {
      *puVar6 = 0;
      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;
    }
    puStack_4b4 = (uint *)0x0;
    puVar6 = (uint *)0x0;
    local_484 = &local_424;
    puVar9 = (undefined *)
             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);
    puVar8 = &local_424;
    if (puVar9 == (undefined *)0x0) {
      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8
                        | local_424 << 0x18) + 4);
      local_48c = puVar4;
      if (0x400 < (int)puVar4) {
        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");
        local_48c = (uint *)0x400;
      }
      puVar8 = local_484;
      if ((char)local_49c == '\0') {
        if (local_490 == (uint *)0x0) {
          if (local_49f == '\0') {
LAB_00011645:
            puts("Report target port groups:");
            if (local_49e == '\0') {
              puVar8 = (uint *)&local_420;
            }
            else {
              if ((local_420 & 0x70) != 0x10) {
                pr2serr("   <<invalid extended header format\n");
                puVar8 = &local_424;
                goto LAB_00011439;
              }
              puVar6 = (uint *)(uint)local_41f;
              puVar8 = local_41c;
              puStack_4b4 = extraout_ECX_00;
              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);
            }
            local_488 = &DAT_0001222b;
            local_4a4 = puVar9;
            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,
                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {
              pcVar3 = "0x%02x";
              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",
                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,
                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);
              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);
              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);
              if (local_49d != '\0') {
                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);
                iVar7 = (int)puStack_4b4 * 4;
                switch(puStack_4b4) {
                case (uint *)0x0:
                  puStack_4b4 = extraout_EDX_00;
                  __printf_chk(1," (active/optimized)",extraout_EDX_00);
                  break;
                case (uint *)0x1:
                  __printf_chk(1," (active/non optimized)",puStack_4b4);
                  break;
                case (uint *)0x2:
                  __printf_chk(1," (standby)",puStack_4b4);
                  break;
                case (uint *)0x3:
                  __printf_chk(1," (unavailable)",puStack_4b4);
                  break;
                case (uint *)0x4:
                  __printf_chk(1," (logical block dependent)",puStack_4b4);
                  break;
                default:
                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));
                  __printf_chk(1," (unknown)",
                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));
                  break;
                case (uint *)0xe:
                  __printf_chk(1," (offline)",puStack_4b4);
                  break;
                case (uint *)0xf:
                  __printf_chk(1," (transitioning between states)",puStack_4b4);
                }
              }
              putchar(10);
              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)
              ;
              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);
              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);
              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);
              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);
              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);
              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);
              __printf_chk(1,"    status code : ");
              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);
              __printf_chk(1,"0x%02x",puVar6);
              if (local_49d != '\0') {
                bVar10 = *(byte *)((int)puVar8 + 5);
                puVar6 = (uint *)(uint)bVar10;
                puStack_4b4 = puVar6;
                if (bVar10 == 1) {
                  __printf_chk(1,
                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"
                               ,puVar6);
                }
                else if (bVar10 == 0) {
                  __printf_chk(1," (no status available)",puVar6);
                }
                else if (bVar10 == 2) {
                  puStack_4b4 = (uint *)pcVar3;
                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",
                               "0x%02x");
                  puVar6 = (uint *)pcVar3;
                }
                else {
                  puVar6 = extraout_ECX_01;
                  puStack_4b4 = extraout_ECX_01;
                  __printf_chk(1," (unknown status code)",extraout_ECX_01);
                }
              }
              putchar(10);
              __printf_chk(1,"    vendor unique status : ",puVar6);
              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));
              __printf_chk(1,"    target port count : ");
              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);
              puVar6 = puVar4;
              __printf_chk(1,"%02x\n",puVar4);
              local_484 = (uint *)((int)puVar4 * 4);
              local_498 = "    Relative target port ids:";
              puVar4 = extraout_ECX_02;
              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {
                if (iVar7 == 0) {
                  puts(local_498);
                  puVar4 = extraout_ECX_04;
                }
                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);
                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);
                puStack_4b4 = puVar4;
                __printf_chk(1,local_488,puVar6);
                puVar4 = extraout_ECX_03;
              }
              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));
            }
            goto LAB_00011439;
          }
        }
        else {
          puVar6 = local_48c;
          puStack_4b4 = puVar4;
          __printf_chk(1,"Report list length = %d\n",local_48c);
          if (local_49f == '\0') goto LAB_00011645;
          puts("\nOutput response in hex:");
        }
        puStack_4b4 = &local_424;
        hex2stdout(local_484,local_48c,1);
        puVar8 = &local_424;
      }
      else {
        local_488 = puVar9;
        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {
          putchar((uint)*(byte *)((int)puVar8 + iVar7));
        }
      }
LAB_00011439:
      iVar7 = sg_cmds_close_device(local_494);
      if (iVar7 < 0) {
        puVar8 = (uint *)-iVar7;
        uVar5 = safe_strerror(puVar8);
        pr2serr("close error: %s\n",uVar5);
        puVar9 = (undefined *)sg_convert_errno(puVar8);
      }
    }
    else {
      if (puVar9 == (undefined *)0x9) {
        pr2serr("Report Target Port Groups command not supported\n");
      }
      else if (puVar9 == (undefined *)0x5) {
        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")
        ;
      }
      else {
        puStack_4b4 = local_490;
        sg_get_category_sense_str(puVar9,0x50,local_474);
        pr2serr("Report Target Port Groups: %s\n",local_474);
        puVar8 = local_474;
      }
      iVar7 = sg_cmds_close_device(local_494);
      if (iVar7 < 0) {
        uVar5 = safe_strerror(-iVar7);
        pr2serr("close error: %s\n",uVar5);
      }
    }
  }
  if ((local_490 == (uint *)0x0) &&
     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),
     cVar2 == '\0')) {
    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
  }
  if ((int)puVar9 < 0) {
    puVar9 = (undefined *)0x63;
  }
LAB_00011257:
  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {
    puStack_4b4 = (uint *)0x11b04;
    uVar11 = FUN_00011d00();
    puStack_4b4 = (uint *)uVar11;
    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,
                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);
    do {
                    /* WARNING: Do nothing block with infinite loop */
    } while( true );
  }
  return puVar9;
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00011b50
ADD EBX,0x2e23
PUSH ECX
SUB ESP,0x498
MOV EAX,dword ptr [ECX]
MOV dword ptr [EBP + 0xfffffb84],EAX
MOV EAX,dword ptr [ECX + 0x4]
LEA EDI,[EBX + 0x88]
LEA ESI,[EBX + 0xffffe070]
MOV dword ptr [EBP + 0xfffffb80],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [EBP + -0x1c],EAX
XOR EAX,EAX
LEA EAX,[EBP + 0xfffffb90]
MOV byte ptr [EBP + 0xfffffb74],0x0
MOV dword ptr [EBP + 0xfffffb78],0x0
MOV byte ptr [EBP + 0xfffffb70],0x0
MOV byte ptr [EBP + 0xfffffb6a],0x0
MOV byte ptr [EBP + 0xfffffb64],0x0
MOV byte ptr [EBP + 0xfffffb6c],0x0
MOV byte ptr [EBP + 0xfffffb69],0x0
MOV byte ptr [EBP + 0xfffffb6b],0x0
MOV dword ptr [EBP + 0xfffffb7c],EAX
MOV dword ptr [EBP + 0xfffffb90],0x0
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffb7c]
PUSH EDI
PUSH ESI
PUSH dword ptr [EBP + 0xfffffb80]
PUSH dword ptr [EBP + 0xfffffb84]
CALL 0x000110b0
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x000112ee
LEA EDX,[EAX + -0x3f]
CMP EDX,0x37
JA 0x000112c4
MOV ECX,dword ptr [EBX + EDX*0x4 + 0xffffe86c]
ADD ECX,EBX
JMP ECX
MOV ESI,dword ptr [EBP + -0x1c]
XOR ESI,dword ptr GS:[0x14]
MOV EAX,EDI
JNZ 0x00011aff
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 + 0xffffe570]
PUSH EAX
MOV EDI,0x1
CALL 0x00011070
LEA EAX,[EBX + 0xffffe2fc]
MOV dword ptr [ESP],EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011257
MOV EDI,dword ptr [EBX + 0x54]
XOR ESI,ESI
MOV EAX,dword ptr [EDI]
CMP EAX,dword ptr [EBP + 0xfffffb84]
JGE 0x0001131a
MOV ESI,dword ptr [EBP + 0xfffffb80]
MOV ESI,dword ptr [ESI + EAX*0x4]
ADD EAX,0x1
MOV dword ptr [EDI],EAX
CMP EAX,dword ptr [EBP + 0xfffffb84]
JL 0x000114d2
CMP byte ptr [EBP + 0xfffffb70],0x0
JZ 0x00011471
CMP byte ptr [EBP + 0xfffffb74],0x0
JNZ 0x00011480
TEST ESI,ESI
JZ 0x000115de
CMP byte ptr [EBP + 0xfffffb6c],0x0
JZ 0x00011372
SUB ESP,0xc
PUSH 0x1
CALL 0x00011040
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00011372
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe0ab]
MOV EDI,0xf
PUSH EAX
CALL 0x00011080
ADD ESP,0x10
JMP 0x00011257
PUSH EAX
MOVZX EAX,byte ptr [EBP + 0xfffffb64]
PUSH dword ptr [EBP + 0xfffffb78]
PUSH EAX
PUSH ESI
CALL 0x00011130
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffb74],EAX
TEST EAX,EAX
JS 0x000114b1
XOR EAX,EAX
LEA EDI,[EBP + 0xfffffbe4]
MOV ECX,0x100
MOV ESI,EDI
MOV dword ptr [EBP + 0xfffffb84],EDI
STOSD.REP ES:EDI
PUSH EAX
PUSH EAX
MOVZX EAX,byte ptr [EBP + 0xfffffb6a]
PUSH dword ptr [EBP + 0xfffffb78]
PUSH 0x1
PUSH EAX
PUSH 0x400
PUSH ESI
PUSH dword ptr [EBP + 0xfffffb74]
CALL 0x00011140
ADD ESP,0x20
MOV EDI,EAX
TEST EAX,EAX
JNZ 0x00011548
MOV EAX,dword ptr [EBP + 0xfffffbe4]
BSWAP EAX
ADD EAX,0x4
MOV dword ptr [EBP + 0xfffffb7c],EAX
CMP EAX,0x400
JG 0x00011624
CMP byte ptr [EBP + 0xfffffb6c],0x0
JNZ 0x000115ec
CMP dword ptr [EBP + 0xfffffb78],0x0
JNZ 0x000116a4
CMP byte ptr [EBP + 0xfffffb69],0x0
JZ 0x00011645
PUSH ESI
PUSH 0x1
PUSH dword ptr [EBP + 0xfffffb7c]
PUSH dword ptr [EBP + 0xfffffb84]
CALL 0x00011090
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffb74]
CALL 0x00011050
ADD ESP,0x10
TEST EAX,EAX
JS 0x00011aac
CMP dword ptr [EBP + 0xfffffb78],0x0
JZ 0x00011517
TEST EDI,EDI
JNS 0x00011257
MOV EDI,0x63
JMP 0x00011257
CMP byte ptr [EBP + 0xfffffb74],0x0
JZ 0x00011334
JMP 0x00011492
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe5b4]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
PUSH EAX
XOR EDI,EDI
PUSH EAX
LEA EAX,[EBX + 0xffffe079]
PUSH EAX
LEA EAX,[EBX + 0xffffe087]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011257
NEG EAX
CMP dword ptr [EBP + 0xfffffb78],0x0
MOV EDI,EAX
JNZ 0x000115bc
SUB ESP,0xc
PUSH EDI
CALL 0x000110f0
ADD ESP,0x10
MOV EDI,EAX
JMP 0x00011452
LEA ESI,[EBX + 0xffffe594]
MOV ECX,dword ptr [EBP + 0xfffffb80]
PUSH EDX
PUSH EDX
PUSH dword ptr [ECX + EAX*0x4]
PUSH ESI
CALL 0x00011070
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
ADD EAX,0x1
MOV dword ptr [EDI],EAX
CMP EAX,dword ptr [EBP + 0xfffffb84]
JL 0x000114d8
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe2fc]
MOV EDI,0x1
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011257
LEA EAX,[EBX + 0xffffe2b2]
PUSH ESI
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x000110d0
ADD ESP,0x10
TEST AL,AL
JNZ 0x0001145f
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe824]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x0001145f
CMP EAX,0x9
JZ 0x000116dc
CMP EAX,0x5
JZ 0x0001168d
LEA ESI,[EBP + 0xfffffb94]
PUSH dword ptr [EBP + 0xfffffb78]
PUSH ESI
PUSH 0x50
PUSH EAX
CALL 0x00011120
POP EAX
LEA EAX,[EBX + 0xffffe804]
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffb74]
CALL 0x00011050
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00011452
SUB ESP,0xc
NEG EAX
PUSH EAX
CALL 0x00011110
POP EDX
POP ECX
PUSH EAX
LEA EAX,[EBX + 0xffffe2a1]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011452
SUB ESP,0xc
PUSH EAX
CALL 0x00011110
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffffe0be]
PUSH ESI
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x000114c2
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe094]
JMP 0x000112cd
XOR ESI,ESI
MOV dword ptr [EBP + 0xfffffb80],EDI
MOV EDI,ESI
MOV ESI,dword ptr [EBP + 0xfffffb84]
JMP 0x00011611
MOVZX EAX,byte ptr [ESI + EDI*0x1]
SUB ESP,0xc
ADD EDI,0x1
PUSH EAX
CALL 0x000110e0
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffffb7c],EDI
JG 0x000115fe
MOV EDI,dword ptr [EBP + 0xfffffb80]
JMP 0x00011439
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe5e8]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffb7c],0x400
JMP 0x000113fb
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe104]
PUSH EAX
CALL 0x000110a0
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffffb6a],0x0
JZ 0x000116f3
MOVZX EAX,byte ptr [EBP + 0xfffffbe8]
AND EAX,0x70
CMP AL,0x10
JZ 0x00011ada
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe624]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011439
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe7b0]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011581
PUSH EAX
LEA EAX,[EBX + 0xffffe0d2]
PUSH dword ptr [EBP + 0xfffffb7c]
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffffb69],0x0
JZ 0x00011645
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe0eb]
PUSH EAX
CALL 0x000110a0
ADD ESP,0x10
JMP 0x00011422
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe77c]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
JMP 0x00011581
LEA ESI,[EBP + 0xfffffbe8]
MOV EAX,ESI
SUB EAX,dword ptr [EBP + 0xfffffb84]
MOV dword ptr [EBP + 0xfffffb64],EDI
MOV dword ptr [EBP + 0xfffffb6c],EAX
LEA EAX,[EBX + 0xffffe293]
MOV dword ptr [EBP + 0xfffffb80],EAX
MOV EDI,dword ptr [EBP + 0xfffffb7c]
CMP dword ptr [EBP + 0xfffffb6c],EDI
JGE 0x00011a59
MOVSX EAX,byte ptr [ESI]
MOVZX EDX,word ptr [ESI + 0x2]
SUB ESP,0xc
LEA EDI,[EBX + 0xffffe11f]
MOV ECX,EAX
ROL DX,0x8
SHR CL,0x4
SHR EAX,0x1f
MOVZX EDX,DX
AND ECX,0x7
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xffffe66c]
PUSH EDX
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x18
LEA EAX,[EBX + 0xffffe6a4]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI]
ADD ESP,0xc
AND EAX,0xf
PUSH EAX
PUSH EDI
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffffb6b],0x0
JNZ 0x00011988
SUB ESP,0xc
PUSH 0xa
CALL 0x000110e0
MOVSX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
SHR EAX,0x1f
PUSH EAX
LEA EAX,[EBX + 0xffffe19d]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
SHR AL,0x6
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe1ae]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
SHR AL,0x4
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe1bb]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
SHR AL,0x3
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe1ca]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
SHR AL,0x2
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe1d7]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
SHR AL,0x1
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe1e4]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x1]
ADD ESP,0xc
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe1f2]
PUSH EAX
PUSH 0x1
CALL 0x00011100
POP EAX
LEA EAX,[EBX + 0xffffe1ff]
POP EDX
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x5]
ADD ESP,0xc
PUSH EAX
PUSH EDI
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffffb6b],0x0
JNZ 0x00011954
SUB ESP,0xc
PUSH 0xa
CALL 0x000110e0
POP EDI
POP EAX
LEA EAX,[EBX + 0xffffe240]
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EAX,byte ptr [ESI + 0x6]
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffffe299]
PUSH EAX
PUSH 0x1
CALL 0x00011100
POP EAX
LEA EAX,[EBX + 0xffffe25c]
POP EDX
PUSH EAX
PUSH 0x1
CALL 0x00011100
MOVZX EDI,byte ptr [ESI + 0x7]
ADD ESP,0xc
LEA EAX,[EBX + 0xffffe29b]
PUSH EDI
PUSH EAX
PUSH 0x1
CALL 0x00011100
LEA EAX,[EDI*0x4 + 0x0]
ADD ESP,0x10
XOR EDI,EDI
MOV dword ptr [EBP + 0xfffffb84],EAX
LEA EAX,[EBX + 0xffffe275]
MOV dword ptr [EBP + 0xfffffb70],EAX
JMP 0x0001191f
MOVZX EAX,word ptr [ESI + EDI*0x1 + 0xa]
PUSH ECX
ADD EDI,0x4
ROL AX,0x8
MOVZX EAX,AX
PUSH EAX
PUSH dword ptr [EBP + 0xfffffb80]
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffffb84],EDI
JLE 0x0001193e
TEST EDI,EDI
JNZ 0x000118fe
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffb70]
CALL 0x000110a0
ADD ESP,0x10
JMP 0x000118fe
MOV EDI,dword ptr [EBP + 0xfffffb84]
ADD EDI,0x8
ADD dword ptr [EBP + 0xfffffb6c],EDI
ADD ESI,EDI
JMP 0x00011719
MOVZX EAX,byte ptr [ESI + 0x5]
CMP AL,0x1
JZ 0x00011a7c
TEST AL,AL
JZ 0x00011a64
CMP AL,0x2
JZ 0x00011a94
LEA EAX,[EBX + 0xffffe229]
PUSH ECX
PUSH ECX
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
JMP 0x00011888
MOVZX EAX,byte ptr [ESI]
AND EAX,0xf
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffffe94c]
ADD ECX,EBX
JMP ECX
MOV EDI,dword ptr [EBP + 0xfffffb64]
JMP 0x00011439
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffe212]
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
JMP 0x00011888
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffe6f8]
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
JMP 0x00011888
LEA EAX,[EBX + 0xffffe740]
PUSH EDI
PUSH EDI
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
JMP 0x00011888
SUB ESP,0xc
NEG EAX
PUSH EAX
MOV ESI,EAX
CALL 0x00011110
POP EDX
POP ECX
PUSH EAX
LEA EAX,[EBX + 0xffffe2a1]
PUSH EAX
CALL 0x00011070
MOV dword ptr [ESP],ESI
CALL 0x000110f0
ADD ESP,0x10
MOV EDI,EAX
JMP 0x00011452
MOVZX EAX,byte ptr [EBP + 0xfffffbe9]
PUSH ECX
LEA ESI,[EBP + 0xfffffbec]
PUSH EAX
LEA EAX,[EBX + 0xffffe64c]
PUSH EAX
PUSH 0x1
CALL 0x00011100
ADD ESP,0x10
JMP 0x000116f9
CALL 0x00011d00
NOP
NOP
NOP
NOP
NOP
NOP
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nundefined * FUN_00011160(uint *param_1,undefined *param_2)\n\n{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }\n  return puVar9;\n}\n\n" comment comment (function_definition "undefined * FUN_00011160(uint *param_1,undefined *param_2)\n\n{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }\n  return puVar9;\n}" type_identifier (pointer_declarator "* FUN_00011160(uint *param_1,undefined *param_2)" * (function_declarator "FUN_00011160(uint *param_1,undefined *param_2)" identifier (parameter_list "(uint *param_1,undefined *param_2)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }\n  return puVar9;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "uint *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "uint *extraout_ECX_02;" type_identifier (pointer_declarator "*extraout_ECX_02" * identifier) ;) (declaration "uint *extraout_ECX_03;" type_identifier (pointer_declarator "*extraout_ECX_03" * identifier) ;) (declaration "uint *extraout_ECX_04;" type_identifier (pointer_declarator "*extraout_ECX_04" * identifier) ;) (declaration "uint *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "uint *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "uint *puStack_4b4;" type_identifier (pointer_declarator "*puStack_4b4" * identifier) ;) (declaration "undefined4 uStack_4b0;" type_identifier identifier ;) (declaration "undefined1 auStack_4ac [8];" type_identifier (array_declarator "auStack_4ac [8]" identifier [ number_literal ]) ;) (declaration "undefined *local_4a4;" type_identifier (pointer_declarator "*local_4a4" * identifier) ;) (declaration "char local_49f;" primitive_type identifier ;) (declaration "char local_49e;" primitive_type identifier ;) (declaration "char local_49d;" primitive_type identifier ;) (declaration "uint local_49c;" type_identifier identifier ;) (declaration "char *local_498;" primitive_type (pointer_declarator "*local_498" * identifier) ;) (declaration "uint local_494;" type_identifier identifier ;) (declaration "uint *local_490;" type_identifier (pointer_declarator "*local_490" * identifier) ;) (declaration "uint *local_48c;" type_identifier (pointer_declarator "*local_48c" * identifier) ;) (declaration "undefined *local_488;" type_identifier (pointer_declarator "*local_488" * identifier) ;) (declaration "uint *local_484;" type_identifier (pointer_declarator "*local_484" * identifier) ;) (declaration "uint local_478;" type_identifier identifier ;) (declaration "uint local_474 [20];" type_identifier (array_declarator "local_474 [20]" identifier [ number_literal ]) ;) (declaration "uint local_424;" type_identifier identifier ;) (declaration "byte local_420;" type_identifier identifier ;) (declaration "byte local_41f;" type_identifier identifier ;) (declaration "uint local_41c [254];" type_identifier (array_declarator "local_41c [254]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 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_484 = param_1;" (assignment_expression "local_484 = param_1" identifier = identifier) ;) (expression_statement "local_488 = param_2;" (assignment_expression "local_488 = param_2" identifier = identifier) ;) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_48c = &local_478;" (assignment_expression "local_48c = &local_478" identifier = (pointer_expression "&local_478" & identifier)) ;) (expression_statement "local_494 = local_494 & 0xffffff00;" (assignment_expression "local_494 = local_494 & 0xffffff00" identifier = (binary_expression "local_494 & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_490 = (uint *)0x0;" (assignment_expression "local_490 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_498 = (char *)((uint)local_498 & 0xffffff00);" (assignment_expression "local_498 = (char *)((uint)local_498 & 0xffffff00)" identifier = (cast_expression "(char *)((uint)local_498 & 0xffffff00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_498 & 0xffffff00)" ( (binary_expression "(uint)local_498 & 0xffffff00" (cast_expression "(uint)local_498" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_49e = '\0';" (assignment_expression "local_49e = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);" (assignment_expression "local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00)" identifier = (cast_expression "(undefined *)((uint)local_4a4 & 0xffffff00)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_4a4 & 0xffffff00)" ( (binary_expression "(uint)local_4a4 & 0xffffff00" (cast_expression "(uint)local_4a4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_49c = local_49c & 0xffffff00;" (assignment_expression "local_49c = local_49c & 0xffffff00" identifier = (binary_expression "local_49c & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_49f = '\0';" (assignment_expression "local_49f = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_49d = '\0';" (assignment_expression "local_49d = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (while_statement "while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" { (expression_statement "local_478 = 0;" (assignment_expression "local_478 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);" (assignment_expression "uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" identifier = (call_expression "getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" identifier (argument_list "(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" ( identifier , identifier , (string_literal ""dehHrRvV"" " string_content ") , (pointer_expression "&PTR_s_decode_00014020" & identifier) , identifier )))) ;) (expression_statement "puVar9 = PTR_optind_00013fec;" (assignment_expression "puVar9 = PTR_optind_00013fec" identifier = identifier) ;) (expression_statement "puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);" (assignment_expression "puVar6 = (uint *)((ulonglong)uVar11 >> 0x20)" identifier = (cast_expression "(uint *)((ulonglong)uVar11 >> 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar7 = (int)uVar11;" (assignment_expression "iVar7 = (int)uVar11" identifier = (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar7 == -1) break;" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar6 = extraout_ECX;" (assignment_expression "puVar6 = extraout_ECX" identifier = identifier) ;) (if_statement "if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }" if (parenthesized_expression "(0x37 < iVar7 - 0x3fU)" ( (binary_expression "0x37 < iVar7 - 0x3fU" number_literal < (binary_expression "iVar7 - 0x3fU" identifier - number_literal)) )) (compound_statement "{\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }" { (labeled_statement "LAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";" statement_identifier : (expression_statement "pcVar3 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar3 = "unrecognised option code 0x%x ??\n"" identifier = (string_literal ""unrecognised option code 0x%x ??\n"" " string_content escape_sequence ")) ;)) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" identifier = identifier) ;) (goto_statement "goto LAB_000112cd;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));" (assignment_expression "puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" identifier = (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" ( (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" * (cast_expression "(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" ( (binary_expression "&DAT_00012804 + (iVar7 - 0x3fU) * 4" (pointer_expression "&DAT_00012804" & identifier) + (binary_expression "(iVar7 - 0x3fU) * 4" (parenthesized_expression "(iVar7 - 0x3fU)" ( (binary_expression "iVar7 - 0x3fU" identifier - number_literal) )) * number_literal)) ))))) )))) ;) (switch_statement "switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" switch (parenthesized_expression "(iVar7)" ( identifier )) (compound_statement "{\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" { (case_statement "case 0x3f:" case number_literal :) (case_statement "case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;" case number_literal : (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );" (call_expression "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" identifier (argument_list "(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;)) (case_statement "default:\n      goto LAB_000112c4;" default : (goto_statement "goto LAB_000112c4;" goto statement_identifier ;)) (case_statement "case 0x48:\n      local_49f = '\x01';\n      break;" case number_literal : (expression_statement "local_49f = '\x01';" (assignment_expression "local_49f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;" case number_literal : (expression_statement "local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);" (assignment_expression "local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1)" identifier = (cast_expression "(undefined *)CONCAT31(local_4a4._1_3_,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_4a4._1_3_,1)" identifier (argument_list "(local_4a4._1_3_,1)" ( (field_expression "local_4a4._1_3_" identifier . field_identifier) , number_literal ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;" case number_literal : (expression_statement "local_494 = CONCAT31(local_494._1_3_,1);" (assignment_expression "local_494 = CONCAT31(local_494._1_3_,1)" identifier = (call_expression "CONCAT31(local_494._1_3_,1)" identifier (argument_list "(local_494._1_3_,1)" ( (field_expression "local_494._1_3_" identifier . field_identifier) , number_literal )))) ;) (break_statement "break;" break ;)) (case_statement "case 100:\n      local_49d = '\x01';\n      break;" case number_literal : (expression_statement "local_49d = '\x01';" (assignment_expression "local_49d = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      local_49e = '\x01';\n      break;" case number_literal : (expression_statement "local_49e = '\x01';" (assignment_expression "local_49e = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;" case number_literal : (expression_statement "local_49c = CONCAT31(local_49c._1_3_,1);" (assignment_expression "local_49c = CONCAT31(local_49c._1_3_,1)" identifier = (call_expression "CONCAT31(local_49c._1_3_,1)" identifier (argument_list "(local_49c._1_3_,1)" ( (field_expression "local_49c._1_3_" identifier . field_identifier) , number_literal )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);" case number_literal : (expression_statement "local_490 = (uint *)((int)local_490 + 1);" (assignment_expression "local_490 = (uint *)((int)local_490 + 1)" identifier = (cast_expression "(uint *)((int)local_490 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_490 + 1)" ( (binary_expression "(int)local_490 + 1" (cast_expression "(int)local_490" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_498 = (char *)CONCAT31(local_498._1_3_,1);" (assignment_expression "local_498 = (char *)CONCAT31(local_498._1_3_,1)" identifier = (cast_expression "(char *)CONCAT31(local_498._1_3_,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_498._1_3_,1)" identifier (argument_list "(local_498._1_3_,1)" ( (field_expression "local_498._1_3_" identifier . field_identifier) , number_literal ))))) ;)) })) })) (expression_statement "puVar8 = (uint *)0x0;" (assignment_expression "puVar8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar4 = *(uint **)PTR_optind_00013fec;" (assignment_expression "puVar4 = *(uint **)PTR_optind_00013fec" identifier = (pointer_expression "*(uint **)PTR_optind_00013fec" * (cast_expression "(uint **)PTR_optind_00013fec" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }" if (parenthesized_expression "((int)puVar4 < (int)local_484)" ( (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }" { (expression_statement "puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);" (assignment_expression "puVar8 = *(uint **)(local_488 + (int)puVar4 * 4)" identifier = (pointer_expression "*(uint **)(local_488 + (int)puVar4 * 4)" * (cast_expression "(uint **)(local_488 + (int)puVar4 * 4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_488 + (int)puVar4 * 4)" ( (binary_expression "local_488 + (int)puVar4 * 4" identifier + (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "puVar4 = (uint *)((int)puVar4 + 1);" (assignment_expression "puVar4 = (uint *)((int)puVar4 + 1)" identifier = (cast_expression "(uint *)((int)puVar4 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + 1)" ( (binary_expression "(int)puVar4 + 1" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(uint **)PTR_optind_00013fec = puVar4;" (assignment_expression "*(uint **)PTR_optind_00013fec = puVar4" (pointer_expression "*(uint **)PTR_optind_00013fec" * (cast_expression "(uint **)PTR_optind_00013fec" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }" if (parenthesized_expression "((int)puVar4 < (int)local_484)" ( (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }" { (do_statement "do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);" do (compound_statement "{\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      }" { (expression_statement "uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);" (assignment_expression "uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4)" identifier = (pointer_expression "*(undefined4 *)(local_488 + (int)puVar4 * 4)" * (cast_expression "(undefined4 *)(local_488 + (int)puVar4 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_488 + (int)puVar4 * 4)" ( (binary_expression "local_488 + (int)puVar4 * 4" identifier + (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "puVar8 = puVar6;" (assignment_expression "puVar8 = puVar6" identifier = identifier) ;) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" identifier = identifier) ;) (expression_statement "pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);" (call_expression "pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6)" identifier (argument_list "("Unexpected extra argument: %s\n",uVar5,puVar6)" ( (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "puVar4 = (uint *)(*(int *)puVar9 + 1);" (assignment_expression "puVar4 = (uint *)(*(int *)puVar9 + 1)" identifier = (cast_expression "(uint *)(*(int *)puVar9 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar9 + 1)" ( (binary_expression "*(int *)puVar9 + 1" (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "*(uint **)puVar9 = puVar4;" (assignment_expression "*(uint **)puVar9 = puVar4" (pointer_expression "*(uint **)puVar9" * (cast_expression "(uint **)puVar9" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "puVar6 = extraout_EDX;" (assignment_expression "puVar6 = extraout_EDX" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar4 < (int)local_484)" ( (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);" (call_expression "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8)" identifier (argument_list "("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8)" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") , identifier , identifier ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) })) (if_statement "if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" if (parenthesized_expression "((char)local_498 == '\0')" ( (binary_expression "(char)local_498 == '\0'" (cast_expression "(char)local_498" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }" { (if_statement "if ((char)local_494 != '\0') goto LAB_00011492;" if (parenthesized_expression "((char)local_494 != '\0')" ( (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011492;" goto statement_identifier ;)) }) (else_clause "else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" else (if_statement "if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" if (parenthesized_expression "((char)local_494 != '\0')" ( (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" { (expression_statement "puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (assignment_expression "puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier = (cast_expression "(uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (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 ") ))))) ;) (labeled_statement "LAB_00011492:\n    puVar9 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "pr2serr("Version: %s\n","1.27 20180628",puVar4);" (call_expression "pr2serr("Version: %s\n","1.27 20180628",puVar4)" identifier (argument_list "("Version: %s\n","1.27 20180628",puVar4)" ( (string_literal ""Version: %s\n"" " string_content escape_sequence ") , (string_literal ""1.27 20180628"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })))) (if_statement "if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" if (parenthesized_expression "(puVar8 == (uint *)0x0)" ( (binary_expression "puVar8 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" { (expression_statement "pcVar3 = "Missing device name!\n\n";" (assignment_expression "pcVar3 = "Missing device name!\n\n"" identifier = (string_literal ""Missing device name!\n\n"" " string_content escape_sequence escape_sequence ")) ;) (labeled_statement "LAB_000112cd:\n    puVar9 = (undefined *)0x1;" statement_identifier : (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pr2serr(pcVar3);" (call_expression "pr2serr(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );" (call_expression "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" identifier (argument_list "(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) (if_statement "if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" if (parenthesized_expression "(((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0))" ( (binary_expression "((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)" (parenthesized_expression "((char)local_49c != '\0')" ( (binary_expression "(char)local_49c != '\0'" (cast_expression "(char)local_49c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)" ( (comma_expression "puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0" (assignment_expression "puVar4 = (uint *)sg_set_binary_mode(1)" identifier = (cast_expression "(uint *)sg_set_binary_mode(1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_set_binary_mode(1)" identifier (argument_list "(1)" ( number_literal ))))) , (binary_expression "(int)puVar4 < 0" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" { (expression_statement "puVar9 = (undefined *)0xf;" (assignment_expression "puVar9 = (undefined *)0xf" identifier = (cast_expression "(undefined *)0xf" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (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 ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);" (assignment_expression "local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490)" identifier = (call_expression "sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490)" identifier (argument_list "(puVar8,(uint)local_4a4 & 0xff,local_490)" ( identifier , (binary_expression "(uint)local_4a4 & 0xff" (cast_expression "(uint)local_4a4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) , identifier )))) ;) (if_statement "if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" if (parenthesized_expression "((int)local_494 < 0)" ( (binary_expression "(int)local_494 < 0" (cast_expression "(int)local_494" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }" { (expression_statement "iVar7 = -local_494;" (assignment_expression "iVar7 = -local_494" identifier = (unary_expression "-local_494" - identifier)) ;) (if_statement "if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }" if (parenthesized_expression "(local_490 != (uint *)0x0)" ( (binary_expression "local_490 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }" { (expression_statement "uVar5 = safe_strerror(iVar7);" (assignment_expression "uVar5 = safe_strerror(iVar7)" identifier = (call_expression "safe_strerror(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "pr2serr("open error: %s: %s\n",puVar8,uVar5);" (call_expression "pr2serr("open error: %s: %s\n",puVar8,uVar5)" identifier (argument_list "("open error: %s: %s\n",puVar8,uVar5)" ( (string_literal ""open error: %s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "puVar9 = (undefined *)sg_convert_errno(iVar7);" (assignment_expression "puVar9 = (undefined *)sg_convert_errno(iVar7)" identifier = (cast_expression "(undefined *)sg_convert_errno(iVar7)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar7)" identifier (argument_list "(iVar7)" ( identifier ))))) ;) }) (else_clause "else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" else (compound_statement "{\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" { (expression_statement "puVar6 = &local_424;" (assignment_expression "puVar6 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (for_statement "for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }" for ( (assignment_expression "iVar7 = 0x100" identifier = number_literal) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = puVar6 + (uint)bVar10 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar10 * -2 + 1" identifier = (binary_expression "puVar6 + (uint)bVar10 * -2 + 1" (binary_expression "puVar6 + (uint)bVar10 * -2" identifier + (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puStack_4b4 = (uint *)0x0;" (assignment_expression "puStack_4b4 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6 = (uint *)0x0;" (assignment_expression "puVar6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_484 = &local_424;" (assignment_expression "local_484 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (expression_statement "puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);" (assignment_expression "puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" identifier = (cast_expression "(undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" identifier (argument_list "(local_494,&local_424,0x400,local_49e,1,local_490,0)" ( identifier , (pointer_expression "&local_424" & identifier) , number_literal , identifier , number_literal , identifier , number_literal ))))) ;) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (if_statement "if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" if (parenthesized_expression "(puVar9 == (undefined *)0x0)" ( (binary_expression "puVar9 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }" { (expression_statement "puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);" (assignment_expression "puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" identifier = (cast_expression "(uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" ( (binary_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4" (parenthesized_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18)" ( (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8" (binary_expression "local_424 >> 0x18" identifier >> number_literal) | (binary_expression "(local_424 & 0xff0000) >> 8" (parenthesized_expression "(local_424 & 0xff0000)" ( (binary_expression "local_424 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_424 & 0xff00) << 8" (parenthesized_expression "(local_424 & 0xff00)" ( (binary_expression "local_424 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_424 << 0x18" identifier << number_literal)) )) + number_literal) )))) ;) (expression_statement "local_48c = puVar4;" (assignment_expression "local_48c = puVar4" identifier = identifier) ;) (if_statement "if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" if (parenthesized_expression "(0x400 < (int)puVar4)" ( (binary_expression "0x400 < (int)puVar4" number_literal < (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" { (expression_statement "puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");" (assignment_expression "puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" identifier = (cast_expression "(uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr("  <<report too long for internal buffer, output truncated\n")" identifier (argument_list "("  <<report too long for internal buffer, output truncated\n")" ( (string_literal ""  <<report too long for internal buffer, output truncated\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "local_48c = (uint *)0x400;" (assignment_expression "local_48c = (uint *)0x400" identifier = (cast_expression "(uint *)0x400" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "puVar8 = local_484;" (assignment_expression "puVar8 = local_484" identifier = identifier) ;) (if_statement "if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" if (parenthesized_expression "((char)local_49c == '\0')" ( (binary_expression "(char)local_49c == '\0'" (cast_expression "(char)local_49c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }" { (if_statement "if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" if (parenthesized_expression "(local_490 == (uint *)0x0)" ( (binary_expression "local_490 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }" { (if_statement "if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" if (parenthesized_expression "(local_49f == '\0')" ( (binary_expression "local_49f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" { (labeled_statement "LAB_00011645:\n            puts("Report target port groups:");" statement_identifier : (expression_statement "puts("Report target port groups:");" (call_expression "puts("Report target port groups:")" identifier (argument_list "("Report target port groups:")" ( (string_literal ""Report target port groups:"" " string_content ") ))) ;)) (if_statement "if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" if (parenthesized_expression "(local_49e == '\0')" ( (binary_expression "local_49e == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              puVar8 = (uint *)&local_420;\n            }" { (expression_statement "puVar8 = (uint *)&local_420;" (assignment_expression "puVar8 = (uint *)&local_420" identifier = (cast_expression "(uint *)&local_420" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_420" & identifier))) ;) }) (else_clause "else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" else (compound_statement "{\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" { (if_statement "if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }" if (parenthesized_expression "((local_420 & 0x70) != 0x10)" ( (binary_expression "(local_420 & 0x70) != 0x10" (parenthesized_expression "(local_420 & 0x70)" ( (binary_expression "local_420 & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }" { (expression_statement "pr2serr("   <<invalid extended header format\n");" (call_expression "pr2serr("   <<invalid extended header format\n")" identifier (argument_list "("   <<invalid extended header format\n")" ( (string_literal ""   <<invalid extended header format\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (goto_statement "goto LAB_00011439;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)(uint)local_41f;" (assignment_expression "puVar6 = (uint *)(uint)local_41f" identifier = (cast_expression "(uint *)(uint)local_41f" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_41f" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar8 = local_41c;" (assignment_expression "puVar8 = local_41c" identifier = identifier) ;) (expression_statement "puStack_4b4 = extraout_ECX_00;" (assignment_expression "puStack_4b4 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "__printf_chk(1,"  Implicit transition time: %d\n",puVar6);" (call_expression "__printf_chk(1,"  Implicit transition time: %d\n",puVar6)" identifier (argument_list "(1,"  Implicit transition time: %d\n",puVar6)" ( number_literal , (string_literal ""  Implicit transition time: %d\n"" " string_content escape_sequence ") , identifier ))) ;) }))) (expression_statement "local_488 = &DAT_0001222b;" (assignment_expression "local_488 = &DAT_0001222b" identifier = (pointer_expression "&DAT_0001222b" & identifier)) ;) (expression_statement "local_4a4 = puVar9;" (assignment_expression "local_4a4 = puVar9" identifier = identifier) ;) (for_statement "for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }" for ( (assignment_expression "local_49c = (int)puVar8 - (int)local_484" identifier = (binary_expression "(int)puVar8 - (int)local_484" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier))) ; (comma_expression "puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c" (assignment_expression "puVar9 = local_4a4" identifier = identifier) , (binary_expression "(int)local_49c < (int)local_48c" (cast_expression "(int)local_49c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_48c" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "local_49c = local_49c + (int)(local_484 + 2)" identifier = (binary_expression "local_49c + (int)(local_484 + 2)" identifier + (cast_expression "(int)(local_484 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_484 + 2)" ( (binary_expression "local_484 + 2" identifier + number_literal) ))))) ) (compound_statement "{\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }" { (expression_statement "pcVar3 = "0x%02x";" (assignment_expression "pcVar3 = "0x%02x"" identifier = (string_literal ""0x%02x"" " string_content ")) ;) (expression_statement "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);" (call_expression "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7)" identifier (argument_list "(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7)" ( number_literal , (string_literal ""  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n"" " string_content escape_sequence ") , (binary_expression "*(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar8 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar8 + 2)" * (cast_expression "(ushort *)((int)puVar8 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 2)" ( (binary_expression "(int)puVar8 + 2" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((int)puVar8 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar8 + 2)" * (cast_expression "(ushort *)((int)puVar8 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 2)" ( (binary_expression "(int)puVar8 + 2" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal)) , (binary_expression "(uint)(int)(char)(byte)*puVar8 >> 0x1f" (binary_expression "(uint)(int)(char)(byte)*puVar8" (call_expression "(uint)(int)(char)(byte)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier ))) (argument_list "(byte)" ( identifier ))) * identifier) >> number_literal) , (binary_expression "(byte)*puVar8 >> 4 & 7" (binary_expression "(byte)*puVar8 >> 4" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"    target port group asymmetric access state : ",puVar6);" (call_expression "__printf_chk(1,"    target port group asymmetric access state : ",puVar6)" identifier (argument_list "(1,"    target port group asymmetric access state : ",puVar6)" ( number_literal , (string_literal ""    target port group asymmetric access state : "" " string_content ") , identifier ))) ;) (expression_statement "__printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);" (call_expression "__printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf)" identifier (argument_list "(1,"0x%02x",(byte)*puVar8 & 0xf)" ( number_literal , (string_literal ""0x%02x"" " string_content ") , (binary_expression "(byte)*puVar8 & 0xf" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) ))) ;) (if_statement "if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" if (parenthesized_expression "(local_49d != '\0')" ( (binary_expression "local_49d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" { (expression_statement "puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);" (assignment_expression "puStack_4b4 = (uint *)((byte)*puVar8 & 0xf)" identifier = (cast_expression "(uint *)((byte)*puVar8 & 0xf)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte)*puVar8 & 0xf)" ( (binary_expression "(byte)*puVar8 & 0xf" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )))) ;) (expression_statement "iVar7 = (int)puStack_4b4 * 4;" (assignment_expression "iVar7 = (int)puStack_4b4 * 4" identifier = (binary_expression "(int)puStack_4b4 * 4" (cast_expression "(int)puStack_4b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (switch_statement "switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" switch (parenthesized_expression "(puStack_4b4)" ( identifier )) (compound_statement "{\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" { (case_statement "case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "puStack_4b4 = extraout_EDX_00;" (assignment_expression "puStack_4b4 = extraout_EDX_00" identifier = identifier) ;) (expression_statement "__printf_chk(1," (active/optimized)",extraout_EDX_00);" (call_expression "__printf_chk(1," (active/optimized)",extraout_EDX_00)" identifier (argument_list "(1," (active/optimized)",extraout_EDX_00)" ( number_literal , (string_literal "" (active/optimized)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (active/non optimized)",puStack_4b4);" (call_expression "__printf_chk(1," (active/non optimized)",puStack_4b4)" identifier (argument_list "(1," (active/non optimized)",puStack_4b4)" ( number_literal , (string_literal "" (active/non optimized)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (standby)",puStack_4b4);" (call_expression "__printf_chk(1," (standby)",puStack_4b4)" identifier (argument_list "(1," (standby)",puStack_4b4)" ( number_literal , (string_literal "" (standby)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (unavailable)",puStack_4b4);" (call_expression "__printf_chk(1," (unavailable)",puStack_4b4)" identifier (argument_list "(1," (unavailable)",puStack_4b4)" ( number_literal , (string_literal "" (unavailable)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (logical block dependent)",puStack_4b4);" (call_expression "__printf_chk(1," (logical block dependent)",puStack_4b4)" identifier (argument_list "(1," (logical block dependent)",puStack_4b4)" ( number_literal , (string_literal "" (logical block dependent)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;" default : (expression_statement "puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));" (assignment_expression "puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" identifier = (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_000128e4 + iVar7)" * (cast_expression "(int *)(&DAT_000128e4 + iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000128e4 + iVar7)" ( (binary_expression "&DAT_000128e4 + iVar7" (pointer_expression "&DAT_000128e4" & identifier) + identifier) ))))) )))) ;) (expression_statement "__printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));" (call_expression "__printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)))" identifier (argument_list "(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)))" ( number_literal , (string_literal "" (unknown)"" " string_content ") , (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_000128e4 + iVar7)" * (cast_expression "(int *)(&DAT_000128e4 + iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000128e4 + iVar7)" ( (binary_expression "&DAT_000128e4 + iVar7" (pointer_expression "&DAT_000128e4" & identifier) + identifier) ))))) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0xe" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (offline)",puStack_4b4);" (call_expression "__printf_chk(1," (offline)",puStack_4b4)" identifier (argument_list "(1," (offline)",puStack_4b4)" ( number_literal , (string_literal "" (offline)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);" case (cast_expression "(uint *)0xf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (transitioning between states)",puStack_4b4);" (call_expression "__printf_chk(1," (transitioning between states)",puStack_4b4)" identifier (argument_list "(1," (transitioning between states)",puStack_4b4)" ( number_literal , (string_literal "" (transitioning between states)"" " string_content ") , identifier ))) ;)) })) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;" (call_expression "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)" identifier (argument_list "(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)" ( number_literal , (string_literal ""    T_SUP : %d, "" " string_content ") , (binary_expression "(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f" (binary_expression "(uint)(int)(char)*(byte *)((int)puVar8 + 1)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))) ;) (expression_statement "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);" (call_expression "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1)" identifier (argument_list "(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1)" ( number_literal , (string_literal ""O_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 6 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 6" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);" (call_expression "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1)" identifier (argument_list "(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1)" ( number_literal , (string_literal ""LBD_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 4 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 4" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);" (call_expression "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1)" identifier (argument_list "(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1)" ( number_literal , (string_literal ""U_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 3 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 3" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);" (call_expression "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1)" identifier (argument_list "(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1)" ( number_literal , (string_literal ""S_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 2 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 2" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);" (call_expression "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1)" identifier (argument_list "(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1)" ( number_literal , (string_literal ""AN_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 1 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 1" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);" (call_expression "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1)" identifier (argument_list "(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1)" ( number_literal , (string_literal ""AO_SUP : %d\n"" " string_content escape_sequence ") , (binary_expression "*(byte *)((int)puVar8 + 1) & 1" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"    status code : ");" (call_expression "__printf_chk(1,"    status code : ")" identifier (argument_list "(1,"    status code : ")" ( number_literal , (string_literal ""    status code : "" " string_content ") ))) ;) (expression_statement "puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);" (assignment_expression "puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5)" identifier = (binary_expression "(uint *)(uint)*(byte *)((int)puVar8 + 5)" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar8 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 5)" ( (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "__printf_chk(1,"0x%02x",puVar6);" (call_expression "__printf_chk(1,"0x%02x",puVar6)" identifier (argument_list "(1,"0x%02x",puVar6)" ( number_literal , (string_literal ""0x%02x"" " string_content ") , identifier ))) ;) (if_statement "if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" if (parenthesized_expression "(local_49d != '\0')" ( (binary_expression "local_49d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" { (expression_statement "bVar10 = *(byte *)((int)puVar8 + 5);" (assignment_expression "bVar10 = *(byte *)((int)puVar8 + 5)" identifier = (pointer_expression "*(byte *)((int)puVar8 + 5)" * (cast_expression "(byte *)((int)puVar8 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 5)" ( (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(uint)bVar10;" (assignment_expression "puVar6 = (uint *)(uint)bVar10" identifier = (cast_expression "(uint *)(uint)bVar10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" identifier = identifier) ;) (if_statement "if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar10 == 1)" ( (binary_expression "bVar10 == 1" identifier == number_literal) )) (compound_statement "{\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }" { (expression_statement "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);" (call_expression "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6)" identifier (argument_list "(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6)" ( number_literal , (string_literal "" (target port asym. state changed by SET TARGET PORT GROUPS command)"" " string_content ") , identifier ))) ;) }) (else_clause "else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (if_statement "if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar10 == 0)" ( (binary_expression "bVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                  __printf_chk(1," (no status available)",puVar6);\n                }" { (expression_statement "__printf_chk(1," (no status available)",puVar6);" (call_expression "__printf_chk(1," (no status available)",puVar6)" identifier (argument_list "(1," (no status available)",puVar6)" ( number_literal , (string_literal "" (no status available)"" " string_content ") , identifier ))) ;) }) (else_clause "else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (if_statement "if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar10 == 2)" ( (binary_expression "bVar10 == 2" identifier == number_literal) )) (compound_statement "{\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }" { (expression_statement "puStack_4b4 = (uint *)pcVar3;" (assignment_expression "puStack_4b4 = (uint *)pcVar3" identifier = (cast_expression "(uint *)pcVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");" (call_expression "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" identifier (argument_list "(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" ( number_literal , (string_literal "" (target port asym. state changed by implicit lu behaviour)"" " string_content ") , (string_literal ""0x%02x"" " string_content ") ))) ;) (expression_statement "puVar6 = (uint *)pcVar3;" (assignment_expression "puVar6 = (uint *)pcVar3" identifier = (cast_expression "(uint *)pcVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (compound_statement "{\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" { (expression_statement "puVar6 = extraout_ECX_01;" (assignment_expression "puVar6 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "puStack_4b4 = extraout_ECX_01;" (assignment_expression "puStack_4b4 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "__printf_chk(1," (unknown status code)",extraout_ECX_01);" (call_expression "__printf_chk(1," (unknown status code)",extraout_ECX_01)" identifier (argument_list "(1," (unknown status code)",extraout_ECX_01)" ( number_literal , (string_literal "" (unknown status code)"" " string_content ") , identifier ))) ;) }))))))) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "__printf_chk(1,"    vendor unique status : ",puVar6);" (call_expression "__printf_chk(1,"    vendor unique status : ",puVar6)" identifier (argument_list "(1,"    vendor unique status : ",puVar6)" ( number_literal , (string_literal ""    vendor unique status : "" " string_content ") , identifier ))) ;) (expression_statement "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));" (call_expression "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6))" identifier (argument_list "(1,&DAT_00012231,*(byte *)((int)puVar8 + 6))" ( number_literal , (pointer_expression "&DAT_00012231" & identifier) , (pointer_expression "*(byte *)((int)puVar8 + 6)" * (cast_expression "(byte *)((int)puVar8 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 6)" ( (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "__printf_chk(1,"    target port count : ");" (call_expression "__printf_chk(1,"    target port count : ")" identifier (argument_list "(1,"    target port count : ")" ( number_literal , (string_literal ""    target port count : "" " string_content ") ))) ;) (expression_statement "puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);" (assignment_expression "puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7)" identifier = (binary_expression "(uint *)(uint)*(byte *)((int)puVar8 + 7)" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 7)" ( (binary_expression "(int)puVar8 + 7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar6 = puVar4;" (assignment_expression "puVar6 = puVar4" identifier = identifier) ;) (expression_statement "__printf_chk(1,"%02x\n",puVar4);" (call_expression "__printf_chk(1,"%02x\n",puVar4)" identifier (argument_list "(1,"%02x\n",puVar4)" ( number_literal , (string_literal ""%02x\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_484 = (uint *)((int)puVar4 * 4);" (assignment_expression "local_484 = (uint *)((int)puVar4 * 4)" identifier = (cast_expression "(uint *)((int)puVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 * 4)" ( (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "local_498 = "    Relative target port ids:";" (assignment_expression "local_498 = "    Relative target port ids:"" identifier = (string_literal ""    Relative target port ids:"" " string_content ")) ;) (expression_statement "puVar4 = extraout_ECX_02;" (assignment_expression "puVar4 = extraout_ECX_02" identifier = identifier) ;) (for_statement "for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }" for ( (assignment_expression "iVar7 = 0" identifier = number_literal) ; (binary_expression "iVar7 < (int)local_484" identifier < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) ; (assignment_expression "iVar7 = iVar7 + 4" identifier = (binary_expression "iVar7 + 4" identifier + number_literal)) ) (compound_statement "{\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }" { (if_statement "if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }" { (expression_statement "puts(local_498);" (call_expression "puts(local_498)" identifier (argument_list "(local_498)" ( identifier ))) ;) (expression_statement "puVar4 = extraout_ECX_04;" (assignment_expression "puVar4 = extraout_ECX_04" identifier = identifier) ;) })) (expression_statement "uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);" (assignment_expression "uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10)" identifier = (pointer_expression "*(ushort *)((int)puVar8 + iVar7 + 10)" * (cast_expression "(ushort *)((int)puVar8 + iVar7 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + iVar7 + 10)" ( (binary_expression "(int)puVar8 + iVar7 + 10" (binary_expression "(int)puVar8 + iVar7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);" (assignment_expression "puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" identifier = (cast_expression "(uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(uVar1 << 8 | uVar1 >> 8)" ( (binary_expression "uVar1 << 8 | uVar1 >> 8" (binary_expression "uVar1 << 8" identifier << number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal)) ))))) ;) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "__printf_chk(1,local_488,puVar6);" (call_expression "__printf_chk(1,local_488,puVar6)" identifier (argument_list "(1,local_488,puVar6)" ( number_literal , identifier , identifier ))) ;) (expression_statement "puVar4 = extraout_ECX_03;" (assignment_expression "puVar4 = extraout_ECX_03" identifier = identifier) ;) })) (expression_statement "puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));" (assignment_expression "puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2))" identifier = (cast_expression "(uint *)((int)puVar8 + (int)(local_484 + 2))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + (int)(local_484 + 2))" ( (binary_expression "(int)puVar8 + (int)(local_484 + 2)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(local_484 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_484 + 2)" ( (binary_expression "local_484 + 2" identifier + number_literal) )))) )))) ;) })) (goto_statement "goto LAB_00011439;" goto statement_identifier ;) })) }) (else_clause "else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" else (compound_statement "{\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" { (expression_statement "puVar6 = local_48c;" (assignment_expression "puVar6 = local_48c" identifier = identifier) ;) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "__printf_chk(1,"Report list length = %d\n",local_48c);" (call_expression "__printf_chk(1,"Report list length = %d\n",local_48c)" identifier (argument_list "(1,"Report list length = %d\n",local_48c)" ( number_literal , (string_literal ""Report list length = %d\n"" " string_content escape_sequence ") , identifier ))) ;) (if_statement "if (local_49f == '\0') goto LAB_00011645;" if (parenthesized_expression "(local_49f == '\0')" ( (binary_expression "local_49f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011645;" goto statement_identifier ;)) (expression_statement "puts("\nOutput response in hex:");" (call_expression "puts("\nOutput response in hex:")" identifier (argument_list "("\nOutput response in hex:")" ( (string_literal ""\nOutput response in hex:"" " escape_sequence string_content ") ))) ;) }))) (expression_statement "puStack_4b4 = &local_424;" (assignment_expression "puStack_4b4 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (expression_statement "hex2stdout(local_484,local_48c,1);" (call_expression "hex2stdout(local_484,local_48c,1)" identifier (argument_list "(local_484,local_48c,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) }) (else_clause "else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" else (compound_statement "{\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" { (expression_statement "local_488 = puVar9;" (assignment_expression "local_488 = puVar9" identifier = identifier) ;) (for_statement "for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }" for ( (assignment_expression "iVar7 = 0" identifier = number_literal) ; (comma_expression "puVar9 = local_488, iVar7 < (int)local_48c" (assignment_expression "puVar9 = local_488" identifier = identifier) , (binary_expression "iVar7 < (int)local_48c" identifier < (cast_expression "(int)local_48c" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ) (compound_statement "{\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }" { (expression_statement "putchar((uint)*(byte *)((int)puVar8 + iVar7));" (call_expression "putchar((uint)*(byte *)((int)puVar8 + iVar7))" identifier (argument_list "((uint)*(byte *)((int)puVar8 + iVar7))" ( (binary_expression "(uint)*(byte *)((int)puVar8 + iVar7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar8 + iVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + iVar7)" ( (binary_expression "(int)puVar8 + iVar7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ))) ;) })) }))) (labeled_statement "LAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);" statement_identifier : (expression_statement "iVar7 = sg_cmds_close_device(local_494);" (assignment_expression "iVar7 = sg_cmds_close_device(local_494)" identifier = (call_expression "sg_cmds_close_device(local_494)" identifier (argument_list "(local_494)" ( identifier )))) ;)) (if_statement "if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }" { (expression_statement "puVar8 = (uint *)-iVar7;" (assignment_expression "puVar8 = (uint *)-iVar7" identifier = (cast_expression "(uint *)-iVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-iVar7" - identifier))) ;) (expression_statement "uVar5 = safe_strerror(puVar8);" (assignment_expression "uVar5 = safe_strerror(puVar8)" identifier = (call_expression "safe_strerror(puVar8)" identifier (argument_list "(puVar8)" ( identifier )))) ;) (expression_statement "pr2serr("close error: %s\n",uVar5);" (call_expression "pr2serr("close error: %s\n",uVar5)" identifier (argument_list "("close error: %s\n",uVar5)" ( (string_literal ""close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "puVar9 = (undefined *)sg_convert_errno(puVar8);" (assignment_expression "puVar9 = (undefined *)sg_convert_errno(puVar8)" identifier = (cast_expression "(undefined *)sg_convert_errno(puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))))) ;) })) }) (else_clause "else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" else (compound_statement "{\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" { (if_statement "if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" if (parenthesized_expression "(puVar9 == (undefined *)0x9)" ( (binary_expression "puVar9 == (undefined *)0x9" identifier == (cast_expression "(undefined *)0x9" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("Report Target Port Groups command not supported\n");\n      }" { (expression_statement "pr2serr("Report Target Port Groups command not supported\n");" (call_expression "pr2serr("Report Target Port Groups command not supported\n")" identifier (argument_list "("Report Target Port Groups command not supported\n")" ( (string_literal ""Report Target Port Groups command not supported\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" else (if_statement "if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" if (parenthesized_expression "(puVar9 == (undefined *)0x5)" ( (binary_expression "puVar9 == (undefined *)0x5" identifier == (cast_expression "(undefined *)0x5" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }" { (expression_statement "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;" (call_expression "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")" identifier (argument_list "("bad field in Report Target Port Groups cdb including unsupported service action\n")" ( (string_literal ""bad field in Report Target Port Groups cdb including unsupported service action\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" else (compound_statement "{\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" { (expression_statement "puStack_4b4 = local_490;" (assignment_expression "puStack_4b4 = local_490" identifier = identifier) ;) (expression_statement "sg_get_category_sense_str(puVar9,0x50,local_474);" (call_expression "sg_get_category_sense_str(puVar9,0x50,local_474)" identifier (argument_list "(puVar9,0x50,local_474)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pr2serr("Report Target Port Groups: %s\n",local_474);" (call_expression "pr2serr("Report Target Port Groups: %s\n",local_474)" identifier (argument_list "("Report Target Port Groups: %s\n",local_474)" ( (string_literal ""Report Target Port Groups: %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "puVar8 = local_474;" (assignment_expression "puVar8 = local_474" identifier = identifier) ;) }))))) (expression_statement "iVar7 = sg_cmds_close_device(local_494);" (assignment_expression "iVar7 = sg_cmds_close_device(local_494)" identifier = (call_expression "sg_cmds_close_device(local_494)" identifier (argument_list "(local_494)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }" { (expression_statement "uVar5 = safe_strerror(-iVar7);" (assignment_expression "uVar5 = safe_strerror(-iVar7)" identifier = (call_expression "safe_strerror(-iVar7)" identifier (argument_list "(-iVar7)" ( (unary_expression "-iVar7" - identifier) )))) ;) (expression_statement "pr2serr("close error: %s\n",uVar5);" (call_expression "pr2serr("close error: %s\n",uVar5)" identifier (argument_list "("close error: %s\n",uVar5)" ( (string_literal ""close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) })) }))) }))) (if_statement "if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" if (parenthesized_expression "((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'))" ( (binary_expression "(local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')" (parenthesized_expression "(local_490 == (uint *)0x0)" ( (binary_expression "local_490 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')" ( (comma_expression "puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'" (assignment_expression "puStack_4b4 = puVar8" identifier = identifier) , (comma_expression "cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'" (assignment_expression "cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8)" identifier = (call_expression "sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8)" identifier (argument_list "("sg_rtpg failed: ",puVar9,puVar8)" ( (string_literal ""sg_rtpg failed: "" " string_content ") , identifier , identifier )))) , (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" { (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 ") ))) ;) })) (if_statement "if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }" if (parenthesized_expression "((int)puVar9 < 0)" ( (binary_expression "(int)puVar9 < 0" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    puVar9 = (undefined *)0x63;\n  }" { (expression_statement "puVar9 = (undefined *)0x63;" (assignment_expression "puVar9 = (undefined *)0x63" identifier = (cast_expression "(undefined *)0x63" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (labeled_statement "LAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }" statement_identifier : (if_statement "if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }" if (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }" { (expression_statement "puStack_4b4 = (uint *)0x11b04;" (assignment_expression "puStack_4b4 = (uint *)0x11b04" identifier = (cast_expression "(uint *)0x11b04" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar11 = FUN_00011d00();" (assignment_expression "uVar11 = FUN_00011d00()" identifier = (call_expression "FUN_00011d00()" identifier (argument_list "()" ( )))) ;) (expression_statement "puStack_4b4 = (uint *)uVar11;" (assignment_expression "puStack_4b4 = (uint *)uVar11" identifier = (cast_expression "(uint *)uVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);" (call_expression "__libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4)" identifier (argument_list "(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)((ulonglong)uVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "&puStack_4b4" & identifier) ))) ;) (do_statement "do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );" do (compound_statement "{\n                    /* WARNING: Do nothing block with infinite loop */\n    }" { comment }) while (parenthesized_expression "( true )" ( true )) ;) }))) (return_statement "return puVar9;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint main(int argc,char **argv)\n\n{\n  ushort uVar1;\n  undefined *puVar2;\n  char cVar3;\n  char *pcVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  uint *extraout_ECX;\n  uint *puVar7;\n  int iVar8;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar9;\n  char **ppcVar10;\n  int in_GS_OFFSET;\n  byte bVar11;\n  undefined8 uVar12;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  char **local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  char **local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  int *local_18;\n  \n  bVar11 = 0;\n  local_18 = &argc;\n  local_484 = (uint *)argc;\n  local_488 = argv;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (char **)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);\n    puVar2 = PTR_optind_00013fec;\n    puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);\n    iVar8 = (int)uVar12;\n    if (iVar8 == -1) break;\n    puVar7 = extraout_ECX;\n    if (0x37 < iVar8 - 0x3fU) {\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }\n    puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);\n    switch(iVar8) {\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar9 = (uint *)0x0;\n  puVar5 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar5 < (int)local_484) {\n    puVar9 = (uint *)local_488[(int)puVar5];\n    puVar5 = (uint *)((int)puVar5 + 1);\n    *(uint **)PTR_optind_00013fec = puVar5;\n    if ((int)puVar5 < (int)local_484) {\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }\n  if (puVar9 == (uint *)0x0) {\n    pcVar4 = "Missing device name!\n\n";\nLAB_000112cd:\n    ppcVar10 = (char **)0x1;\n    pr2serr(pcVar4);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)) {\n    ppcVar10 = (char **)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar5;\n  local_494 = sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar8 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }\n    ppcVar10 = (char **)sg_convert_errno(iVar8);\n  }\n  else {\n    puVar7 = &local_424;\n    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar7 = (uint *)0x0;\n    local_484 = &local_424;\n    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar9 = &local_424;\n    if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)ppcVar10 < 0) {\n    ppcVar10 = (char **)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar12 = __stack_chk_fail_local();\n    puStack_4b4 = (uint *)uVar12;\n    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }\n  return (int)ppcVar10;\n}\n\n" comment comment comment (function_definition "int main(int argc,char **argv)\n\n{\n  ushort uVar1;\n  undefined *puVar2;\n  char cVar3;\n  char *pcVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  uint *extraout_ECX;\n  uint *puVar7;\n  int iVar8;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar9;\n  char **ppcVar10;\n  int in_GS_OFFSET;\n  byte bVar11;\n  undefined8 uVar12;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  char **local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  char **local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  int *local_18;\n  \n  bVar11 = 0;\n  local_18 = &argc;\n  local_484 = (uint *)argc;\n  local_488 = argv;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (char **)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);\n    puVar2 = PTR_optind_00013fec;\n    puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);\n    iVar8 = (int)uVar12;\n    if (iVar8 == -1) break;\n    puVar7 = extraout_ECX;\n    if (0x37 < iVar8 - 0x3fU) {\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }\n    puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);\n    switch(iVar8) {\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar9 = (uint *)0x0;\n  puVar5 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar5 < (int)local_484) {\n    puVar9 = (uint *)local_488[(int)puVar5];\n    puVar5 = (uint *)((int)puVar5 + 1);\n    *(uint **)PTR_optind_00013fec = puVar5;\n    if ((int)puVar5 < (int)local_484) {\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }\n  if (puVar9 == (uint *)0x0) {\n    pcVar4 = "Missing device name!\n\n";\nLAB_000112cd:\n    ppcVar10 = (char **)0x1;\n    pr2serr(pcVar4);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)) {\n    ppcVar10 = (char **)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar5;\n  local_494 = sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar8 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }\n    ppcVar10 = (char **)sg_convert_errno(iVar8);\n  }\n  else {\n    puVar7 = &local_424;\n    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar7 = (uint *)0x0;\n    local_484 = &local_424;\n    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar9 = &local_424;\n    if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)ppcVar10 < 0) {\n    ppcVar10 = (char **)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar12 = __stack_chk_fail_local();\n    puStack_4b4 = (uint *)uVar12;\n    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }\n  return (int)ppcVar10;\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  ushort uVar1;\n  undefined *puVar2;\n  char cVar3;\n  char *pcVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  uint *extraout_ECX;\n  uint *puVar7;\n  int iVar8;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar9;\n  char **ppcVar10;\n  int in_GS_OFFSET;\n  byte bVar11;\n  undefined8 uVar12;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  char **local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  char **local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  int *local_18;\n  \n  bVar11 = 0;\n  local_18 = &argc;\n  local_484 = (uint *)argc;\n  local_488 = argv;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (char **)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);\n    puVar2 = PTR_optind_00013fec;\n    puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);\n    iVar8 = (int)uVar12;\n    if (iVar8 == -1) break;\n    puVar7 = extraout_ECX;\n    if (0x37 < iVar8 - 0x3fU) {\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }\n    puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);\n    switch(iVar8) {\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar9 = (uint *)0x0;\n  puVar5 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar5 < (int)local_484) {\n    puVar9 = (uint *)local_488[(int)puVar5];\n    puVar5 = (uint *)((int)puVar5 + 1);\n    *(uint **)PTR_optind_00013fec = puVar5;\n    if ((int)puVar5 < (int)local_484) {\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }\n  if (puVar9 == (uint *)0x0) {\n    pcVar4 = "Missing device name!\n\n";\nLAB_000112cd:\n    ppcVar10 = (char **)0x1;\n    pr2serr(pcVar4);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)) {\n    ppcVar10 = (char **)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar5;\n  local_494 = sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar8 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }\n    ppcVar10 = (char **)sg_convert_errno(iVar8);\n  }\n  else {\n    puVar7 = &local_424;\n    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar7 = (uint *)0x0;\n    local_484 = &local_424;\n    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar9 = &local_424;\n    if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)ppcVar10 < 0) {\n    ppcVar10 = (char **)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar12 = __stack_chk_fail_local();\n    puStack_4b4 = (uint *)uVar12;\n    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }\n  return (int)ppcVar10;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "uint *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "uint *extraout_ECX_02;" type_identifier (pointer_declarator "*extraout_ECX_02" * identifier) ;) (declaration "uint *extraout_ECX_03;" type_identifier (pointer_declarator "*extraout_ECX_03" * identifier) ;) (declaration "uint *extraout_ECX_04;" type_identifier (pointer_declarator "*extraout_ECX_04" * identifier) ;) (declaration "uint *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "uint *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char **ppcVar10;" primitive_type (pointer_declarator "**ppcVar10" * (pointer_declarator "*ppcVar10" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "uint *puStack_4b4;" type_identifier (pointer_declarator "*puStack_4b4" * identifier) ;) (declaration "undefined4 uStack_4b0;" type_identifier identifier ;) (declaration "undefined1 auStack_4ac [8];" type_identifier (array_declarator "auStack_4ac [8]" identifier [ number_literal ]) ;) (declaration "char **local_4a4;" primitive_type (pointer_declarator "**local_4a4" * (pointer_declarator "*local_4a4" * identifier)) ;) (declaration "char local_49f;" primitive_type identifier ;) (declaration "char local_49e;" primitive_type identifier ;) (declaration "char local_49d;" primitive_type identifier ;) (declaration "uint local_49c;" type_identifier identifier ;) (declaration "char *local_498;" primitive_type (pointer_declarator "*local_498" * identifier) ;) (declaration "uint local_494;" type_identifier identifier ;) (declaration "uint *local_490;" type_identifier (pointer_declarator "*local_490" * identifier) ;) (declaration "uint *local_48c;" type_identifier (pointer_declarator "*local_48c" * identifier) ;) (declaration "char **local_488;" primitive_type (pointer_declarator "**local_488" * (pointer_declarator "*local_488" * identifier)) ;) (declaration "uint *local_484;" type_identifier (pointer_declarator "*local_484" * identifier) ;) (declaration "uint local_478;" type_identifier identifier ;) (declaration "uint local_474 [20];" type_identifier (array_declarator "local_474 [20]" identifier [ number_literal ]) ;) (declaration "uint local_424;" type_identifier identifier ;) (declaration "byte local_420;" type_identifier identifier ;) (declaration "byte local_41f;" type_identifier identifier ;) (declaration "uint local_41c [254];" type_identifier (array_declarator "local_41c [254]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int *local_18;" primitive_type (pointer_declarator "*local_18" * identifier) ;) (expression_statement "bVar11 = 0;" (assignment_expression "bVar11 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &argc;" (assignment_expression "local_18 = &argc" identifier = (pointer_expression "&argc" & identifier)) ;) (expression_statement "local_484 = (uint *)argc;" (assignment_expression "local_484 = (uint *)argc" identifier = (cast_expression "(uint *)argc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_488 = argv;" (assignment_expression "local_488 = argv" identifier = identifier) ;) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_48c = &local_478;" (assignment_expression "local_48c = &local_478" identifier = (pointer_expression "&local_478" & identifier)) ;) (expression_statement "local_494 = local_494 & 0xffffff00;" (assignment_expression "local_494 = local_494 & 0xffffff00" identifier = (binary_expression "local_494 & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_490 = (uint *)0x0;" (assignment_expression "local_490 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_498 = (char *)((uint)local_498 & 0xffffff00);" (assignment_expression "local_498 = (char *)((uint)local_498 & 0xffffff00)" identifier = (cast_expression "(char *)((uint)local_498 & 0xffffff00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_498 & 0xffffff00)" ( (binary_expression "(uint)local_498 & 0xffffff00" (cast_expression "(uint)local_498" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_49e = '\0';" (assignment_expression "local_49e = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4a4 = (char **)((uint)local_4a4 & 0xffffff00);" (assignment_expression "local_4a4 = (char **)((uint)local_4a4 & 0xffffff00)" identifier = (cast_expression "(char **)((uint)local_4a4 & 0xffffff00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_4a4 & 0xffffff00)" ( (binary_expression "(uint)local_4a4 & 0xffffff00" (cast_expression "(uint)local_4a4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_49c = local_49c & 0xffffff00;" (assignment_expression "local_49c = local_49c & 0xffffff00" identifier = (binary_expression "local_49c & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_49f = '\0';" (assignment_expression "local_49f = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_49d = '\0';" (assignment_expression "local_49d = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (while_statement "while( true ) {\n    local_478 = 0;\n    uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);\n    puVar2 = PTR_optind_00013fec;\n    puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);\n    iVar8 = (int)uVar12;\n    if (iVar8 == -1) break;\n    puVar7 = extraout_ECX;\n    if (0x37 < iVar8 - 0x3fU) {\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }\n    puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);\n    switch(iVar8) {\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    local_478 = 0;\n    uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);\n    puVar2 = PTR_optind_00013fec;\n    puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);\n    iVar8 = (int)uVar12;\n    if (iVar8 == -1) break;\n    puVar7 = extraout_ECX;\n    if (0x37 < iVar8 - 0x3fU) {\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }\n    puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);\n    switch(iVar8) {\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" { (expression_statement "local_478 = 0;" (assignment_expression "local_478 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c);" (assignment_expression "uVar12 = getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c)" identifier = (call_expression "getopt_long(local_484,local_488,"dehHrRvV",long_options,local_48c)" identifier (argument_list "(local_484,local_488,"dehHrRvV",long_options,local_48c)" ( identifier , identifier , (string_literal ""dehHrRvV"" " string_content ") , identifier , identifier )))) ;) (expression_statement "puVar2 = PTR_optind_00013fec;" (assignment_expression "puVar2 = PTR_optind_00013fec" identifier = identifier) ;) (expression_statement "puVar7 = (uint *)((ulonglong)uVar12 >> 0x20);" (assignment_expression "puVar7 = (uint *)((ulonglong)uVar12 >> 0x20)" identifier = (cast_expression "(uint *)((ulonglong)uVar12 >> 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar12 >> 0x20)" ( (binary_expression "(ulonglong)uVar12 >> 0x20" (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar8 = (int)uVar12;" (assignment_expression "iVar8 = (int)uVar12" identifier = (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar8 == -1) break;" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar7 = extraout_ECX;" (assignment_expression "puVar7 = extraout_ECX" identifier = identifier) ;) (if_statement "if (0x37 < iVar8 - 0x3fU) {\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }" if (parenthesized_expression "(0x37 < iVar8 - 0x3fU)" ( (binary_expression "0x37 < iVar8 - 0x3fU" number_literal < (binary_expression "iVar8 - 0x3fU" identifier - number_literal)) )) (compound_statement "{\n_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar7;\n      goto LAB_000112cd;\n    }" { (labeled_statement "_L3:\n      pcVar4 = "unrecognised option code 0x%x ??\n";" statement_identifier : (expression_statement "pcVar4 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar4 = "unrecognised option code 0x%x ??\n"" identifier = (string_literal ""unrecognised option code 0x%x ??\n"" " string_content escape_sequence ")) ;)) (expression_statement "puStack_4b4 = puVar7;" (assignment_expression "puStack_4b4 = puVar7" identifier = identifier) ;) (goto_statement "goto LAB_000112cd;" goto statement_identifier ;) })) (expression_statement "puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]);" (assignment_expression "puVar7 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU])" identifier = (cast_expression "(uint *)((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU])" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ +\n                     (&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + (subscript_expression "(&switchD_00011238::switchdataD_00012804)[iVar8 - 0x3fU]" (parenthesized_expression "(&switchD_00011238::switchdataD_00012804)" ( (ERROR "&switchD_00011238::" (pointer_expression "&switchD_00011238" & identifier) : :) identifier )) [ (binary_expression "iVar8 - 0x3fU" identifier - number_literal) ])) )))) ;) (switch_statement "switch(iVar8) {\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" switch (parenthesized_expression "(iVar8)" ( identifier )) (compound_statement "{\n    case 0x3f:\n    case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto _L3;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" { (case_statement "case 0x3f:" case number_literal :) (case_statement "case 0x68:\n      ppcVar10 = (char **)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;" case number_literal : (expression_statement "ppcVar10 = (char **)0x0;" (assignment_expression "ppcVar10 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );" (call_expression "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" identifier (argument_list "(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;)) (case_statement "default:\n      goto _L3;" default : (goto_statement "goto _L3;" goto statement_identifier ;)) (case_statement "case 0x48:\n      local_49f = '\x01';\n      break;" case number_literal : (expression_statement "local_49f = '\x01';" (assignment_expression "local_49f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x52:\n      local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);\n      break;" case number_literal : (expression_statement "local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1);" (assignment_expression "local_4a4 = (char **)CONCAT31(local_4a4._1_3_,1)" identifier = (cast_expression "(char **)CONCAT31(local_4a4._1_3_,1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_4a4._1_3_,1)" identifier (argument_list "(local_4a4._1_3_,1)" ( (field_expression "local_4a4._1_3_" identifier . field_identifier) , number_literal ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;" case number_literal : (expression_statement "local_494 = CONCAT31(local_494._1_3_,1);" (assignment_expression "local_494 = CONCAT31(local_494._1_3_,1)" identifier = (call_expression "CONCAT31(local_494._1_3_,1)" identifier (argument_list "(local_494._1_3_,1)" ( (field_expression "local_494._1_3_" identifier . field_identifier) , number_literal )))) ;) (break_statement "break;" break ;)) (case_statement "case 100:\n      local_49d = '\x01';\n      break;" case number_literal : (expression_statement "local_49d = '\x01';" (assignment_expression "local_49d = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      local_49e = '\x01';\n      break;" case number_literal : (expression_statement "local_49e = '\x01';" (assignment_expression "local_49e = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;" case number_literal : (expression_statement "local_49c = CONCAT31(local_49c._1_3_,1);" (assignment_expression "local_49c = CONCAT31(local_49c._1_3_,1)" identifier = (call_expression "CONCAT31(local_49c._1_3_,1)" identifier (argument_list "(local_49c._1_3_,1)" ( (field_expression "local_49c._1_3_" identifier . field_identifier) , number_literal )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);" case number_literal : (expression_statement "local_490 = (uint *)((int)local_490 + 1);" (assignment_expression "local_490 = (uint *)((int)local_490 + 1)" identifier = (cast_expression "(uint *)((int)local_490 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_490 + 1)" ( (binary_expression "(int)local_490 + 1" (cast_expression "(int)local_490" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_498 = (char *)CONCAT31(local_498._1_3_,1);" (assignment_expression "local_498 = (char *)CONCAT31(local_498._1_3_,1)" identifier = (cast_expression "(char *)CONCAT31(local_498._1_3_,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_498._1_3_,1)" identifier (argument_list "(local_498._1_3_,1)" ( (field_expression "local_498._1_3_" identifier . field_identifier) , number_literal ))))) ;)) })) })) (expression_statement "puVar9 = (uint *)0x0;" (assignment_expression "puVar9 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar5 = *(uint **)PTR_optind_00013fec;" (assignment_expression "puVar5 = *(uint **)PTR_optind_00013fec" identifier = (pointer_expression "*(uint **)PTR_optind_00013fec" * (cast_expression "(uint **)PTR_optind_00013fec" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((int)puVar5 < (int)local_484) {\n    puVar9 = (uint *)local_488[(int)puVar5];\n    puVar5 = (uint *)((int)puVar5 + 1);\n    *(uint **)PTR_optind_00013fec = puVar5;\n    if ((int)puVar5 < (int)local_484) {\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }\n  }" if (parenthesized_expression "((int)puVar5 < (int)local_484)" ( (binary_expression "(int)puVar5 < (int)local_484" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    puVar9 = (uint *)local_488[(int)puVar5];\n    puVar5 = (uint *)((int)puVar5 + 1);\n    *(uint **)PTR_optind_00013fec = puVar5;\n    if ((int)puVar5 < (int)local_484) {\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }\n  }" { (expression_statement "puVar9 = (uint *)local_488[(int)puVar5];" (assignment_expression "puVar9 = (uint *)local_488[(int)puVar5]" identifier = (cast_expression "(uint *)local_488[(int)puVar5]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_488[(int)puVar5]" identifier [ (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "puVar5 = (uint *)((int)puVar5 + 1);" (assignment_expression "puVar5 = (uint *)((int)puVar5 + 1)" identifier = (cast_expression "(uint *)((int)puVar5 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 1)" ( (binary_expression "(int)puVar5 + 1" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(uint **)PTR_optind_00013fec = puVar5;" (assignment_expression "*(uint **)PTR_optind_00013fec = puVar5" (pointer_expression "*(uint **)PTR_optind_00013fec" * (cast_expression "(uint **)PTR_optind_00013fec" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if ((int)puVar5 < (int)local_484) {\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }" if (parenthesized_expression "((int)puVar5 < (int)local_484)" ( (binary_expression "(int)puVar5 < (int)local_484" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);\n      ppcVar10 = (char **)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);\n      goto LAB_00011257;\n    }" { (do_statement "do {\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      } while ((int)puVar5 < (int)local_484);" do (compound_statement "{\n        pcVar4 = local_488[(int)puVar5];\n        puVar9 = puVar7;\n        puStack_4b4 = puVar7;\n        pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);\n        puVar5 = (uint *)(*(int *)puVar2 + 1);\n        *(uint **)puVar2 = puVar5;\n        puVar7 = extraout_EDX;\n      }" { (expression_statement "pcVar4 = local_488[(int)puVar5];" (assignment_expression "pcVar4 = local_488[(int)puVar5]" identifier = (subscript_expression "local_488[(int)puVar5]" identifier [ (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "puVar9 = puVar7;" (assignment_expression "puVar9 = puVar7" identifier = identifier) ;) (expression_statement "puStack_4b4 = puVar7;" (assignment_expression "puStack_4b4 = puVar7" identifier = identifier) ;) (expression_statement "pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7);" (call_expression "pr2serr("Unexpected extra argument: %s\n",pcVar4,puVar7)" identifier (argument_list "("Unexpected extra argument: %s\n",pcVar4,puVar7)" ( (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "puVar5 = (uint *)(*(int *)puVar2 + 1);" (assignment_expression "puVar5 = (uint *)(*(int *)puVar2 + 1)" identifier = (cast_expression "(uint *)(*(int *)puVar2 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + 1)" ( (binary_expression "*(int *)puVar2 + 1" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "*(uint **)puVar2 = puVar5;" (assignment_expression "*(uint **)puVar2 = puVar5" (pointer_expression "*(uint **)puVar2" * (cast_expression "(uint **)puVar2" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "puVar7 = extraout_EDX;" (assignment_expression "puVar7 = extraout_EDX" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar5 < (int)local_484)" ( (binary_expression "(int)puVar5 < (int)local_484" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "ppcVar10 = (char **)0x1;" (assignment_expression "ppcVar10 = (char **)0x1" identifier = (cast_expression "(char **)0x1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9);" (call_expression "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9)" identifier (argument_list "("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,pcVar4,puVar9)" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") , identifier , identifier ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) })) (if_statement "if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }" if (parenthesized_expression "((char)local_498 == '\0')" ( (binary_expression "(char)local_498 == '\0'" (cast_expression "(char)local_498" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }" { (if_statement "if ((char)local_494 != '\0') goto LAB_00011492;" if (parenthesized_expression "((char)local_494 != '\0')" ( (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011492;" goto statement_identifier ;)) }) (else_clause "else if ((char)local_494 != '\0') {\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }" else (if_statement "if ((char)local_494 != '\0') {\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }" if (parenthesized_expression "((char)local_494 != '\0')" ( (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    ppcVar10 = (char **)0x0;\n    puStack_4b4 = puVar5;\n    pr2serr("Version: %s\n","1.27 20180628",puVar5);\n    goto LAB_00011257;\n  }" { (expression_statement "puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (assignment_expression "puVar5 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier = (cast_expression "(uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (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 ") ))))) ;) (labeled_statement "LAB_00011492:\n    ppcVar10 = (char **)0x0;" statement_identifier : (expression_statement "ppcVar10 = (char **)0x0;" (assignment_expression "ppcVar10 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "puStack_4b4 = puVar5;" (assignment_expression "puStack_4b4 = puVar5" identifier = identifier) ;) (expression_statement "pr2serr("Version: %s\n","1.27 20180628",puVar5);" (call_expression "pr2serr("Version: %s\n","1.27 20180628",puVar5)" identifier (argument_list "("Version: %s\n","1.27 20180628",puVar5)" ( (string_literal ""Version: %s\n"" " string_content escape_sequence ") , (string_literal ""1.27 20180628"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })))) (if_statement "if (puVar9 == (uint *)0x0) {\n    pcVar4 = "Missing device name!\n\n";\nLAB_000112cd:\n    ppcVar10 = (char **)0x1;\n    pr2serr(pcVar4);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" if (parenthesized_expression "(puVar9 == (uint *)0x0)" ( (binary_expression "puVar9 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar4 = "Missing device name!\n\n";\nLAB_000112cd:\n    ppcVar10 = (char **)0x1;\n    pr2serr(pcVar4);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" { (expression_statement "pcVar4 = "Missing device name!\n\n";" (assignment_expression "pcVar4 = "Missing device name!\n\n"" identifier = (string_literal ""Missing device name!\n\n"" " string_content escape_sequence escape_sequence ")) ;) (labeled_statement "LAB_000112cd:\n    ppcVar10 = (char **)0x1;" statement_identifier : (expression_statement "ppcVar10 = (char **)0x1;" (assignment_expression "ppcVar10 = (char **)0x1" identifier = (cast_expression "(char **)0x1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "pr2serr(pcVar4);" (call_expression "pr2serr(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );" (call_expression "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" identifier (argument_list "(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) (if_statement "if (((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)) {\n    ppcVar10 = (char **)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" if (parenthesized_expression "(((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0))" ( (binary_expression "((char)local_49c != '\0') && (puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)" (parenthesized_expression "((char)local_49c != '\0')" ( (binary_expression "(char)local_49c != '\0'" (cast_expression "(char)local_49c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0)" ( (comma_expression "puVar5 = (uint *)sg_set_binary_mode(1), (int)puVar5 < 0" (assignment_expression "puVar5 = (uint *)sg_set_binary_mode(1)" identifier = (cast_expression "(uint *)sg_set_binary_mode(1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_set_binary_mode(1)" identifier (argument_list "(1)" ( number_literal ))))) , (binary_expression "(int)puVar5 < 0" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\n    ppcVar10 = (char **)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" { (expression_statement "ppcVar10 = (char **)0xf;" (assignment_expression "ppcVar10 = (char **)0xf" identifier = (cast_expression "(char **)0xf" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (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 ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) (expression_statement "puStack_4b4 = puVar5;" (assignment_expression "puStack_4b4 = puVar5" identifier = identifier) ;) (expression_statement "local_494 = sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490);" (assignment_expression "local_494 = sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490)" identifier = (call_expression "sg_cmds_open_device(puVar9,(uint)local_4a4 & 0xff,local_490)" identifier (argument_list "(puVar9,(uint)local_4a4 & 0xff,local_490)" ( identifier , (binary_expression "(uint)local_4a4 & 0xff" (cast_expression "(uint)local_4a4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) , identifier )))) ;) (if_statement "if ((int)local_494 < 0) {\n    iVar8 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }\n    ppcVar10 = (char **)sg_convert_errno(iVar8);\n  }\n  else {\n    puVar7 = &local_424;\n    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar7 = (uint *)0x0;\n    local_484 = &local_424;\n    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar9 = &local_424;\n    if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }\n  }" if (parenthesized_expression "((int)local_494 < 0)" ( (binary_expression "(int)local_494 < 0" (cast_expression "(int)local_494" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar8 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }\n    ppcVar10 = (char **)sg_convert_errno(iVar8);\n  }" { (expression_statement "iVar8 = -local_494;" (assignment_expression "iVar8 = -local_494" identifier = (unary_expression "-local_494" - identifier)) ;) (if_statement "if (local_490 != (uint *)0x0) {\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }" if (parenthesized_expression "(local_490 != (uint *)0x0)" ( (binary_expression "local_490 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar6 = safe_strerror(iVar8);\n      pr2serr("open error: %s: %s\n",puVar9,uVar6);\n    }" { (expression_statement "uVar6 = safe_strerror(iVar8);" (assignment_expression "uVar6 = safe_strerror(iVar8)" identifier = (call_expression "safe_strerror(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "pr2serr("open error: %s: %s\n",puVar9,uVar6);" (call_expression "pr2serr("open error: %s: %s\n",puVar9,uVar6)" identifier (argument_list "("open error: %s: %s\n",puVar9,uVar6)" ( (string_literal ""open error: %s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "ppcVar10 = (char **)sg_convert_errno(iVar8);" (assignment_expression "ppcVar10 = (char **)sg_convert_errno(iVar8)" identifier = (cast_expression "(char **)sg_convert_errno(iVar8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sg_convert_errno(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))))) ;) }) (else_clause "else {\n    puVar7 = &local_424;\n    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar7 = (uint *)0x0;\n    local_484 = &local_424;\n    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar9 = &local_424;\n    if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }\n  }" else (compound_statement "{\n    puVar7 = &local_424;\n    for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar7 = (uint *)0x0;\n    local_484 = &local_424;\n    ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar9 = &local_424;\n    if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }\n  }" { (expression_statement "puVar7 = &local_424;" (assignment_expression "puVar7 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (for_statement "for (iVar8 = 0x100; iVar8 != 0; iVar8 = iVar8 + -1) {\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }" for ( (assignment_expression "iVar8 = 0x100" identifier = number_literal) ; (binary_expression "iVar8 != 0" identifier != number_literal) ; (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar7 = 0;\n      puVar7 = puVar7 + (uint)bVar11 * -2 + 1;\n    }" { (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "puVar7 = puVar7 + (uint)bVar11 * -2 + 1;" (assignment_expression "puVar7 = puVar7 + (uint)bVar11 * -2 + 1" identifier = (binary_expression "puVar7 + (uint)bVar11 * -2 + 1" (binary_expression "puVar7 + (uint)bVar11 * -2" identifier + (binary_expression "(uint)bVar11 * -2" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puStack_4b4 = (uint *)0x0;" (assignment_expression "puStack_4b4 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar7 = (uint *)0x0;" (assignment_expression "puVar7 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_484 = &local_424;" (assignment_expression "local_484 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (expression_statement "ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0);" (assignment_expression "ppcVar10 = (char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0)" identifier = (cast_expression "(char **)sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sg_ll_report_tgt_prt_grp2\n                                  (local_494,&local_424,0x400,local_49e,1,local_490,0)" identifier (argument_list "(local_494,&local_424,0x400,local_49e,1,local_490,0)" ( identifier , (pointer_expression "&local_424" & identifier) , number_literal , identifier , number_literal , identifier , number_literal ))))) ;) (expression_statement "puVar9 = &local_424;" (assignment_expression "puVar9 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (if_statement "if (ppcVar10 == (char **)0x0) {\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }\n    else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }" if (parenthesized_expression "(ppcVar10 == (char **)0x0)" ( (binary_expression "ppcVar10 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar5;\n      if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar9 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }\nLAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }\n    }" { (expression_statement "puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);" (assignment_expression "puVar5 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" identifier = (cast_expression "(uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" ( (binary_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4" (parenthesized_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18)" ( (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8" (binary_expression "local_424 >> 0x18" identifier >> number_literal) | (binary_expression "(local_424 & 0xff0000) >> 8" (parenthesized_expression "(local_424 & 0xff0000)" ( (binary_expression "local_424 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_424 & 0xff00) << 8" (parenthesized_expression "(local_424 & 0xff00)" ( (binary_expression "local_424 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_424 << 0x18" identifier << number_literal)) )) + number_literal) )))) ;) (expression_statement "local_48c = puVar5;" (assignment_expression "local_48c = puVar5" identifier = identifier) ;) (if_statement "if (0x400 < (int)puVar5) {\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" if (parenthesized_expression "(0x400 < (int)puVar5)" ( (binary_expression "0x400 < (int)puVar5" number_literal < (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" { (expression_statement "puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");" (assignment_expression "puVar5 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" identifier = (cast_expression "(uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr("  <<report too long for internal buffer, output truncated\n")" identifier (argument_list "("  <<report too long for internal buffer, output truncated\n")" ( (string_literal ""  <<report too long for internal buffer, output truncated\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "local_48c = (uint *)0x400;" (assignment_expression "local_48c = (uint *)0x400" identifier = (cast_expression "(uint *)0x400" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "puVar9 = local_484;" (assignment_expression "puVar9 = local_484" identifier = identifier) ;) (if_statement "if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }\n      else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }" if (parenthesized_expression "((char)local_49c == '\0')" ( (binary_expression "(char)local_49c == '\0'" (cast_expression "(char)local_49c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar9 = &local_424;\n      }" { (if_statement "if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" if (parenthesized_expression "(local_490 == (uint *)0x0)" ( (binary_expression "local_490 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }" { (if_statement "if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" if (parenthesized_expression "(local_49f == '\0')" ( (binary_expression "local_49f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }\n            local_488 = (char **)&DAT_0001222b;\n            local_4a4 = ppcVar10;\n            for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" { (labeled_statement "LAB_00011645:\n            puts("Report target port groups:");" statement_identifier : (expression_statement "puts("Report target port groups:");" (call_expression "puts("Report target port groups:")" identifier (argument_list "("Report target port groups:")" ( (string_literal ""Report target port groups:"" " string_content ") ))) ;)) (if_statement "if (local_49e == '\0') {\n              puVar9 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }" if (parenthesized_expression "(local_49e == '\0')" ( (binary_expression "local_49e == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              puVar9 = (uint *)&local_420;\n            }" { (expression_statement "puVar9 = (uint *)&local_420;" (assignment_expression "puVar9 = (uint *)&local_420" identifier = (cast_expression "(uint *)&local_420" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_420" & identifier))) ;) }) (else_clause "else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }" else (compound_statement "{\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar7 = (uint *)(uint)local_41f;\n              puVar9 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar7);\n            }" { (if_statement "if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }" if (parenthesized_expression "((local_420 & 0x70) != 0x10)" ( (binary_expression "(local_420 & 0x70) != 0x10" (parenthesized_expression "(local_420 & 0x70)" ( (binary_expression "local_420 & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                pr2serr("   <<invalid extended header format\n");\n                puVar9 = &local_424;\n                goto LAB_00011439;\n              }" { (expression_statement "pr2serr("   <<invalid extended header format\n");" (call_expression "pr2serr("   <<invalid extended header format\n")" identifier (argument_list "("   <<invalid extended header format\n")" ( (string_literal ""   <<invalid extended header format\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar9 = &local_424;" (assignment_expression "puVar9 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (goto_statement "goto LAB_00011439;" goto statement_identifier ;) })) (expression_statement "puVar7 = (uint *)(uint)local_41f;" (assignment_expression "puVar7 = (uint *)(uint)local_41f" identifier = (cast_expression "(uint *)(uint)local_41f" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_41f" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar9 = local_41c;" (assignment_expression "puVar9 = local_41c" identifier = identifier) ;) (expression_statement "puStack_4b4 = extraout_ECX_00;" (assignment_expression "puStack_4b4 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "__printf_chk(1,"  Implicit transition time: %d\n",puVar7);" (call_expression "__printf_chk(1,"  Implicit transition time: %d\n",puVar7)" identifier (argument_list "(1,"  Implicit transition time: %d\n",puVar7)" ( number_literal , (string_literal ""  Implicit transition time: %d\n"" " string_content escape_sequence ") , identifier ))) ;) }))) (expression_statement "local_488 = (char **)&DAT_0001222b;" (assignment_expression "local_488 = (char **)&DAT_0001222b" identifier = (cast_expression "(char **)&DAT_0001222b" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_0001222b" & identifier))) ;) (expression_statement "local_4a4 = ppcVar10;" (assignment_expression "local_4a4 = ppcVar10" identifier = identifier) ;) (for_statement "for (local_49c = (int)puVar9 - (int)local_484; ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }" for ( (assignment_expression "local_49c = (int)puVar9 - (int)local_484" identifier = (binary_expression "(int)puVar9 - (int)local_484" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier))) ; (comma_expression "ppcVar10 = local_4a4,\n                (int)local_49c < (int)local_48c" (assignment_expression "ppcVar10 = local_4a4" identifier = identifier) , (binary_expression "(int)local_49c < (int)local_48c" (cast_expression "(int)local_49c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_48c" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "local_49c = local_49c + (int)(local_484 + 2)" identifier = (binary_expression "local_49c + (int)(local_484 + 2)" identifier + (cast_expression "(int)(local_484 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_484 + 2)" ( (binary_expression "local_484 + 2" identifier + number_literal) ))))) ) (compound_statement "{\n              pcVar4 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar7);\n              __printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);\n              __printf_chk(1,"0x%02x",puVar7);\n              if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar7);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);\n              puVar7 = puVar5;\n              __printf_chk(1,"%02x\n",puVar5);\n              local_484 = (uint *)((int)puVar5 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar5 = extraout_ECX_02;\n              for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }\n              puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));\n            }" { (expression_statement "pcVar4 = "0x%02x";" (assignment_expression "pcVar4 = "0x%02x"" identifier = (string_literal ""0x%02x"" " string_content ")) ;) (expression_statement "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7);" (call_expression "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7)" identifier (argument_list "(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar9 >> 0x1f,(byte)*puVar9 >> 4 & 7)" ( number_literal , (string_literal ""  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n"" " string_content escape_sequence ") , (binary_expression "*(ushort *)((int)puVar9 + 2) << 8 | *(ushort *)((int)puVar9 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar9 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 2)" * (cast_expression "(ushort *)((int)puVar9 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 2)" ( (binary_expression "(int)puVar9 + 2" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 2)" * (cast_expression "(ushort *)((int)puVar9 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 2)" ( (binary_expression "(int)puVar9 + 2" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal)) , (binary_expression "(uint)(int)(char)(byte)*puVar9 >> 0x1f" (binary_expression "(uint)(int)(char)(byte)*puVar9" (call_expression "(uint)(int)(char)(byte)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier ))) (argument_list "(byte)" ( identifier ))) * identifier) >> number_literal) , (binary_expression "(byte)*puVar9 >> 4 & 7" (binary_expression "(byte)*puVar9 >> 4" (binary_expression "(byte)*puVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"    target port group asymmetric access state : ",puVar7);" (call_expression "__printf_chk(1,"    target port group asymmetric access state : ",puVar7)" identifier (argument_list "(1,"    target port group asymmetric access state : ",puVar7)" ( number_literal , (string_literal ""    target port group asymmetric access state : "" " string_content ") , identifier ))) ;) (expression_statement "__printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf);" (call_expression "__printf_chk(1,"0x%02x",(byte)*puVar9 & 0xf)" identifier (argument_list "(1,"0x%02x",(byte)*puVar9 & 0xf)" ( number_literal , (string_literal ""0x%02x"" " string_content ") , (binary_expression "(byte)*puVar9 & 0xf" (binary_expression "(byte)*puVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) ))) ;) (if_statement "if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" if (parenthesized_expression "(local_49d != '\0')" ( (binary_expression "local_49d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);\n                puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" { (expression_statement "puStack_4b4 = (uint *)((byte)*puVar9 & 0xf);" (assignment_expression "puStack_4b4 = (uint *)((byte)*puVar9 & 0xf)" identifier = (cast_expression "(uint *)((byte)*puVar9 & 0xf)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte)*puVar9 & 0xf)" ( (binary_expression "(byte)*puVar9 & 0xf" (binary_expression "(byte)*puVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )))) ;) (expression_statement "puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;" (binary_expression "puVar7 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4" (assignment_expression "puVar7 = &switchD_00011997" identifier = (pointer_expression "&switchD_00011997" & identifier)) (ERROR "::switchdataD_000128e4" : : identifier) + (cast_expression "(int)puStack_4b4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (switch_statement "switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" switch (parenthesized_expression "(puStack_4b4)" ( identifier )) (compound_statement "{\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" { (case_statement "case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "puStack_4b4 = extraout_EDX_00;" (assignment_expression "puStack_4b4 = extraout_EDX_00" identifier = identifier) ;) (expression_statement "__printf_chk(1," (active/optimized)",extraout_EDX_00);" (call_expression "__printf_chk(1," (active/optimized)",extraout_EDX_00)" identifier (argument_list "(1," (active/optimized)",extraout_EDX_00)" ( number_literal , (string_literal "" (active/optimized)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (active/non optimized)",puStack_4b4);" (call_expression "__printf_chk(1," (active/non optimized)",puStack_4b4)" identifier (argument_list "(1," (active/non optimized)",puStack_4b4)" ( number_literal , (string_literal "" (active/non optimized)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (standby)",puStack_4b4);" (call_expression "__printf_chk(1," (standby)",puStack_4b4)" identifier (argument_list "(1," (standby)",puStack_4b4)" ( number_literal , (string_literal "" (standby)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (unavailable)",puStack_4b4);" (call_expression "__printf_chk(1," (unavailable)",puStack_4b4)" identifier (argument_list "(1," (unavailable)",puStack_4b4)" ( number_literal , (string_literal "" (unavailable)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (logical block dependent)",puStack_4b4);" (call_expression "__printf_chk(1," (logical block dependent)",puStack_4b4)" identifier (argument_list "(1," (logical block dependent)",puStack_4b4)" ( number_literal , (string_literal "" (logical block dependent)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                  puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);\n                  __printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));\n                  break;" default : (expression_statement "puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7);" (assignment_expression "puStack_4b4 = (uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7)" identifier = (cast_expression "(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + *puVar7" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + (pointer_expression "*puVar7" * identifier)) )))) ;) (expression_statement "__printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7));" (call_expression "__printf_chk(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7))" identifier (argument_list "(1," (unknown)",(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7))" ( number_literal , (string_literal "" (unknown)"" " string_content ") , (cast_expression "(uint *)((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + *puVar7)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + *puVar7" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + (pointer_expression "*puVar7" * identifier)) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0xe" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (offline)",puStack_4b4);" (call_expression "__printf_chk(1," (offline)",puStack_4b4)" identifier (argument_list "(1," (offline)",puStack_4b4)" ( number_literal , (string_literal "" (offline)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);" case (cast_expression "(uint *)0xf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (transitioning between states)",puStack_4b4);" (call_expression "__printf_chk(1," (transitioning between states)",puStack_4b4)" identifier (argument_list "(1," (transitioning between states)",puStack_4b4)" ( number_literal , (string_literal "" (transitioning between states)"" " string_content ") , identifier ))) ;)) })) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)\n              ;" (call_expression "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)" identifier (argument_list "(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f)" ( number_literal , (string_literal ""    T_SUP : %d, "" " string_content ") , (binary_expression "(uint)(int)(char)*(byte *)((int)puVar9 + 1) >> 0x1f" (binary_expression "(uint)(int)(char)*(byte *)((int)puVar9 + 1)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))) ;) (expression_statement "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1);" (call_expression "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1)" identifier (argument_list "(1,"O_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 6 & 1)" ( number_literal , (string_literal ""O_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar9 + 1) >> 6 & 1" (binary_expression "*(byte *)((int)puVar9 + 1) >> 6" (pointer_expression "*(byte *)((int)puVar9 + 1)" * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1);" (call_expression "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1)" identifier (argument_list "(1,"LBD_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 4 & 1)" ( number_literal , (string_literal ""LBD_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar9 + 1) >> 4 & 1" (binary_expression "*(byte *)((int)puVar9 + 1) >> 4" (pointer_expression "*(byte *)((int)puVar9 + 1)" * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1);" (call_expression "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1)" identifier (argument_list "(1,"U_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 3 & 1)" ( number_literal , (string_literal ""U_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar9 + 1) >> 3 & 1" (binary_expression "*(byte *)((int)puVar9 + 1) >> 3" (pointer_expression "*(byte *)((int)puVar9 + 1)" * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1);" (call_expression "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1)" identifier (argument_list "(1,"S_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 2 & 1)" ( number_literal , (string_literal ""S_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar9 + 1) >> 2 & 1" (binary_expression "*(byte *)((int)puVar9 + 1) >> 2" (pointer_expression "*(byte *)((int)puVar9 + 1)" * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1);" (call_expression "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1)" identifier (argument_list "(1,"AN_SUP : %d, ",*(byte *)((int)puVar9 + 1) >> 1 & 1)" ( number_literal , (string_literal ""AN_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar9 + 1) >> 1 & 1" (binary_expression "*(byte *)((int)puVar9 + 1) >> 1" (pointer_expression "*(byte *)((int)puVar9 + 1)" * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1);" (call_expression "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1)" identifier (argument_list "(1,"AO_SUP : %d\n",*(byte *)((int)puVar9 + 1) & 1)" ( number_literal , (string_literal ""AO_SUP : %d\n"" " string_content escape_sequence ") , (binary_expression "*(byte *)((int)puVar9 + 1) & 1" (pointer_expression "*(byte *)((int)puVar9 + 1)" * (cast_expression "(byte *)((int)puVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"    status code : ");" (call_expression "__printf_chk(1,"    status code : ")" identifier (argument_list "(1,"    status code : ")" ( number_literal , (string_literal ""    status code : "" " string_content ") ))) ;) (expression_statement "puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5);" (assignment_expression "puVar7 = (uint *)(uint)*(byte *)((int)puVar9 + 5)" identifier = (binary_expression "(uint *)(uint)*(byte *)((int)puVar9 + 5)" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar9 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 5)" ( (binary_expression "(int)puVar9 + 5" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "__printf_chk(1,"0x%02x",puVar7);" (call_expression "__printf_chk(1,"0x%02x",puVar7)" identifier (argument_list "(1,"0x%02x",puVar7)" ( number_literal , (string_literal ""0x%02x"" " string_content ") , identifier ))) ;) (if_statement "if (local_49d != '\0') {\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" if (parenthesized_expression "(local_49d != '\0')" ( (binary_expression "local_49d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                bVar11 = *(byte *)((int)puVar9 + 5);\n                puVar7 = (uint *)(uint)bVar11;\n                puStack_4b4 = puVar7;\n                if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" { (expression_statement "bVar11 = *(byte *)((int)puVar9 + 5);" (assignment_expression "bVar11 = *(byte *)((int)puVar9 + 5)" identifier = (pointer_expression "*(byte *)((int)puVar9 + 5)" * (cast_expression "(byte *)((int)puVar9 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 5)" ( (binary_expression "(int)puVar9 + 5" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar7 = (uint *)(uint)bVar11;" (assignment_expression "puVar7 = (uint *)(uint)bVar11" identifier = (cast_expression "(uint *)(uint)bVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puStack_4b4 = puVar7;" (assignment_expression "puStack_4b4 = puVar7" identifier = identifier) ;) (if_statement "if (bVar11 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }\n                else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar11 == 1)" ( (binary_expression "bVar11 == 1" identifier == number_literal) )) (compound_statement "{\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);\n                }" { (expression_statement "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7);" (call_expression "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7)" identifier (argument_list "(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar7)" ( number_literal , (string_literal "" (target port asym. state changed by SET TARGET PORT GROUPS command)"" " string_content ") , identifier ))) ;) }) (else_clause "else if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (if_statement "if (bVar11 == 0) {\n                  __printf_chk(1," (no status available)",puVar7);\n                }\n                else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                  __printf_chk(1," (no status available)",puVar7);\n                }" { (expression_statement "__printf_chk(1," (no status available)",puVar7);" (call_expression "__printf_chk(1," (no status available)",puVar7)" identifier (argument_list "(1," (no status available)",puVar7)" ( number_literal , (string_literal "" (no status available)"" " string_content ") , identifier ))) ;) }) (else_clause "else if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (if_statement "if (bVar11 == 2) {\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }\n                else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar11 == 2)" ( (binary_expression "bVar11 == 2" identifier == number_literal) )) (compound_statement "{\n                  puStack_4b4 = (uint *)pcVar4;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar7 = (uint *)pcVar4;\n                }" { (expression_statement "puStack_4b4 = (uint *)pcVar4;" (assignment_expression "puStack_4b4 = (uint *)pcVar4" identifier = (cast_expression "(uint *)pcVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");" (call_expression "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" identifier (argument_list "(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" ( number_literal , (string_literal "" (target port asym. state changed by implicit lu behaviour)"" " string_content ") , (string_literal ""0x%02x"" " string_content ") ))) ;) (expression_statement "puVar7 = (uint *)pcVar4;" (assignment_expression "puVar7 = (uint *)pcVar4" identifier = (cast_expression "(uint *)pcVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (compound_statement "{\n                  puVar7 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" { (expression_statement "puVar7 = extraout_ECX_01;" (assignment_expression "puVar7 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "puStack_4b4 = extraout_ECX_01;" (assignment_expression "puStack_4b4 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "__printf_chk(1," (unknown status code)",extraout_ECX_01);" (call_expression "__printf_chk(1," (unknown status code)",extraout_ECX_01)" identifier (argument_list "(1," (unknown status code)",extraout_ECX_01)" ( number_literal , (string_literal "" (unknown status code)"" " string_content ") , identifier ))) ;) }))))))) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "__printf_chk(1,"    vendor unique status : ",puVar7);" (call_expression "__printf_chk(1,"    vendor unique status : ",puVar7)" identifier (argument_list "(1,"    vendor unique status : ",puVar7)" ( number_literal , (string_literal ""    vendor unique status : "" " string_content ") , identifier ))) ;) (expression_statement "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6));" (call_expression "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar9 + 6))" identifier (argument_list "(1,&DAT_00012231,*(byte *)((int)puVar9 + 6))" ( number_literal , (pointer_expression "&DAT_00012231" & identifier) , (pointer_expression "*(byte *)((int)puVar9 + 6)" * (cast_expression "(byte *)((int)puVar9 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 6)" ( (binary_expression "(int)puVar9 + 6" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "__printf_chk(1,"    target port count : ");" (call_expression "__printf_chk(1,"    target port count : ")" identifier (argument_list "(1,"    target port count : ")" ( number_literal , (string_literal ""    target port count : "" " string_content ") ))) ;) (expression_statement "puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7);" (assignment_expression "puVar5 = (uint *)(uint)*(byte *)((int)puVar9 + 7)" identifier = (binary_expression "(uint *)(uint)*(byte *)((int)puVar9 + 7)" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 7)" ( (binary_expression "(int)puVar9 + 7" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar7 = puVar5;" (assignment_expression "puVar7 = puVar5" identifier = identifier) ;) (expression_statement "__printf_chk(1,"%02x\n",puVar5);" (call_expression "__printf_chk(1,"%02x\n",puVar5)" identifier (argument_list "(1,"%02x\n",puVar5)" ( number_literal , (string_literal ""%02x\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_484 = (uint *)((int)puVar5 * 4);" (assignment_expression "local_484 = (uint *)((int)puVar5 * 4)" identifier = (cast_expression "(uint *)((int)puVar5 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 * 4)" ( (binary_expression "(int)puVar5 * 4" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "local_498 = "    Relative target port ids:";" (assignment_expression "local_498 = "    Relative target port ids:"" identifier = (string_literal ""    Relative target port ids:"" " string_content ")) ;) (expression_statement "puVar5 = extraout_ECX_02;" (assignment_expression "puVar5 = extraout_ECX_02" identifier = identifier) ;) (for_statement "for (iVar8 = 0; iVar8 < (int)local_484; iVar8 = iVar8 + 4) {\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }" for ( (assignment_expression "iVar8 = 0" identifier = number_literal) ; (binary_expression "iVar8 < (int)local_484" identifier < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) ; (assignment_expression "iVar8 = iVar8 + 4" identifier = (binary_expression "iVar8 + 4" identifier + number_literal)) ) (compound_statement "{\n                if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);\n                puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar5;\n                __printf_chk(1,local_488,puVar7);\n                puVar5 = extraout_ECX_03;\n              }" { (if_statement "if (iVar8 == 0) {\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  puts(local_498);\n                  puVar5 = extraout_ECX_04;\n                }" { (expression_statement "puts(local_498);" (call_expression "puts(local_498)" identifier (argument_list "(local_498)" ( identifier ))) ;) (expression_statement "puVar5 = extraout_ECX_04;" (assignment_expression "puVar5 = extraout_ECX_04" identifier = identifier) ;) })) (expression_statement "uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10);" (assignment_expression "uVar1 = *(ushort *)((int)puVar9 + iVar8 + 10)" identifier = (pointer_expression "*(ushort *)((int)puVar9 + iVar8 + 10)" * (cast_expression "(ushort *)((int)puVar9 + iVar8 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + iVar8 + 10)" ( (binary_expression "(int)puVar9 + iVar8 + 10" (binary_expression "(int)puVar9 + iVar8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);" (assignment_expression "puVar7 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" identifier = (cast_expression "(uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(uVar1 << 8 | uVar1 >> 8)" ( (binary_expression "uVar1 << 8 | uVar1 >> 8" (binary_expression "uVar1 << 8" identifier << number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal)) ))))) ;) (expression_statement "puStack_4b4 = puVar5;" (assignment_expression "puStack_4b4 = puVar5" identifier = identifier) ;) (expression_statement "__printf_chk(1,local_488,puVar7);" (call_expression "__printf_chk(1,local_488,puVar7)" identifier (argument_list "(1,local_488,puVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "puVar5 = extraout_ECX_03;" (assignment_expression "puVar5 = extraout_ECX_03" identifier = identifier) ;) })) (expression_statement "puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2));" (assignment_expression "puVar9 = (uint *)((int)puVar9 + (int)(local_484 + 2))" identifier = (cast_expression "(uint *)((int)puVar9 + (int)(local_484 + 2))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + (int)(local_484 + 2))" ( (binary_expression "(int)puVar9 + (int)(local_484 + 2)" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(local_484 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_484 + 2)" ( (binary_expression "local_484 + 2" identifier + number_literal) )))) )))) ;) })) (goto_statement "goto LAB_00011439;" goto statement_identifier ;) })) }) (else_clause "else {\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" else (compound_statement "{\n          puVar7 = local_48c;\n          puStack_4b4 = puVar5;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" { (expression_statement "puVar7 = local_48c;" (assignment_expression "puVar7 = local_48c" identifier = identifier) ;) (expression_statement "puStack_4b4 = puVar5;" (assignment_expression "puStack_4b4 = puVar5" identifier = identifier) ;) (expression_statement "__printf_chk(1,"Report list length = %d\n",local_48c);" (call_expression "__printf_chk(1,"Report list length = %d\n",local_48c)" identifier (argument_list "(1,"Report list length = %d\n",local_48c)" ( number_literal , (string_literal ""Report list length = %d\n"" " string_content escape_sequence ") , identifier ))) ;) (if_statement "if (local_49f == '\0') goto LAB_00011645;" if (parenthesized_expression "(local_49f == '\0')" ( (binary_expression "local_49f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011645;" goto statement_identifier ;)) (expression_statement "puts("\nOutput response in hex:");" (call_expression "puts("\nOutput response in hex:")" identifier (argument_list "("\nOutput response in hex:")" ( (string_literal ""\nOutput response in hex:"" " escape_sequence string_content ") ))) ;) }))) (expression_statement "puStack_4b4 = &local_424;" (assignment_expression "puStack_4b4 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (expression_statement "hex2stdout(local_484,local_48c,1);" (call_expression "hex2stdout(local_484,local_48c,1)" identifier (argument_list "(local_484,local_48c,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar9 = &local_424;" (assignment_expression "puVar9 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) }) (else_clause "else {\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }" else (compound_statement "{\n        local_488 = ppcVar10;\n        for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }\n      }" { (expression_statement "local_488 = ppcVar10;" (assignment_expression "local_488 = ppcVar10" identifier = identifier) ;) (for_statement "for (iVar8 = 0; ppcVar10 = local_488, iVar8 < (int)local_48c; iVar8 = iVar8 + 1) {\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }" for ( (assignment_expression "iVar8 = 0" identifier = number_literal) ; (comma_expression "ppcVar10 = local_488, iVar8 < (int)local_48c" (assignment_expression "ppcVar10 = local_488" identifier = identifier) , (binary_expression "iVar8 < (int)local_48c" identifier < (cast_expression "(int)local_48c" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ) (compound_statement "{\n          putchar((uint)*(byte *)((int)puVar9 + iVar8));\n        }" { (expression_statement "putchar((uint)*(byte *)((int)puVar9 + iVar8));" (call_expression "putchar((uint)*(byte *)((int)puVar9 + iVar8))" identifier (argument_list "((uint)*(byte *)((int)puVar9 + iVar8))" ( (binary_expression "(uint)*(byte *)((int)puVar9 + iVar8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar9 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + iVar8)" ( (binary_expression "(int)puVar9 + iVar8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ))) ;) })) }))) (labeled_statement "LAB_00011439:\n      iVar8 = sg_cmds_close_device(local_494);" statement_identifier : (expression_statement "iVar8 = sg_cmds_close_device(local_494);" (assignment_expression "iVar8 = sg_cmds_close_device(local_494)" identifier = (call_expression "sg_cmds_close_device(local_494)" identifier (argument_list "(local_494)" ( identifier )))) ;)) (if_statement "if (iVar8 < 0) {\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar9 = (uint *)-iVar8;\n        uVar6 = safe_strerror(puVar9);\n        pr2serr("close error: %s\n",uVar6);\n        ppcVar10 = (char **)sg_convert_errno(puVar9);\n      }" { (expression_statement "puVar9 = (uint *)-iVar8;" (assignment_expression "puVar9 = (uint *)-iVar8" identifier = (cast_expression "(uint *)-iVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-iVar8" - identifier))) ;) (expression_statement "uVar6 = safe_strerror(puVar9);" (assignment_expression "uVar6 = safe_strerror(puVar9)" identifier = (call_expression "safe_strerror(puVar9)" identifier (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "pr2serr("close error: %s\n",uVar6);" (call_expression "pr2serr("close error: %s\n",uVar6)" identifier (argument_list "("close error: %s\n",uVar6)" ( (string_literal ""close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "ppcVar10 = (char **)sg_convert_errno(puVar9);" (assignment_expression "ppcVar10 = (char **)sg_convert_errno(puVar9)" identifier = (cast_expression "(char **)sg_convert_errno(puVar9)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sg_convert_errno(puVar9)" identifier (argument_list "(puVar9)" ( identifier ))))) ;) })) }) (else_clause "else {\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }" else (compound_statement "{\n      if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }\n      iVar8 = sg_cmds_close_device(local_494);\n      if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }\n    }" { (if_statement "if (ppcVar10 == (char **)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }" if (parenthesized_expression "(ppcVar10 == (char **)0x9)" ( (binary_expression "ppcVar10 == (char **)0x9" identifier == (cast_expression "(char **)0x9" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        pr2serr("Report Target Port Groups command not supported\n");\n      }" { (expression_statement "pr2serr("Report Target Port Groups command not supported\n");" (call_expression "pr2serr("Report Target Port Groups command not supported\n")" identifier (argument_list "("Report Target Port Groups command not supported\n")" ( (string_literal ""Report Target Port Groups command not supported\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }" else (if_statement "if (ppcVar10 == (char **)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }" if (parenthesized_expression "(ppcVar10 == (char **)0x5)" ( (binary_expression "ppcVar10 == (char **)0x5" identifier == (cast_expression "(char **)0x5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }" { (expression_statement "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;" (call_expression "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")" identifier (argument_list "("bad field in Report Target Port Groups cdb including unsupported service action\n")" ( (string_literal ""bad field in Report Target Port Groups cdb including unsupported service action\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }" else (compound_statement "{\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(ppcVar10,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar9 = local_474;\n      }" { (expression_statement "puStack_4b4 = local_490;" (assignment_expression "puStack_4b4 = local_490" identifier = identifier) ;) (expression_statement "sg_get_category_sense_str(ppcVar10,0x50,local_474);" (call_expression "sg_get_category_sense_str(ppcVar10,0x50,local_474)" identifier (argument_list "(ppcVar10,0x50,local_474)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pr2serr("Report Target Port Groups: %s\n",local_474);" (call_expression "pr2serr("Report Target Port Groups: %s\n",local_474)" identifier (argument_list "("Report Target Port Groups: %s\n",local_474)" ( (string_literal ""Report Target Port Groups: %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "puVar9 = local_474;" (assignment_expression "puVar9 = local_474" identifier = identifier) ;) }))))) (expression_statement "iVar8 = sg_cmds_close_device(local_494);" (assignment_expression "iVar8 = sg_cmds_close_device(local_494)" identifier = (call_expression "sg_cmds_close_device(local_494)" identifier (argument_list "(local_494)" ( identifier )))) ;) (if_statement "if (iVar8 < 0) {\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n        uVar6 = safe_strerror(-iVar8);\n        pr2serr("close error: %s\n",uVar6);\n      }" { (expression_statement "uVar6 = safe_strerror(-iVar8);" (assignment_expression "uVar6 = safe_strerror(-iVar8)" identifier = (call_expression "safe_strerror(-iVar8)" identifier (argument_list "(-iVar8)" ( (unary_expression "-iVar8" - identifier) )))) ;) (expression_statement "pr2serr("close error: %s\n",uVar6);" (call_expression "pr2serr("close error: %s\n",uVar6)" identifier (argument_list "("close error: %s\n",uVar6)" ( (string_literal ""close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) })) }))) }))) (if_statement "if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" if (parenthesized_expression "((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0'))" ( (binary_expression "(local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0')" (parenthesized_expression "(local_490 == (uint *)0x0)" ( (binary_expression "local_490 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0')" ( (comma_expression "puStack_4b4 = puVar9, cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0'" (assignment_expression "puStack_4b4 = puVar9" identifier = identifier) , (comma_expression "cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9),\n     cVar3 == '\0'" (assignment_expression "cVar3 = sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9)" identifier = (call_expression "sg_if_can2stderr("sg_rtpg failed: ",ppcVar10,puVar9)" identifier (argument_list "("sg_rtpg failed: ",ppcVar10,puVar9)" ( (string_literal ""sg_rtpg failed: "" " string_content ") , identifier , identifier )))) , (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" { (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 ") ))) ;) })) (if_statement "if ((int)ppcVar10 < 0) {\n    ppcVar10 = (char **)0x63;\n  }" if (parenthesized_expression "((int)ppcVar10 < 0)" ( (binary_expression "(int)ppcVar10 < 0" (cast_expression "(int)ppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    ppcVar10 = (char **)0x63;\n  }" { (expression_statement "ppcVar10 = (char **)0x63;" (assignment_expression "ppcVar10 = (char **)0x63" identifier = (cast_expression "(char **)0x63" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (labeled_statement "LAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar12 = __stack_chk_fail_local();\n    puStack_4b4 = (uint *)uVar12;\n    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }" statement_identifier : (if_statement "if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar12 = __stack_chk_fail_local();\n    puStack_4b4 = (uint *)uVar12;\n    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }" if (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    puStack_4b4 = (uint *)0x11b04;\n    uVar12 = __stack_chk_fail_local();\n    puStack_4b4 = (uint *)uVar12;\n    __libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);\n    do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );\n  }" { (expression_statement "puStack_4b4 = (uint *)0x11b04;" (assignment_expression "puStack_4b4 = (uint *)0x11b04" identifier = (cast_expression "(uint *)0x11b04" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar12 = __stack_chk_fail_local();" (assignment_expression "uVar12 = __stack_chk_fail_local()" identifier = (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( )))) ;) (expression_statement "puStack_4b4 = (uint *)uVar12;" (assignment_expression "puStack_4b4 = (uint *)uVar12" identifier = (cast_expression "(uint *)uVar12" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4);" (call_expression "__libc_start_main(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4)" identifier (argument_list "(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,\n                      (int)((ulonglong)uVar12 >> 0x20),&puStack_4b4)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)((ulonglong)uVar12 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar12 >> 0x20)" ( (binary_expression "(ulonglong)uVar12 >> 0x20" (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "&puStack_4b4" & identifier) ))) ;) (do_statement "do {\n                    /* WARNING: Do nothing block with infinite loop */\n    } while( true );" do (compound_statement "{\n                    /* WARNING: Do nothing block with infinite loop */\n    }" { comment }) while (parenthesized_expression "( true )" ( true )) ;) }))) (return_statement "return (int)ppcVar10;" return (cast_expression "(int)ppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) ;) })))
(translation_unit "undefined * FUN_00011160(uint *param_1,undefined *param_2)\n\n{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }\n  return puVar9;\n}\n\n" (function_definition "undefined * FUN_00011160(uint *param_1,undefined *param_2)\n\n{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }\n  return puVar9;\n}" type_identifier (pointer_declarator "* FUN_00011160(uint *param_1,undefined *param_2)" * (function_declarator "FUN_00011160(uint *param_1,undefined *param_2)" identifier (parameter_list "(uint *param_1,undefined *param_2)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }\n  return puVar9;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "uint *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "uint *extraout_ECX_02;" type_identifier (pointer_declarator "*extraout_ECX_02" * identifier) ;) (declaration "uint *extraout_ECX_03;" type_identifier (pointer_declarator "*extraout_ECX_03" * identifier) ;) (declaration "uint *extraout_ECX_04;" type_identifier (pointer_declarator "*extraout_ECX_04" * identifier) ;) (declaration "uint *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "uint *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "uint *puStack_4b4;" type_identifier (pointer_declarator "*puStack_4b4" * identifier) ;) (declaration "undefined4 uStack_4b0;" type_identifier identifier ;) (declaration "undefined1 auStack_4ac [8];" type_identifier (array_declarator "auStack_4ac [8]" identifier [ number_literal ]) ;) (declaration "undefined *local_4a4;" type_identifier (pointer_declarator "*local_4a4" * identifier) ;) (declaration "char local_49f;" primitive_type identifier ;) (declaration "char local_49e;" primitive_type identifier ;) (declaration "char local_49d;" primitive_type identifier ;) (declaration "uint local_49c;" type_identifier identifier ;) (declaration "char *local_498;" primitive_type (pointer_declarator "*local_498" * identifier) ;) (declaration "uint local_494;" type_identifier identifier ;) (declaration "uint *local_490;" type_identifier (pointer_declarator "*local_490" * identifier) ;) (declaration "uint *local_48c;" type_identifier (pointer_declarator "*local_48c" * identifier) ;) (declaration "undefined *local_488;" type_identifier (pointer_declarator "*local_488" * identifier) ;) (declaration "uint *local_484;" type_identifier (pointer_declarator "*local_484" * identifier) ;) (declaration "uint local_478;" type_identifier identifier ;) (declaration "uint local_474 [20];" type_identifier (array_declarator "local_474 [20]" identifier [ number_literal ]) ;) (declaration "uint local_424;" type_identifier identifier ;) (declaration "byte local_420;" type_identifier identifier ;) (declaration "byte local_41f;" type_identifier identifier ;) (declaration "uint local_41c [254];" type_identifier (array_declarator "local_41c [254]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 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_484 = param_1;" (assignment_expression "local_484 = param_1" identifier = identifier) ;) (expression_statement "local_488 = param_2;" (assignment_expression "local_488 = param_2" identifier = identifier) ;) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_48c = &local_478;" (assignment_expression "local_48c = &local_478" identifier = (pointer_expression "&local_478" & identifier)) ;) (expression_statement "local_494 = local_494 & 0xffffff00;" (assignment_expression "local_494 = local_494 & 0xffffff00" identifier = (binary_expression "local_494 & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_490 = (uint *)0x0;" (assignment_expression "local_490 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_498 = (char *)((uint)local_498 & 0xffffff00);" (assignment_expression "local_498 = (char *)((uint)local_498 & 0xffffff00)" identifier = (cast_expression "(char *)((uint)local_498 & 0xffffff00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_498 & 0xffffff00)" ( (binary_expression "(uint)local_498 & 0xffffff00" (cast_expression "(uint)local_498" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_49e = '\0';" (assignment_expression "local_49e = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);" (assignment_expression "local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00)" identifier = (cast_expression "(undefined *)((uint)local_4a4 & 0xffffff00)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_4a4 & 0xffffff00)" ( (binary_expression "(uint)local_4a4 & 0xffffff00" (cast_expression "(uint)local_4a4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_49c = local_49c & 0xffffff00;" (assignment_expression "local_49c = local_49c & 0xffffff00" identifier = (binary_expression "local_49c & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_49f = '\0';" (assignment_expression "local_49f = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_49d = '\0';" (assignment_expression "local_49d = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (while_statement "while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" { (expression_statement "local_478 = 0;" (assignment_expression "local_478 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);" (assignment_expression "uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" identifier = (call_expression "getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" identifier (argument_list "(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" ( identifier , identifier , (string_literal ""dehHrRvV"" " string_content ") , (pointer_expression "&PTR_s_decode_00014020" & identifier) , identifier )))) ;) (expression_statement "puVar9 = PTR_optind_00013fec;" (assignment_expression "puVar9 = PTR_optind_00013fec" identifier = identifier) ;) (expression_statement "puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);" (assignment_expression "puVar6 = (uint *)((ulonglong)uVar11 >> 0x20)" identifier = (cast_expression "(uint *)((ulonglong)uVar11 >> 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar7 = (int)uVar11;" (assignment_expression "iVar7 = (int)uVar11" identifier = (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar7 == -1) break;" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar6 = extraout_ECX;" (assignment_expression "puVar6 = extraout_ECX" identifier = identifier) ;) (if_statement "if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }" if (parenthesized_expression "(0x37 < iVar7 - 0x3fU)" ( (binary_expression "0x37 < iVar7 - 0x3fU" number_literal < (binary_expression "iVar7 - 0x3fU" identifier - number_literal)) )) (compound_statement "{\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }" { (labeled_statement "LAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";" statement_identifier : (expression_statement "pcVar3 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar3 = "unrecognised option code 0x%x ??\n"" identifier = (string_literal ""unrecognised option code 0x%x ??\n"" " string_content escape_sequence ")) ;)) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" identifier = identifier) ;) (goto_statement "goto LAB_000112cd;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));" (assignment_expression "puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" identifier = (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" ( (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" * (cast_expression "(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" ( (binary_expression "&DAT_00012804 + (iVar7 - 0x3fU) * 4" (pointer_expression "&DAT_00012804" & identifier) + (binary_expression "(iVar7 - 0x3fU) * 4" (parenthesized_expression "(iVar7 - 0x3fU)" ( (binary_expression "iVar7 - 0x3fU" identifier - number_literal) )) * number_literal)) ))))) )))) ;) (switch_statement "switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" switch (parenthesized_expression "(iVar7)" ( identifier )) (compound_statement "{\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" { (case_statement "case 0x3f:" case number_literal :) (case_statement "case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;" case number_literal : (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );" (call_expression "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" identifier (argument_list "(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;)) (case_statement "default:\n      goto LAB_000112c4;" default : (goto_statement "goto LAB_000112c4;" goto statement_identifier ;)) (case_statement "case 0x48:\n      local_49f = '\x01';\n      break;" case number_literal : (expression_statement "local_49f = '\x01';" (assignment_expression "local_49f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;" case number_literal : (expression_statement "local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);" (assignment_expression "local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1)" identifier = (cast_expression "(undefined *)CONCAT31(local_4a4._1_3_,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_4a4._1_3_,1)" identifier (argument_list "(local_4a4._1_3_,1)" ( (field_expression "local_4a4._1_3_" identifier . field_identifier) , number_literal ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;" case number_literal : (expression_statement "local_494 = CONCAT31(local_494._1_3_,1);" (assignment_expression "local_494 = CONCAT31(local_494._1_3_,1)" identifier = (call_expression "CONCAT31(local_494._1_3_,1)" identifier (argument_list "(local_494._1_3_,1)" ( (field_expression "local_494._1_3_" identifier . field_identifier) , number_literal )))) ;) (break_statement "break;" break ;)) (case_statement "case 100:\n      local_49d = '\x01';\n      break;" case number_literal : (expression_statement "local_49d = '\x01';" (assignment_expression "local_49d = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      local_49e = '\x01';\n      break;" case number_literal : (expression_statement "local_49e = '\x01';" (assignment_expression "local_49e = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;" case number_literal : (expression_statement "local_49c = CONCAT31(local_49c._1_3_,1);" (assignment_expression "local_49c = CONCAT31(local_49c._1_3_,1)" identifier = (call_expression "CONCAT31(local_49c._1_3_,1)" identifier (argument_list "(local_49c._1_3_,1)" ( (field_expression "local_49c._1_3_" identifier . field_identifier) , number_literal )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);" case number_literal : (expression_statement "local_490 = (uint *)((int)local_490 + 1);" (assignment_expression "local_490 = (uint *)((int)local_490 + 1)" identifier = (cast_expression "(uint *)((int)local_490 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_490 + 1)" ( (binary_expression "(int)local_490 + 1" (cast_expression "(int)local_490" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_498 = (char *)CONCAT31(local_498._1_3_,1);" (assignment_expression "local_498 = (char *)CONCAT31(local_498._1_3_,1)" identifier = (cast_expression "(char *)CONCAT31(local_498._1_3_,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_498._1_3_,1)" identifier (argument_list "(local_498._1_3_,1)" ( (field_expression "local_498._1_3_" identifier . field_identifier) , number_literal ))))) ;)) })) })) (expression_statement "puVar8 = (uint *)0x0;" (assignment_expression "puVar8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar4 = *(uint **)PTR_optind_00013fec;" (assignment_expression "puVar4 = *(uint **)PTR_optind_00013fec" identifier = (pointer_expression "*(uint **)PTR_optind_00013fec" * (cast_expression "(uint **)PTR_optind_00013fec" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }" if (parenthesized_expression "((int)puVar4 < (int)local_484)" ( (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }" { (expression_statement "puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);" (assignment_expression "puVar8 = *(uint **)(local_488 + (int)puVar4 * 4)" identifier = (pointer_expression "*(uint **)(local_488 + (int)puVar4 * 4)" * (cast_expression "(uint **)(local_488 + (int)puVar4 * 4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_488 + (int)puVar4 * 4)" ( (binary_expression "local_488 + (int)puVar4 * 4" identifier + (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "puVar4 = (uint *)((int)puVar4 + 1);" (assignment_expression "puVar4 = (uint *)((int)puVar4 + 1)" identifier = (cast_expression "(uint *)((int)puVar4 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + 1)" ( (binary_expression "(int)puVar4 + 1" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(uint **)PTR_optind_00013fec = puVar4;" (assignment_expression "*(uint **)PTR_optind_00013fec = puVar4" (pointer_expression "*(uint **)PTR_optind_00013fec" * (cast_expression "(uint **)PTR_optind_00013fec" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }" if (parenthesized_expression "((int)puVar4 < (int)local_484)" ( (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }" { (do_statement "do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);" do (compound_statement "{\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      }" { (expression_statement "uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);" (assignment_expression "uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4)" identifier = (pointer_expression "*(undefined4 *)(local_488 + (int)puVar4 * 4)" * (cast_expression "(undefined4 *)(local_488 + (int)puVar4 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_488 + (int)puVar4 * 4)" ( (binary_expression "local_488 + (int)puVar4 * 4" identifier + (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "puVar8 = puVar6;" (assignment_expression "puVar8 = puVar6" identifier = identifier) ;) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" identifier = identifier) ;) (expression_statement "pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);" (call_expression "pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6)" identifier (argument_list "("Unexpected extra argument: %s\n",uVar5,puVar6)" ( (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "puVar4 = (uint *)(*(int *)puVar9 + 1);" (assignment_expression "puVar4 = (uint *)(*(int *)puVar9 + 1)" identifier = (cast_expression "(uint *)(*(int *)puVar9 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar9 + 1)" ( (binary_expression "*(int *)puVar9 + 1" (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "*(uint **)puVar9 = puVar4;" (assignment_expression "*(uint **)puVar9 = puVar4" (pointer_expression "*(uint **)puVar9" * (cast_expression "(uint **)puVar9" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "puVar6 = extraout_EDX;" (assignment_expression "puVar6 = extraout_EDX" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar4 < (int)local_484)" ( (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);" (call_expression "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8)" identifier (argument_list "("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8)" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") , identifier , identifier ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) })) (if_statement "if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" if (parenthesized_expression "((char)local_498 == '\0')" ( (binary_expression "(char)local_498 == '\0'" (cast_expression "(char)local_498" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }" { (if_statement "if ((char)local_494 != '\0') goto LAB_00011492;" if (parenthesized_expression "((char)local_494 != '\0')" ( (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011492;" goto statement_identifier ;)) }) (else_clause "else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" else (if_statement "if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" if (parenthesized_expression "((char)local_494 != '\0')" ( (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" { (expression_statement "puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (assignment_expression "puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier = (cast_expression "(uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (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 ") ))))) ;) (labeled_statement "LAB_00011492:\n    puVar9 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "pr2serr("Version: %s\n","1.27 20180628",puVar4);" (call_expression "pr2serr("Version: %s\n","1.27 20180628",puVar4)" identifier (argument_list "("Version: %s\n","1.27 20180628",puVar4)" ( (string_literal ""Version: %s\n"" " string_content escape_sequence ") , (string_literal ""1.27 20180628"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })))) (if_statement "if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" if (parenthesized_expression "(puVar8 == (uint *)0x0)" ( (binary_expression "puVar8 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" { (expression_statement "pcVar3 = "Missing device name!\n\n";" (assignment_expression "pcVar3 = "Missing device name!\n\n"" identifier = (string_literal ""Missing device name!\n\n"" " string_content escape_sequence escape_sequence ")) ;) (labeled_statement "LAB_000112cd:\n    puVar9 = (undefined *)0x1;" statement_identifier : (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pr2serr(pcVar3);" (call_expression "pr2serr(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );" (call_expression "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" identifier (argument_list "(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" ( (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) (if_statement "if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" if (parenthesized_expression "(((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0))" ( (binary_expression "((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)" (parenthesized_expression "((char)local_49c != '\0')" ( (binary_expression "(char)local_49c != '\0'" (cast_expression "(char)local_49c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)" ( (comma_expression "puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0" (assignment_expression "puVar4 = (uint *)sg_set_binary_mode(1)" identifier = (cast_expression "(uint *)sg_set_binary_mode(1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_set_binary_mode(1)" identifier (argument_list "(1)" ( number_literal ))))) , (binary_expression "(int)puVar4 < 0" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" { (expression_statement "puVar9 = (undefined *)0xf;" (assignment_expression "puVar9 = (undefined *)0xf" identifier = (cast_expression "(undefined *)0xf" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (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 ") ))) ;) (goto_statement "goto LAB_00011257;" goto statement_identifier ;) })) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);" (assignment_expression "local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490)" identifier = (call_expression "sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490)" identifier (argument_list "(puVar8,(uint)local_4a4 & 0xff,local_490)" ( identifier , (binary_expression "(uint)local_4a4 & 0xff" (cast_expression "(uint)local_4a4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) , identifier )))) ;) (if_statement "if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" if (parenthesized_expression "((int)local_494 < 0)" ( (binary_expression "(int)local_494 < 0" (cast_expression "(int)local_494" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }" { (expression_statement "iVar7 = -local_494;" (assignment_expression "iVar7 = -local_494" identifier = (unary_expression "-local_494" - identifier)) ;) (if_statement "if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }" if (parenthesized_expression "(local_490 != (uint *)0x0)" ( (binary_expression "local_490 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }" { (expression_statement "uVar5 = safe_strerror(iVar7);" (assignment_expression "uVar5 = safe_strerror(iVar7)" identifier = (call_expression "safe_strerror(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "pr2serr("open error: %s: %s\n",puVar8,uVar5);" (call_expression "pr2serr("open error: %s: %s\n",puVar8,uVar5)" identifier (argument_list "("open error: %s: %s\n",puVar8,uVar5)" ( (string_literal ""open error: %s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "puVar9 = (undefined *)sg_convert_errno(iVar7);" (assignment_expression "puVar9 = (undefined *)sg_convert_errno(iVar7)" identifier = (cast_expression "(undefined *)sg_convert_errno(iVar7)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar7)" identifier (argument_list "(iVar7)" ( identifier ))))) ;) }) (else_clause "else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" else (compound_statement "{\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" { (expression_statement "puVar6 = &local_424;" (assignment_expression "puVar6 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (for_statement "for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }" for ( (assignment_expression "iVar7 = 0x100" identifier = number_literal) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = puVar6 + (uint)bVar10 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar10 * -2 + 1" identifier = (binary_expression "puVar6 + (uint)bVar10 * -2 + 1" (binary_expression "puVar6 + (uint)bVar10 * -2" identifier + (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puStack_4b4 = (uint *)0x0;" (assignment_expression "puStack_4b4 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6 = (uint *)0x0;" (assignment_expression "puVar6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_484 = &local_424;" (assignment_expression "local_484 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (expression_statement "puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);" (assignment_expression "puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" identifier = (cast_expression "(undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" identifier (argument_list "(local_494,&local_424,0x400,local_49e,1,local_490,0)" ( identifier , (pointer_expression "&local_424" & identifier) , number_literal , identifier , number_literal , identifier , number_literal ))))) ;) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (if_statement "if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" if (parenthesized_expression "(puVar9 == (undefined *)0x0)" ( (binary_expression "puVar9 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }" { (expression_statement "puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);" (assignment_expression "puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" identifier = (cast_expression "(uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" ( (binary_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4" (parenthesized_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18)" ( (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8" (binary_expression "local_424 >> 0x18" identifier >> number_literal) | (binary_expression "(local_424 & 0xff0000) >> 8" (parenthesized_expression "(local_424 & 0xff0000)" ( (binary_expression "local_424 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_424 & 0xff00) << 8" (parenthesized_expression "(local_424 & 0xff00)" ( (binary_expression "local_424 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_424 << 0x18" identifier << number_literal)) )) + number_literal) )))) ;) (expression_statement "local_48c = puVar4;" (assignment_expression "local_48c = puVar4" identifier = identifier) ;) (if_statement "if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" if (parenthesized_expression "(0x400 < (int)puVar4)" ( (binary_expression "0x400 < (int)puVar4" number_literal < (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" { (expression_statement "puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");" (assignment_expression "puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" identifier = (cast_expression "(uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr("  <<report too long for internal buffer, output truncated\n")" identifier (argument_list "("  <<report too long for internal buffer, output truncated\n")" ( (string_literal ""  <<report too long for internal buffer, output truncated\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "local_48c = (uint *)0x400;" (assignment_expression "local_48c = (uint *)0x400" identifier = (cast_expression "(uint *)0x400" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "puVar8 = local_484;" (assignment_expression "puVar8 = local_484" identifier = identifier) ;) (if_statement "if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" if (parenthesized_expression "((char)local_49c == '\0')" ( (binary_expression "(char)local_49c == '\0'" (cast_expression "(char)local_49c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }" { (if_statement "if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" if (parenthesized_expression "(local_490 == (uint *)0x0)" ( (binary_expression "local_490 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }" { (if_statement "if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" if (parenthesized_expression "(local_49f == '\0')" ( (binary_expression "local_49f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" { (labeled_statement "LAB_00011645:\n            puts("Report target port groups:");" statement_identifier : (expression_statement "puts("Report target port groups:");" (call_expression "puts("Report target port groups:")" identifier (argument_list "("Report target port groups:")" ( (string_literal ""Report target port groups:"" " string_content ") ))) ;)) (if_statement "if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" if (parenthesized_expression "(local_49e == '\0')" ( (binary_expression "local_49e == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              puVar8 = (uint *)&local_420;\n            }" { (expression_statement "puVar8 = (uint *)&local_420;" (assignment_expression "puVar8 = (uint *)&local_420" identifier = (cast_expression "(uint *)&local_420" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_420" & identifier))) ;) }) (else_clause "else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" else (compound_statement "{\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" { (if_statement "if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }" if (parenthesized_expression "((local_420 & 0x70) != 0x10)" ( (binary_expression "(local_420 & 0x70) != 0x10" (parenthesized_expression "(local_420 & 0x70)" ( (binary_expression "local_420 & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }" { (expression_statement "pr2serr("   <<invalid extended header format\n");" (call_expression "pr2serr("   <<invalid extended header format\n")" identifier (argument_list "("   <<invalid extended header format\n")" ( (string_literal ""   <<invalid extended header format\n"" " string_content escape_sequence ") ))) ;) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (goto_statement "goto LAB_00011439;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)(uint)local_41f;" (assignment_expression "puVar6 = (uint *)(uint)local_41f" identifier = (cast_expression "(uint *)(uint)local_41f" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_41f" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar8 = local_41c;" (assignment_expression "puVar8 = local_41c" identifier = identifier) ;) (expression_statement "puStack_4b4 = extraout_ECX_00;" (assignment_expression "puStack_4b4 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "__printf_chk(1,"  Implicit transition time: %d\n",puVar6);" (call_expression "__printf_chk(1,"  Implicit transition time: %d\n",puVar6)" identifier (argument_list "(1,"  Implicit transition time: %d\n",puVar6)" ( number_literal , (string_literal ""  Implicit transition time: %d\n"" " string_content escape_sequence ") , identifier ))) ;) }))) (expression_statement "local_488 = &DAT_0001222b;" (assignment_expression "local_488 = &DAT_0001222b" identifier = (pointer_expression "&DAT_0001222b" & identifier)) ;) (expression_statement "local_4a4 = puVar9;" (assignment_expression "local_4a4 = puVar9" identifier = identifier) ;) (for_statement "for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }" for ( (assignment_expression "local_49c = (int)puVar8 - (int)local_484" identifier = (binary_expression "(int)puVar8 - (int)local_484" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier))) ; (comma_expression "puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c" (assignment_expression "puVar9 = local_4a4" identifier = identifier) , (binary_expression "(int)local_49c < (int)local_48c" (cast_expression "(int)local_49c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_48c" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "local_49c = local_49c + (int)(local_484 + 2)" identifier = (binary_expression "local_49c + (int)(local_484 + 2)" identifier + (cast_expression "(int)(local_484 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_484 + 2)" ( (binary_expression "local_484 + 2" identifier + number_literal) ))))) ) (compound_statement "{\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }" { (expression_statement "pcVar3 = "0x%02x";" (assignment_expression "pcVar3 = "0x%02x"" identifier = (string_literal ""0x%02x"" " string_content ")) ;) (expression_statement "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);" (call_expression "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7)" identifier (argument_list "(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7)" ( number_literal , (string_literal ""  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n"" " string_content escape_sequence ") , (binary_expression "*(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar8 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar8 + 2)" * (cast_expression "(ushort *)((int)puVar8 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 2)" ( (binary_expression "(int)puVar8 + 2" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((int)puVar8 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar8 + 2)" * (cast_expression "(ushort *)((int)puVar8 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 2)" ( (binary_expression "(int)puVar8 + 2" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal)) , (binary_expression "(uint)(int)(char)(byte)*puVar8 >> 0x1f" (binary_expression "(uint)(int)(char)(byte)*puVar8" (call_expression "(uint)(int)(char)(byte)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier ))) (argument_list "(byte)" ( identifier ))) * identifier) >> number_literal) , (binary_expression "(byte)*puVar8 >> 4 & 7" (binary_expression "(byte)*puVar8 >> 4" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"    target port group asymmetric access state : ",puVar6);" (call_expression "__printf_chk(1,"    target port group asymmetric access state : ",puVar6)" identifier (argument_list "(1,"    target port group asymmetric access state : ",puVar6)" ( number_literal , (string_literal ""    target port group asymmetric access state : "" " string_content ") , identifier ))) ;) (expression_statement "__printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);" (call_expression "__printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf)" identifier (argument_list "(1,"0x%02x",(byte)*puVar8 & 0xf)" ( number_literal , (string_literal ""0x%02x"" " string_content ") , (binary_expression "(byte)*puVar8 & 0xf" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) ))) ;) (if_statement "if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" if (parenthesized_expression "(local_49d != '\0')" ( (binary_expression "local_49d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" { (expression_statement "puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);" (assignment_expression "puStack_4b4 = (uint *)((byte)*puVar8 & 0xf)" identifier = (cast_expression "(uint *)((byte)*puVar8 & 0xf)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte)*puVar8 & 0xf)" ( (binary_expression "(byte)*puVar8 & 0xf" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )))) ;) (expression_statement "iVar7 = (int)puStack_4b4 * 4;" (assignment_expression "iVar7 = (int)puStack_4b4 * 4" identifier = (binary_expression "(int)puStack_4b4 * 4" (cast_expression "(int)puStack_4b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (switch_statement "switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" switch (parenthesized_expression "(puStack_4b4)" ( identifier )) (compound_statement "{\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" { (case_statement "case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "puStack_4b4 = extraout_EDX_00;" (assignment_expression "puStack_4b4 = extraout_EDX_00" identifier = identifier) ;) (expression_statement "__printf_chk(1," (active/optimized)",extraout_EDX_00);" (call_expression "__printf_chk(1," (active/optimized)",extraout_EDX_00)" identifier (argument_list "(1," (active/optimized)",extraout_EDX_00)" ( number_literal , (string_literal "" (active/optimized)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (active/non optimized)",puStack_4b4);" (call_expression "__printf_chk(1," (active/non optimized)",puStack_4b4)" identifier (argument_list "(1," (active/non optimized)",puStack_4b4)" ( number_literal , (string_literal "" (active/non optimized)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (standby)",puStack_4b4);" (call_expression "__printf_chk(1," (standby)",puStack_4b4)" identifier (argument_list "(1," (standby)",puStack_4b4)" ( number_literal , (string_literal "" (standby)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (unavailable)",puStack_4b4);" (call_expression "__printf_chk(1," (unavailable)",puStack_4b4)" identifier (argument_list "(1," (unavailable)",puStack_4b4)" ( number_literal , (string_literal "" (unavailable)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (logical block dependent)",puStack_4b4);" (call_expression "__printf_chk(1," (logical block dependent)",puStack_4b4)" identifier (argument_list "(1," (logical block dependent)",puStack_4b4)" ( number_literal , (string_literal "" (logical block dependent)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;" default : (expression_statement "puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));" (assignment_expression "puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" identifier = (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_000128e4 + iVar7)" * (cast_expression "(int *)(&DAT_000128e4 + iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000128e4 + iVar7)" ( (binary_expression "&DAT_000128e4 + iVar7" (pointer_expression "&DAT_000128e4" & identifier) + identifier) ))))) )))) ;) (expression_statement "__printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));" (call_expression "__printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)))" identifier (argument_list "(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)))" ( number_literal , (string_literal "" (unknown)"" " string_content ") , (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" ( (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_000128e4 + iVar7)" * (cast_expression "(int *)(&DAT_000128e4 + iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000128e4 + iVar7)" ( (binary_expression "&DAT_000128e4 + iVar7" (pointer_expression "&DAT_000128e4" & identifier) + identifier) ))))) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;" case (cast_expression "(uint *)0xe" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (offline)",puStack_4b4);" (call_expression "__printf_chk(1," (offline)",puStack_4b4)" identifier (argument_list "(1," (offline)",puStack_4b4)" ( number_literal , (string_literal "" (offline)"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);" case (cast_expression "(uint *)0xf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "__printf_chk(1," (transitioning between states)",puStack_4b4);" (call_expression "__printf_chk(1," (transitioning between states)",puStack_4b4)" identifier (argument_list "(1," (transitioning between states)",puStack_4b4)" ( number_literal , (string_literal "" (transitioning between states)"" " string_content ") , identifier ))) ;)) })) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;" (call_expression "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)" identifier (argument_list "(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)" ( number_literal , (string_literal ""    T_SUP : %d, "" " string_content ") , (binary_expression "(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f" (binary_expression "(uint)(int)(char)*(byte *)((int)puVar8 + 1)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))) ;) (expression_statement "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);" (call_expression "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1)" identifier (argument_list "(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1)" ( number_literal , (string_literal ""O_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 6 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 6" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);" (call_expression "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1)" identifier (argument_list "(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1)" ( number_literal , (string_literal ""LBD_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 4 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 4" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);" (call_expression "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1)" identifier (argument_list "(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1)" ( number_literal , (string_literal ""U_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 3 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 3" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);" (call_expression "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1)" identifier (argument_list "(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1)" ( number_literal , (string_literal ""S_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 2 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 2" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);" (call_expression "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1)" identifier (argument_list "(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1)" ( number_literal , (string_literal ""AN_SUP : %d, "" " string_content ") , (binary_expression "*(byte *)((int)puVar8 + 1) >> 1 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 1" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);" (call_expression "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1)" identifier (argument_list "(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1)" ( number_literal , (string_literal ""AO_SUP : %d\n"" " string_content escape_sequence ") , (binary_expression "*(byte *)((int)puVar8 + 1) & 1" (pointer_expression "*(byte *)((int)puVar8 + 1)" * (cast_expression "(byte *)((int)puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 1)" ( (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) ))) ;) (expression_statement "__printf_chk(1,"    status code : ");" (call_expression "__printf_chk(1,"    status code : ")" identifier (argument_list "(1,"    status code : ")" ( number_literal , (string_literal ""    status code : "" " string_content ") ))) ;) (expression_statement "puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);" (assignment_expression "puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5)" identifier = (binary_expression "(uint *)(uint)*(byte *)((int)puVar8 + 5)" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar8 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 5)" ( (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "__printf_chk(1,"0x%02x",puVar6);" (call_expression "__printf_chk(1,"0x%02x",puVar6)" identifier (argument_list "(1,"0x%02x",puVar6)" ( number_literal , (string_literal ""0x%02x"" " string_content ") , identifier ))) ;) (if_statement "if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" if (parenthesized_expression "(local_49d != '\0')" ( (binary_expression "local_49d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" { (expression_statement "bVar10 = *(byte *)((int)puVar8 + 5);" (assignment_expression "bVar10 = *(byte *)((int)puVar8 + 5)" identifier = (pointer_expression "*(byte *)((int)puVar8 + 5)" * (cast_expression "(byte *)((int)puVar8 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 5)" ( (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(uint)bVar10;" (assignment_expression "puVar6 = (uint *)(uint)bVar10" identifier = (cast_expression "(uint *)(uint)bVar10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" identifier = identifier) ;) (if_statement "if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar10 == 1)" ( (binary_expression "bVar10 == 1" identifier == number_literal) )) (compound_statement "{\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }" { (expression_statement "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);" (call_expression "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6)" identifier (argument_list "(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6)" ( number_literal , (string_literal "" (target port asym. state changed by SET TARGET PORT GROUPS command)"" " string_content ") , identifier ))) ;) }) (else_clause "else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (if_statement "if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar10 == 0)" ( (binary_expression "bVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                  __printf_chk(1," (no status available)",puVar6);\n                }" { (expression_statement "__printf_chk(1," (no status available)",puVar6);" (call_expression "__printf_chk(1," (no status available)",puVar6)" identifier (argument_list "(1," (no status available)",puVar6)" ( number_literal , (string_literal "" (no status available)"" " string_content ") , identifier ))) ;) }) (else_clause "else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (if_statement "if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" if (parenthesized_expression "(bVar10 == 2)" ( (binary_expression "bVar10 == 2" identifier == number_literal) )) (compound_statement "{\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }" { (expression_statement "puStack_4b4 = (uint *)pcVar3;" (assignment_expression "puStack_4b4 = (uint *)pcVar3" identifier = (cast_expression "(uint *)pcVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");" (call_expression "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" identifier (argument_list "(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" ( number_literal , (string_literal "" (target port asym. state changed by implicit lu behaviour)"" " string_content ") , (string_literal ""0x%02x"" " string_content ") ))) ;) (expression_statement "puVar6 = (uint *)pcVar3;" (assignment_expression "puVar6 = (uint *)pcVar3" identifier = (cast_expression "(uint *)pcVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" else (compound_statement "{\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" { (expression_statement "puVar6 = extraout_ECX_01;" (assignment_expression "puVar6 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "puStack_4b4 = extraout_ECX_01;" (assignment_expression "puStack_4b4 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "__printf_chk(1," (unknown status code)",extraout_ECX_01);" (call_expression "__printf_chk(1," (unknown status code)",extraout_ECX_01)" identifier (argument_list "(1," (unknown status code)",extraout_ECX_01)" ( number_literal , (string_literal "" (unknown status code)"" " string_content ") , identifier ))) ;) }))))))) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "__printf_chk(1,"    vendor unique status : ",puVar6);" (call_expression "__printf_chk(1,"    vendor unique status : ",puVar6)" identifier (argument_list "(1,"    vendor unique status : ",puVar6)" ( number_literal , (string_literal ""    vendor unique status : "" " string_content ") , identifier ))) ;) (expression_statement "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));" (call_expression "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6))" identifier (argument_list "(1,&DAT_00012231,*(byte *)((int)puVar8 + 6))" ( number_literal , (pointer_expression "&DAT_00012231" & identifier) , (pointer_expression "*(byte *)((int)puVar8 + 6)" * (cast_expression "(byte *)((int)puVar8 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 6)" ( (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "__printf_chk(1,"    target port count : ");" (call_expression "__printf_chk(1,"    target port count : ")" identifier (argument_list "(1,"    target port count : ")" ( number_literal , (string_literal ""    target port count : "" " string_content ") ))) ;) (expression_statement "puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);" (assignment_expression "puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7)" identifier = (binary_expression "(uint *)(uint)*(byte *)((int)puVar8 + 7)" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 7)" ( (binary_expression "(int)puVar8 + 7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar6 = puVar4;" (assignment_expression "puVar6 = puVar4" identifier = identifier) ;) (expression_statement "__printf_chk(1,"%02x\n",puVar4);" (call_expression "__printf_chk(1,"%02x\n",puVar4)" identifier (argument_list "(1,"%02x\n",puVar4)" ( number_literal , (string_literal ""%02x\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_484 = (uint *)((int)puVar4 * 4);" (assignment_expression "local_484 = (uint *)((int)puVar4 * 4)" identifier = (cast_expression "(uint *)((int)puVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 * 4)" ( (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "local_498 = "    Relative target port ids:";" (assignment_expression "local_498 = "    Relative target port ids:"" identifier = (string_literal ""    Relative target port ids:"" " string_content ")) ;) (expression_statement "puVar4 = extraout_ECX_02;" (assignment_expression "puVar4 = extraout_ECX_02" identifier = identifier) ;) (for_statement "for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }" for ( (assignment_expression "iVar7 = 0" identifier = number_literal) ; (binary_expression "iVar7 < (int)local_484" identifier < (cast_expression "(int)local_484" ( (type_descriptor "int" primitive_type) ) identifier)) ; (assignment_expression "iVar7 = iVar7 + 4" identifier = (binary_expression "iVar7 + 4" identifier + number_literal)) ) (compound_statement "{\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }" { (if_statement "if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }" { (expression_statement "puts(local_498);" (call_expression "puts(local_498)" identifier (argument_list "(local_498)" ( identifier ))) ;) (expression_statement "puVar4 = extraout_ECX_04;" (assignment_expression "puVar4 = extraout_ECX_04" identifier = identifier) ;) })) (expression_statement "uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);" (assignment_expression "uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10)" identifier = (pointer_expression "*(ushort *)((int)puVar8 + iVar7 + 10)" * (cast_expression "(ushort *)((int)puVar8 + iVar7 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + iVar7 + 10)" ( (binary_expression "(int)puVar8 + iVar7 + 10" (binary_expression "(int)puVar8 + iVar7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);" (assignment_expression "puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" identifier = (cast_expression "(uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(uVar1 << 8 | uVar1 >> 8)" ( (binary_expression "uVar1 << 8 | uVar1 >> 8" (binary_expression "uVar1 << 8" identifier << number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal)) ))))) ;) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "__printf_chk(1,local_488,puVar6);" (call_expression "__printf_chk(1,local_488,puVar6)" identifier (argument_list "(1,local_488,puVar6)" ( number_literal , identifier , identifier ))) ;) (expression_statement "puVar4 = extraout_ECX_03;" (assignment_expression "puVar4 = extraout_ECX_03" identifier = identifier) ;) })) (expression_statement "puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));" (assignment_expression "puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2))" identifier = (cast_expression "(uint *)((int)puVar8 + (int)(local_484 + 2))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + (int)(local_484 + 2))" ( (binary_expression "(int)puVar8 + (int)(local_484 + 2)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(local_484 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_484 + 2)" ( (binary_expression "local_484 + 2" identifier + number_literal) )))) )))) ;) })) (goto_statement "goto LAB_00011439;" goto statement_identifier ;) })) }) (else_clause "else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" else (compound_statement "{\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" { (expression_statement "puVar6 = local_48c;" (assignment_expression "puVar6 = local_48c" identifier = identifier) ;) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" identifier = identifier) ;) (expression_statement "__printf_chk(1,"Report list length = %d\n",local_48c);" (call_expression "__printf_chk(1,"Report list length = %d\n",local_48c)" identifier (argument_list "(1,"Report list length = %d\n",local_48c)" ( number_literal , (string_literal ""Report list length = %d\n"" " string_content escape_sequence ") , identifier ))) ;) (if_statement "if (local_49f == '\0') goto LAB_00011645;" if (parenthesized_expression "(local_49f == '\0')" ( (binary_expression "local_49f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011645;" goto statement_identifier ;)) (expression_statement "puts("\nOutput response in hex:");" (call_expression "puts("\nOutput response in hex:")" identifier (argument_list "("\nOutput response in hex:")" ( (string_literal ""\nOutput response in hex:"" " escape_sequence string_content ") ))) ;) }))) (expression_statement "puStack_4b4 = &local_424;" (assignment_expression "puStack_4b4 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) (expression_statement "hex2stdout(local_484,local_48c,1);" (call_expression "hex2stdout(local_484,local_48c,1)" identifier (argument_list "(local_484,local_48c,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" identifier = (pointer_expression "&local_424" & identifier)) ;) }) (else_clause "else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" else (compound_statement "{\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" { (expression_statement "local_488 = puVar9;" (assignment_expression "local_488 = puVar9" identifier = identifier) ;) (for_statement "for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }" for ( (assignment_expression "iVar7 = 0" identifier = number_literal) ; (comma_expression "puVar9 = local_488, iVar7 < (int)local_48c" (assignment_expression "puVar9 = local_488" identifier = identifier) , (binary_expression "iVar7 < (int)local_48c" identifier < (cast_expression "(int)local_48c" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ) (compound_statement "{\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }" { (expression_statement "putchar((uint)*(byte *)((int)puVar8 + iVar7));" (call_expression "putchar((uint)*(byte *)((int)puVar8 + iVar7))" identifier (argument_list "((uint)*(byte *)((int)puVar8 + iVar7))" ( (binary_expression "(uint)*(byte *)((int)puVar8 + iVar7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar8 + iVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + iVar7)" ( (binary_expression "(int)puVar8 + iVar7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ))) ;) })) }))) (labeled_statement "LAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);" statement_identifier : (expression_statement "iVar7 = sg_cmds_close_device(local_494);" (assignment_expression "iVar7 = sg_cmds_close_device(local_494)" identifier = (call_expression "sg_cmds_close_device(local_494)" identifier (argument_list "(local_494)" ( identifier )))) ;)) (if_statement "if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }" { (expression_statement "puVar8 = (uint *)-iVar7;" (assignment_expression "puVar8 = (uint *)-iVar7" identifier = (cast_expression "(uint *)-iVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-iVar7" - identifier))) ;) (expression_statement "uVar5 = safe_strerror(puVar8);" (assignment_expression "uVar5 = safe_strerror(puVar8)" identifier = (call_expression "safe_strerror(puVar8)" identifier (argument_list "(puVar8)" ( identifier )))) ;) (expression_statement "pr2serr("close error: %s\n",uVar5);" (call_expression "pr2serr("close error: %s\n",uVar5)" identifier (argument_list "("close error: %s\n",uVar5)" ( (string_literal ""close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "puVar9 = (undefined *)sg_convert_errno(puVar8);" (assignment_expression "puVar9 = (undefined *)sg_convert_errno(puVar8)" identifier = (cast_expression "(undefined *)sg_convert_errno(puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))))) ;) })) }) (else_clause "else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" else (compound_statement "{\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" { (if_statement "if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" if (parenthesized_expression "(puVar9 == (undefined *)0x9)" ( (binary_expression "puVar9 == (undefined *)0x9" identifier == (cast_expression "(undefined *)0x9" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("Report Target Port Groups command not supported\n");\n      }" { (expression_statement "pr2serr("Report Target Port Groups command not supported\n");" (call_expression "pr2serr("Report Target Port Groups command not supported\n")" identifier (argument_list "("Report Target Port Groups command not supported\n")" ( (string_literal ""Report Target Port Groups command not supported\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" else (if_statement "if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" if (parenthesized_expression "(puVar9 == (undefined *)0x5)" ( (binary_expression "puVar9 == (undefined *)0x5" identifier == (cast_expression "(undefined *)0x5" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }" { (expression_statement "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;" (call_expression "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")" identifier (argument_list "("bad field in Report Target Port Groups cdb including unsupported service action\n")" ( (string_literal ""bad field in Report Target Port Groups cdb including unsupported service action\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" else (compound_statement "{\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" { (expression_statement "puStack_4b4 = local_490;" (assignment_expression "puStack_4b4 = local_490" identifier = identifier) ;) (expression_statement "sg_get_category_sense_str(puVar9,0x50,local_474);" (call_expression "sg_get_category_sense_str(puVar9,0x50,local_474)" identifier (argument_list "(puVar9,0x50,local_474)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pr2serr("Report Target Port Groups: %s\n",local_474);" (call_expression "pr2serr("Report Target Port Groups: %s\n",local_474)" identifier (argument_list "("Report Target Port Groups: %s\n",local_474)" ( (string_literal ""Report Target Port Groups: %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "puVar8 = local_474;" (assignment_expression "puVar8 = local_474" identifier = identifier) ;) }))))) (expression_statement "iVar7 = sg_cmds_close_device(local_494);" (assignment_expression "iVar7 = sg_cmds_close_device(local_494)" identifier = (call_expression "sg_cmds_close_device(local_494)" identifier (argument_list "(local_494)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }" { (expression_statement "uVar5 = safe_strerror(-iVar7);" (assignment_expression "uVar5 = safe_strerror(-iVar7)" identifier = (call_expression "safe_strerror(-iVar7)" identifier (argument_list "(-iVar7)" ( (unary_expression "-iVar7" - identifier) )))) ;) (expression_statement "pr2serr("close error: %s\n",uVar5);" (call_expression "pr2serr("close error: %s\n",uVar5)" identifier (argument_list "("close error: %s\n",uVar5)" ( (string_literal ""close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) })) }))) }))) (if_statement "if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" if (parenthesized_expression "((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'))" ( (binary_expression "(local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')" (parenthesized_expression "(local_490 == (uint *)0x0)" ( (binary_expression "local_490 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')" ( (comma_expression "puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'" (assignment_expression "puStack_4b4 = puVar8" identifier = identifier) , (comma_expression "cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'" (assignment_expression "cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8)" identifier = (call_expression "sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8)" identifier (argument_list "("sg_rtpg failed: ",puVar9,puVar8)" ( (string_literal ""sg_rtpg failed: "" " string_content ") , identifier , identifier )))) , (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" { (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 ") ))) ;) })) (if_statement "if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }" if (parenthesized_expression "((int)puVar9 < 0)" ( (binary_expression "(int)puVar9 < 0" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    puVar9 = (undefined *)0x63;\n  }" { (expression_statement "puVar9 = (undefined *)0x63;" (assignment_expression "puVar9 = (undefined *)0x63" identifier = (cast_expression "(undefined *)0x63" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (labeled_statement "LAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }" statement_identifier : (if_statement "if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }" if (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }" { (expression_statement "puStack_4b4 = (uint *)0x11b04;" (assignment_expression "puStack_4b4 = (uint *)0x11b04" identifier = (cast_expression "(uint *)0x11b04" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar11 = FUN_00011d00();" (assignment_expression "uVar11 = FUN_00011d00()" identifier = (call_expression "FUN_00011d00()" identifier (argument_list "()" ( )))) ;) (expression_statement "puStack_4b4 = (uint *)uVar11;" (assignment_expression "puStack_4b4 = (uint *)uVar11" identifier = (cast_expression "(uint *)uVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);" (call_expression "__libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4)" identifier (argument_list "(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)((ulonglong)uVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "&puStack_4b4" & identifier) ))) ;) (do_statement "do {\n                    \n    } while( true );" do (compound_statement "{\n                    \n    }" { }) while (parenthesized_expression "( true )" ( true )) ;) }))) (return_statement "return puVar9;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (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 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )))) ;) (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) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , (pointer_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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (expression_statement (assignment_expression IDENT = 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) ) (pointer_expression & IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT)) ))))) )))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case 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) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (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 (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 string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (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 string_content escape_sequence ") ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT ))) ;) (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 = (string_literal " string_content escape_sequence escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) , (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)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_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 = (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 ))))) ;) }) (else_clause else (compound_statement { (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 (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 = (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)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , IDENT , LIT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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)) )) + 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 ( (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;)) (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 & IDENT))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ; (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT)) , (binary_expression (binary_expression (call_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( IDENT ))) (argument_list ( IDENT ))) * IDENT) >> LIT) , (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) >> LIT) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) & LIT) ))) ;) (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 (binary_expression (parenthesized_expression ( IDENT )) * IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ))) ))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;)) })) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (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 *)) ) (cast_expression ( (type_descriptor TYPE) ) 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 ( LIT , (string_literal " string_content ") , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) }))))))) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , 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 = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( 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) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (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 " escape_sequence string_content ") ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - IDENT))) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) }) (else_clause else (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 ") ))) ;) }) (else_clause else (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 ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (unary_expression - IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , 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 (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT )))) , (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 string_content escape_sequence string_content escape_sequence ") ))) ;) })) (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)) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (pointer_expression & IDENT) ))) ;) (do_statement do (compound_statement { }) while (parenthesized_expression ( BOOL )) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined * FUN_00011160(uint *param_1,undefined *param_2)\n\n{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }\n  return puVar9;\n}" (type_identifier "undefined") (pointer_declarator "* FUN_00011160(uint *param_1,undefined *param_2)" (* "*") (function_declarator "FUN_00011160(uint *param_1,undefined *param_2)" (identifier "FUN_00011160") (parameter_list "(uint *param_1,undefined *param_2)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined *param_2" (type_identifier "undefined") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  ushort uVar1;\n  char cVar2;\n  char *pcVar3;\n  uint *puVar4;\n  undefined4 uVar5;\n  uint *extraout_ECX;\n  uint *puVar6;\n  int iVar7;\n  uint *extraout_ECX_00;\n  uint *extraout_ECX_01;\n  uint *extraout_ECX_02;\n  uint *extraout_ECX_03;\n  uint *extraout_ECX_04;\n  uint *extraout_EDX;\n  uint *extraout_EDX_00;\n  uint *puVar8;\n  undefined *puVar9;\n  int in_GS_OFFSET;\n  byte bVar10;\n  undefined8 uVar11;\n  uint *puStack_4b4;\n  undefined4 uStack_4b0;\n  undefined1 auStack_4ac [8];\n  undefined *local_4a4;\n  char local_49f;\n  char local_49e;\n  char local_49d;\n  uint local_49c;\n  char *local_498;\n  uint local_494;\n  uint *local_490;\n  uint *local_48c;\n  undefined *local_488;\n  uint *local_484;\n  uint local_478;\n  uint local_474 [20];\n  uint local_424;\n  byte local_420;\n  byte local_41f;\n  uint local_41c [254];\n  int local_24;\n  undefined4 *local_18;\n  \n  bVar10 = 0;\n  local_18 = &param_1;\n  local_484 = param_1;\n  local_488 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_48c = &local_478;\n  local_494 = local_494 & 0xffffff00;\n  local_490 = (uint *)0x0;\n  local_498 = (char *)((uint)local_498 & 0xffffff00);\n  local_49e = '\0';\n  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);\n  local_49c = local_49c & 0xffffff00;\n  local_49f = '\0';\n  local_49d = '\0';\n  while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }\n  puVar8 = (uint *)0x0;\n  puVar4 = *(uint **)PTR_optind_00013fec;\n  if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }\n  if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }\n  if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }\n  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }\n  puStack_4b4 = puVar4;\n  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);\n  if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }\n  if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }\n  if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }\nLAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }\n  return puVar9;\n}" ({ "{") (declaration "ushort uVar1;" (type_identifier "ushort") (identifier "uVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "uint *puVar4;" (type_identifier "uint") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "uint *extraout_ECX;" (type_identifier "uint") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint *extraout_ECX_00;" (type_identifier "uint") (pointer_declarator "*extraout_ECX_00" (* "*") (identifier "extraout_ECX_00")) (; ";")) (declaration "uint *extraout_ECX_01;" (type_identifier "uint") (pointer_declarator "*extraout_ECX_01" (* "*") (identifier "extraout_ECX_01")) (; ";")) (declaration "uint *extraout_ECX_02;" (type_identifier "uint") (pointer_declarator "*extraout_ECX_02" (* "*") (identifier "extraout_ECX_02")) (; ";")) (declaration "uint *extraout_ECX_03;" (type_identifier "uint") (pointer_declarator "*extraout_ECX_03" (* "*") (identifier "extraout_ECX_03")) (; ";")) (declaration "uint *extraout_ECX_04;" (type_identifier "uint") (pointer_declarator "*extraout_ECX_04" (* "*") (identifier "extraout_ECX_04")) (; ";")) (declaration "uint *extraout_EDX;" (type_identifier "uint") (pointer_declarator "*extraout_EDX" (* "*") (identifier "extraout_EDX")) (; ";")) (declaration "uint *extraout_EDX_00;" (type_identifier "uint") (pointer_declarator "*extraout_EDX_00" (* "*") (identifier "extraout_EDX_00")) (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte bVar10;" (type_identifier "byte") (identifier "bVar10") (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (declaration "uint *puStack_4b4;" (type_identifier "uint") (pointer_declarator "*puStack_4b4" (* "*") (identifier "puStack_4b4")) (; ";")) (declaration "undefined4 uStack_4b0;" (type_identifier "undefined4") (identifier "uStack_4b0") (; ";")) (declaration "undefined1 auStack_4ac [8];" (type_identifier "undefined1") (array_declarator "auStack_4ac [8]" (identifier "auStack_4ac") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined *local_4a4;" (type_identifier "undefined") (pointer_declarator "*local_4a4" (* "*") (identifier "local_4a4")) (; ";")) (declaration "char local_49f;" (primitive_type "char") (identifier "local_49f") (; ";")) (declaration "char local_49e;" (primitive_type "char") (identifier "local_49e") (; ";")) (declaration "char local_49d;" (primitive_type "char") (identifier "local_49d") (; ";")) (declaration "uint local_49c;" (type_identifier "uint") (identifier "local_49c") (; ";")) (declaration "char *local_498;" (primitive_type "char") (pointer_declarator "*local_498" (* "*") (identifier "local_498")) (; ";")) (declaration "uint local_494;" (type_identifier "uint") (identifier "local_494") (; ";")) (declaration "uint *local_490;" (type_identifier "uint") (pointer_declarator "*local_490" (* "*") (identifier "local_490")) (; ";")) (declaration "uint *local_48c;" (type_identifier "uint") (pointer_declarator "*local_48c" (* "*") (identifier "local_48c")) (; ";")) (declaration "undefined *local_488;" (type_identifier "undefined") (pointer_declarator "*local_488" (* "*") (identifier "local_488")) (; ";")) (declaration "uint *local_484;" (type_identifier "uint") (pointer_declarator "*local_484" (* "*") (identifier "local_484")) (; ";")) (declaration "uint local_478;" (type_identifier "uint") (identifier "local_478") (; ";")) (declaration "uint local_474 [20];" (type_identifier "uint") (array_declarator "local_474 [20]" (identifier "local_474") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "uint local_424;" (type_identifier "uint") (identifier "local_424") (; ";")) (declaration "byte local_420;" (type_identifier "byte") (identifier "local_420") (; ";")) (declaration "byte local_41f;" (type_identifier "byte") (identifier "local_41f") (; ";")) (declaration "uint local_41c [254];" (type_identifier "uint") (array_declarator "local_41c [254]" (identifier "local_41c") ([ "[") (number_literal "254") (] "]")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" (identifier "bVar10") (= "=") (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_484 = param_1;" (assignment_expression "local_484 = param_1" (identifier "local_484") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_488 = param_2;" (assignment_expression "local_488 = param_2" (identifier "local_488") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (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_48c = &local_478;" (assignment_expression "local_48c = &local_478" (identifier "local_48c") (= "=") (pointer_expression "&local_478" (& "&") (identifier "local_478"))) (; ";")) (expression_statement "local_494 = local_494 & 0xffffff00;" (assignment_expression "local_494 = local_494 & 0xffffff00" (identifier "local_494") (= "=") (binary_expression "local_494 & 0xffffff00" (identifier "local_494") (& "&") (number_literal "0xffffff00"))) (; ";")) (expression_statement "local_490 = (uint *)0x0;" (assignment_expression "local_490 = (uint *)0x0" (identifier "local_490") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_498 = (char *)((uint)local_498 & 0xffffff00);" (assignment_expression "local_498 = (char *)((uint)local_498 & 0xffffff00)" (identifier "local_498") (= "=") (cast_expression "(char *)((uint)local_498 & 0xffffff00)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_498 & 0xffffff00)" (( "(") (binary_expression "(uint)local_498 & 0xffffff00" (cast_expression "(uint)local_498" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_498")) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (expression_statement "local_49e = '\0';" (assignment_expression "local_49e = '\0'" (identifier "local_49e") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);" (assignment_expression "local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00)" (identifier "local_4a4") (= "=") (cast_expression "(undefined *)((uint)local_4a4 & 0xffffff00)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_4a4 & 0xffffff00)" (( "(") (binary_expression "(uint)local_4a4 & 0xffffff00" (cast_expression "(uint)local_4a4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_4a4")) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (expression_statement "local_49c = local_49c & 0xffffff00;" (assignment_expression "local_49c = local_49c & 0xffffff00" (identifier "local_49c") (= "=") (binary_expression "local_49c & 0xffffff00" (identifier "local_49c") (& "&") (number_literal "0xffffff00"))) (; ";")) (expression_statement "local_49f = '\0';" (assignment_expression "local_49f = '\0'" (identifier "local_49f") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_49d = '\0';" (assignment_expression "local_49d = '\0'" (identifier "local_49d") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (while_statement "while( true ) {\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    local_478 = 0;\n    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);\n    puVar9 = PTR_optind_00013fec;\n    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);\n    iVar7 = (int)uVar11;\n    if (iVar7 == -1) break;\n    puVar6 = extraout_ECX;\n    if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }\n    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));\n    switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }\n  }" ({ "{") (expression_statement "local_478 = 0;" (assignment_expression "local_478 = 0" (identifier "local_478") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);" (assignment_expression "uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" (identifier "uVar11") (= "=") (call_expression "getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" (identifier "getopt_long") (argument_list "(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c)" (( "(") (identifier "local_484") (, ",") (identifier "local_488") (, ",") (string_literal ""dehHrRvV"" (" """) (string_content "dehHrRvV") (" """)) (, ",") (pointer_expression "&PTR_s_decode_00014020" (& "&") (identifier "PTR_s_decode_00014020")) (, ",") (identifier "local_48c") () ")")))) (; ";")) (expression_statement "puVar9 = PTR_optind_00013fec;" (assignment_expression "puVar9 = PTR_optind_00013fec" (identifier "puVar9") (= "=") (identifier "PTR_optind_00013fec")) (; ";")) (expression_statement "puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);" (assignment_expression "puVar6 = (uint *)((ulonglong)uVar11 >> 0x20)" (identifier "puVar6") (= "=") (cast_expression "(uint *)((ulonglong)uVar11 >> 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar11 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "iVar7 = (int)uVar11;" (assignment_expression "iVar7 = (int)uVar11" (identifier "iVar7") (= "=") (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11"))) (; ";")) (if_statement "if (iVar7 == -1) break;" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar6 = extraout_ECX;" (assignment_expression "puVar6 = extraout_ECX" (identifier "puVar6") (= "=") (identifier "extraout_ECX")) (; ";")) (if_statement "if (0x37 < iVar7 - 0x3fU) {\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }" (if "if") (parenthesized_expression "(0x37 < iVar7 - 0x3fU)" (( "(") (binary_expression "0x37 < iVar7 - 0x3fU" (number_literal "0x37") (< "<") (binary_expression "iVar7 - 0x3fU" (identifier "iVar7") (- "-") (number_literal "0x3fU"))) () ")")) (compound_statement "{\nLAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";\n      puStack_4b4 = puVar6;\n      goto LAB_000112cd;\n    }" ({ "{") (labeled_statement "LAB_000112c4:\n      pcVar3 = "unrecognised option code 0x%x ??\n";" (statement_identifier "LAB_000112c4") (: ":") (expression_statement "pcVar3 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar3 = "unrecognised option code 0x%x ??\n"" (identifier "pcVar3") (= "=") (string_literal ""unrecognised option code 0x%x ??\n"" (" """) (string_content "unrecognised option code 0x%x ??") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" (identifier "puStack_4b4") (= "=") (identifier "puVar6")) (; ";")) (goto_statement "goto LAB_000112cd;" (goto "goto") (statement_identifier "LAB_000112cd") (; ";")) (} "}"))) (expression_statement "puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));" (assignment_expression "puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" (identifier "puVar6") (= "=") (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4))" (( "(") (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (pointer_expression "*(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" (* "*") (cast_expression "(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012804 + (iVar7 - 0x3fU) * 4)" (( "(") (binary_expression "&DAT_00012804 + (iVar7 - 0x3fU) * 4" (pointer_expression "&DAT_00012804" (& "&") (identifier "DAT_00012804")) (+ "+") (binary_expression "(iVar7 - 0x3fU) * 4" (parenthesized_expression "(iVar7 - 0x3fU)" (( "(") (binary_expression "iVar7 - 0x3fU" (identifier "iVar7") (- "-") (number_literal "0x3fU")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (switch_statement "switch(iVar7) {\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" (switch "switch") (parenthesized_expression "(iVar7)" (( "(") (identifier "iVar7") () ")")) (compound_statement "{\n    case 0x3f:\n    case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;\n    default:\n      goto LAB_000112c4;\n    case 0x48:\n      local_49f = '\x01';\n      break;\n    case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;\n    case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;\n    case 100:\n      local_49d = '\x01';\n      break;\n    case 0x65:\n      local_49e = '\x01';\n      break;\n    case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;\n    case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);\n    }" ({ "{") (case_statement "case 0x3f:" (case "case") (number_literal "0x3f") (: ":")) (case_statement "case 0x68:\n      puVar9 = (undefined *)0x0;\n      pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );\n      goto LAB_00011257;" (case "case") (number_literal "0x68") (: ":") (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             );" (call_expression "pr2serr(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" (identifier "pr2serr") (argument_list "(\n             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n             )" (( "(") (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" (" """) (string_content "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]") (escape_sequence "\n") (string_content "                 [--verbose] [--version] DEVICE") (escape_sequence "\n") (string_content "  where:") (escape_sequence "\n") (string_content "    --decode|-d        decode status and asym. access state") (escape_sequence "\n") (string_content "    --extended|-e      use extended header parameter data format") (escape_sequence "\n") (string_content "    --help|-h          print out usage message") (escape_sequence "\n") (string_content "    --hex|-H           print out response in hex") (escape_sequence "\n") (string_content "    --raw|-r           output response in binary to stdout") (escape_sequence "\n") (string_content "    --readonly|-R      open DEVICE read-only (def: read-write)") (escape_sequence "\n") (string_content "    --verbose|-v       increase verbosity") (escape_sequence "\n") (string_content "    --version|-V       print version string and exit") (escape_sequence "\n") (escape_sequence "\n") (string_content "Performs a SCSI REPORT TARGET PORT GROUPS command") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011257;" (goto "goto") (statement_identifier "LAB_00011257") (; ";"))) (case_statement "default:\n      goto LAB_000112c4;" (default "default") (: ":") (goto_statement "goto LAB_000112c4;" (goto "goto") (statement_identifier "LAB_000112c4") (; ";"))) (case_statement "case 0x48:\n      local_49f = '\x01';\n      break;" (case "case") (number_literal "0x48") (: ":") (expression_statement "local_49f = '\x01';" (assignment_expression "local_49f = '\x01'" (identifier "local_49f") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x52:\n      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);\n      break;" (case "case") (number_literal "0x52") (: ":") (expression_statement "local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);" (assignment_expression "local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1)" (identifier "local_4a4") (= "=") (cast_expression "(undefined *)CONCAT31(local_4a4._1_3_,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_4a4._1_3_,1)" (identifier "CONCAT31") (argument_list "(local_4a4._1_3_,1)" (( "(") (field_expression "local_4a4._1_3_" (identifier "local_4a4") (. ".") (field_identifier "_1_3_")) (, ",") (number_literal "1") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x56:\n      local_494 = CONCAT31(local_494._1_3_,1);\n      break;" (case "case") (number_literal "0x56") (: ":") (expression_statement "local_494 = CONCAT31(local_494._1_3_,1);" (assignment_expression "local_494 = CONCAT31(local_494._1_3_,1)" (identifier "local_494") (= "=") (call_expression "CONCAT31(local_494._1_3_,1)" (identifier "CONCAT31") (argument_list "(local_494._1_3_,1)" (( "(") (field_expression "local_494._1_3_" (identifier "local_494") (. ".") (field_identifier "_1_3_")) (, ",") (number_literal "1") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 100:\n      local_49d = '\x01';\n      break;" (case "case") (number_literal "100") (: ":") (expression_statement "local_49d = '\x01';" (assignment_expression "local_49d = '\x01'" (identifier "local_49d") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x65:\n      local_49e = '\x01';\n      break;" (case "case") (number_literal "0x65") (: ":") (expression_statement "local_49e = '\x01';" (assignment_expression "local_49e = '\x01'" (identifier "local_49e") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x72:\n      local_49c = CONCAT31(local_49c._1_3_,1);\n      break;" (case "case") (number_literal "0x72") (: ":") (expression_statement "local_49c = CONCAT31(local_49c._1_3_,1);" (assignment_expression "local_49c = CONCAT31(local_49c._1_3_,1)" (identifier "local_49c") (= "=") (call_expression "CONCAT31(local_49c._1_3_,1)" (identifier "CONCAT31") (argument_list "(local_49c._1_3_,1)" (( "(") (field_expression "local_49c._1_3_" (identifier "local_49c") (. ".") (field_identifier "_1_3_")) (, ",") (number_literal "1") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x76:\n      local_490 = (uint *)((int)local_490 + 1);\n      local_498 = (char *)CONCAT31(local_498._1_3_,1);" (case "case") (number_literal "0x76") (: ":") (expression_statement "local_490 = (uint *)((int)local_490 + 1);" (assignment_expression "local_490 = (uint *)((int)local_490 + 1)" (identifier "local_490") (= "=") (cast_expression "(uint *)((int)local_490 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_490 + 1)" (( "(") (binary_expression "(int)local_490 + 1" (cast_expression "(int)local_490" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_490")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_498 = (char *)CONCAT31(local_498._1_3_,1);" (assignment_expression "local_498 = (char *)CONCAT31(local_498._1_3_,1)" (identifier "local_498") (= "=") (cast_expression "(char *)CONCAT31(local_498._1_3_,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_498._1_3_,1)" (identifier "CONCAT31") (argument_list "(local_498._1_3_,1)" (( "(") (field_expression "local_498._1_3_" (identifier "local_498") (. ".") (field_identifier "_1_3_")) (, ",") (number_literal "1") () ")"))))) (; ";"))) (} "}"))) (} "}"))) (expression_statement "puVar8 = (uint *)0x0;" (assignment_expression "puVar8 = (uint *)0x0" (identifier "puVar8") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar4 = *(uint **)PTR_optind_00013fec;" (assignment_expression "puVar4 = *(uint **)PTR_optind_00013fec" (identifier "puVar4") (= "=") (pointer_expression "*(uint **)PTR_optind_00013fec" (* "*") (cast_expression "(uint **)PTR_optind_00013fec" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optind_00013fec")))) (; ";")) (if_statement "if ((int)puVar4 < (int)local_484) {\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }" (if "if") (parenthesized_expression "((int)puVar4 < (int)local_484)" (( "(") (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (< "<") (cast_expression "(int)local_484" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_484"))) () ")")) (compound_statement "{\n    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);\n    puVar4 = (uint *)((int)puVar4 + 1);\n    *(uint **)PTR_optind_00013fec = puVar4;\n    if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }\n  }" ({ "{") (expression_statement "puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);" (assignment_expression "puVar8 = *(uint **)(local_488 + (int)puVar4 * 4)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(local_488 + (int)puVar4 * 4)" (* "*") (cast_expression "(uint **)(local_488 + (int)puVar4 * 4)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_488 + (int)puVar4 * 4)" (( "(") (binary_expression "local_488 + (int)puVar4 * 4" (identifier "local_488") (+ "+") (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "puVar4 = (uint *)((int)puVar4 + 1);" (assignment_expression "puVar4 = (uint *)((int)puVar4 + 1)" (identifier "puVar4") (= "=") (cast_expression "(uint *)((int)puVar4 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar4 + 1)" (( "(") (binary_expression "(int)puVar4 + 1" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(uint **)PTR_optind_00013fec = puVar4;" (assignment_expression "*(uint **)PTR_optind_00013fec = puVar4" (pointer_expression "*(uint **)PTR_optind_00013fec" (* "*") (cast_expression "(uint **)PTR_optind_00013fec" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optind_00013fec"))) (= "=") (identifier "puVar4")) (; ";")) (if_statement "if ((int)puVar4 < (int)local_484) {\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }" (if "if") (parenthesized_expression "((int)puVar4 < (int)local_484)" (( "(") (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (< "<") (cast_expression "(int)local_484" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_484"))) () ")")) (compound_statement "{\n      do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);\n      puVar9 = (undefined *)0x1;\n      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);\n      goto LAB_00011257;\n    }" ({ "{") (do_statement "do {\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      } while ((int)puVar4 < (int)local_484);" (do "do") (compound_statement "{\n        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);\n        puVar8 = puVar6;\n        puStack_4b4 = puVar6;\n        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);\n        puVar4 = (uint *)(*(int *)puVar9 + 1);\n        *(uint **)puVar9 = puVar4;\n        puVar6 = extraout_EDX;\n      }" ({ "{") (expression_statement "uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);" (assignment_expression "uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(local_488 + (int)puVar4 * 4)" (* "*") (cast_expression "(undefined4 *)(local_488 + (int)puVar4 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_488 + (int)puVar4 * 4)" (( "(") (binary_expression "local_488 + (int)puVar4 * 4" (identifier "local_488") (+ "+") (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "puVar8 = puVar6;" (assignment_expression "puVar8 = puVar6" (identifier "puVar8") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" (identifier "puStack_4b4") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);" (call_expression "pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6)" (identifier "pr2serr") (argument_list "("Unexpected extra argument: %s\n",uVar5,puVar6)" (( "(") (string_literal ""Unexpected extra argument: %s\n"" (" """) (string_content "Unexpected extra argument: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar5") (, ",") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "puVar4 = (uint *)(*(int *)puVar9 + 1);" (assignment_expression "puVar4 = (uint *)(*(int *)puVar9 + 1)" (identifier "puVar4") (= "=") (cast_expression "(uint *)(*(int *)puVar9 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar9 + 1)" (( "(") (binary_expression "*(int *)puVar9 + 1" (pointer_expression "*(int *)puVar9" (* "*") (cast_expression "(int *)puVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(uint **)puVar9 = puVar4;" (assignment_expression "*(uint **)puVar9 = puVar4" (pointer_expression "*(uint **)puVar9" (* "*") (cast_expression "(uint **)puVar9" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar9"))) (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puVar6 = extraout_EDX;" (assignment_expression "puVar6 = extraout_EDX" (identifier "puVar6") (= "=") (identifier "extraout_EDX")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar4 < (int)local_484)" (( "(") (binary_expression "(int)puVar4 < (int)local_484" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (< "<") (cast_expression "(int)local_484" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_484"))) () ")")) (; ";")) (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8);" (call_expression "pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8)" (identifier "pr2serr") (argument_list "("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n              ,uVar5,puVar8)" (( "(") (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" (" """) (string_content "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]") (escape_sequence "\n") (string_content "                 [--verbose] [--version] DEVICE") (escape_sequence "\n") (string_content "  where:") (escape_sequence "\n") (string_content "    --decode|-d        decode status and asym. access state") (escape_sequence "\n") (string_content "    --extended|-e      use extended header parameter data format") (escape_sequence "\n") (string_content "    --help|-h          print out usage message") (escape_sequence "\n") (string_content "    --hex|-H           print out response in hex") (escape_sequence "\n") (string_content "    --raw|-r           output response in binary to stdout") (escape_sequence "\n") (string_content "    --readonly|-R      open DEVICE read-only (def: read-write)") (escape_sequence "\n") (string_content "    --verbose|-v       increase verbosity") (escape_sequence "\n") (string_content "    --version|-V       print version string and exit") (escape_sequence "\n") (escape_sequence "\n") (string_content "Performs a SCSI REPORT TARGET PORT GROUPS command") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar5") (, ",") (identifier "puVar8") () ")"))) (; ";")) (goto_statement "goto LAB_00011257;" (goto "goto") (statement_identifier "LAB_00011257") (; ";")) (} "}"))) (} "}"))) (if_statement "if ((char)local_498 == '\0') {\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }\n  else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" (if "if") (parenthesized_expression "((char)local_498 == '\0')" (( "(") (binary_expression "(char)local_498 == '\0'" (cast_expression "(char)local_498" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_498")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if ((char)local_494 != '\0') goto LAB_00011492;\n  }" ({ "{") (if_statement "if ((char)local_494 != '\0') goto LAB_00011492;" (if "if") (parenthesized_expression "((char)local_494 != '\0')" (( "(") (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_494")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00011492;" (goto "goto") (statement_identifier "LAB_00011492") (; ";"))) (} "}")) (else_clause "else if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" (else "else") (if_statement "if ((char)local_494 != '\0') {\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" (if "if") (parenthesized_expression "((char)local_494 != '\0')" (( "(") (binary_expression "(char)local_494 != '\0'" (cast_expression "(char)local_494" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_494")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\nLAB_00011492:\n    puVar9 = (undefined *)0x0;\n    puStack_4b4 = puVar4;\n    pr2serr("Version: %s\n","1.27 20180628",puVar4);\n    goto LAB_00011257;\n  }" ({ "{") (expression_statement "puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (assignment_expression "puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" (identifier "puVar4") (= "=") (cast_expression "(uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (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") (" """)) () ")"))))) (; ";")) (labeled_statement "LAB_00011492:\n    puVar9 = (undefined *)0x0;" (statement_identifier "LAB_00011492") (: ":") (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" (identifier "puStack_4b4") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "pr2serr("Version: %s\n","1.27 20180628",puVar4);" (call_expression "pr2serr("Version: %s\n","1.27 20180628",puVar4)" (identifier "pr2serr") (argument_list "("Version: %s\n","1.27 20180628",puVar4)" (( "(") (string_literal ""Version: %s\n"" (" """) (string_content "Version: %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""1.27 20180628"" (" """) (string_content "1.27 20180628") (" """)) (, ",") (identifier "puVar4") () ")"))) (; ";")) (goto_statement "goto LAB_00011257;" (goto "goto") (statement_identifier "LAB_00011257") (; ";")) (} "}"))))) (if_statement "if (puVar8 == (uint *)0x0) {\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" (if "if") (parenthesized_expression "(puVar8 == (uint *)0x0)" (( "(") (binary_expression "puVar8 == (uint *)0x0" (identifier "puVar8") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar3 = "Missing device name!\n\n";\nLAB_000112cd:\n    puVar9 = (undefined *)0x1;\n    pr2serr(pcVar3);\n    pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );\n    goto LAB_00011257;\n  }" ({ "{") (expression_statement "pcVar3 = "Missing device name!\n\n";" (assignment_expression "pcVar3 = "Missing device name!\n\n"" (identifier "pcVar3") (= "=") (string_literal ""Missing device name!\n\n"" (" """) (string_content "Missing device name!") (escape_sequence "\n") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_000112cd:\n    puVar9 = (undefined *)0x1;" (statement_identifier "LAB_000112cd") (: ":") (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (expression_statement "pr2serr(pcVar3);" (call_expression "pr2serr(pcVar3)" (identifier "pr2serr") (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")"))) (; ";")) (expression_statement "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           );" (call_expression "pr2serr(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" (identifier "pr2serr") (argument_list "(\n           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"\n           )" (( "(") (string_literal ""Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"" (" """) (string_content "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]") (escape_sequence "\n") (string_content "                 [--verbose] [--version] DEVICE") (escape_sequence "\n") (string_content "  where:") (escape_sequence "\n") (string_content "    --decode|-d        decode status and asym. access state") (escape_sequence "\n") (string_content "    --extended|-e      use extended header parameter data format") (escape_sequence "\n") (string_content "    --help|-h          print out usage message") (escape_sequence "\n") (string_content "    --hex|-H           print out response in hex") (escape_sequence "\n") (string_content "    --raw|-r           output response in binary to stdout") (escape_sequence "\n") (string_content "    --readonly|-R      open DEVICE read-only (def: read-write)") (escape_sequence "\n") (string_content "    --verbose|-v       increase verbosity") (escape_sequence "\n") (string_content "    --version|-V       print version string and exit") (escape_sequence "\n") (escape_sequence "\n") (string_content "Performs a SCSI REPORT TARGET PORT GROUPS command") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011257;" (goto "goto") (statement_identifier "LAB_00011257") (; ";")) (} "}"))) (if_statement "if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" (if "if") (parenthesized_expression "(((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0))" (( "(") (binary_expression "((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)" (parenthesized_expression "((char)local_49c != '\0')" (( "(") (binary_expression "(char)local_49c != '\0'" (cast_expression "(char)local_49c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_49c")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)" (( "(") (comma_expression "puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0" (assignment_expression "puVar4 = (uint *)sg_set_binary_mode(1)" (identifier "puVar4") (= "=") (cast_expression "(uint *)sg_set_binary_mode(1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_set_binary_mode(1)" (identifier "sg_set_binary_mode") (argument_list "(1)" (( "(") (number_literal "1") () ")"))))) (, ",") (binary_expression "(int)puVar4 < 0" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (< "<") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    puVar9 = (undefined *)0xf;\n    perror("sg_set_binary_mode");\n    goto LAB_00011257;\n  }" ({ "{") (expression_statement "puVar9 = (undefined *)0xf;" (assignment_expression "puVar9 = (undefined *)0xf" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0xf" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (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") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011257;" (goto "goto") (statement_identifier "LAB_00011257") (; ";")) (} "}"))) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" (identifier "puStack_4b4") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);" (assignment_expression "local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490)" (identifier "local_494") (= "=") (call_expression "sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490)" (identifier "sg_cmds_open_device") (argument_list "(puVar8,(uint)local_4a4 & 0xff,local_490)" (( "(") (identifier "puVar8") (, ",") (binary_expression "(uint)local_4a4 & 0xff" (cast_expression "(uint)local_4a4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_4a4")) (& "&") (number_literal "0xff")) (, ",") (identifier "local_490") () ")")))) (; ";")) (if_statement "if ((int)local_494 < 0) {\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }\n  else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" (if "if") (parenthesized_expression "((int)local_494 < 0)" (( "(") (binary_expression "(int)local_494 < 0" (cast_expression "(int)local_494" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_494")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar7 = -local_494;\n    if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }\n    puVar9 = (undefined *)sg_convert_errno(iVar7);\n  }" ({ "{") (expression_statement "iVar7 = -local_494;" (assignment_expression "iVar7 = -local_494" (identifier "iVar7") (= "=") (unary_expression "-local_494" (- "-") (identifier "local_494"))) (; ";")) (if_statement "if (local_490 != (uint *)0x0) {\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }" (if "if") (parenthesized_expression "(local_490 != (uint *)0x0)" (( "(") (binary_expression "local_490 != (uint *)0x0" (identifier "local_490") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar5 = safe_strerror(iVar7);\n      pr2serr("open error: %s: %s\n",puVar8,uVar5);\n    }" ({ "{") (expression_statement "uVar5 = safe_strerror(iVar7);" (assignment_expression "uVar5 = safe_strerror(iVar7)" (identifier "uVar5") (= "=") (call_expression "safe_strerror(iVar7)" (identifier "safe_strerror") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "pr2serr("open error: %s: %s\n",puVar8,uVar5);" (call_expression "pr2serr("open error: %s: %s\n",puVar8,uVar5)" (identifier "pr2serr") (argument_list "("open error: %s: %s\n",puVar8,uVar5)" (( "(") (string_literal ""open error: %s: %s\n"" (" """) (string_content "open error: %s: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "puVar8") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar9 = (undefined *)sg_convert_errno(iVar7);" (assignment_expression "puVar9 = (undefined *)sg_convert_errno(iVar7)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)sg_convert_errno(iVar7)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(iVar7)" (identifier "sg_convert_errno") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" (else "else") (compound_statement "{\n    puVar6 = &local_424;\n    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }\n    puStack_4b4 = (uint *)0x0;\n    puVar6 = (uint *)0x0;\n    local_484 = &local_424;\n    puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);\n    puVar8 = &local_424;\n    if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }\n  }" ({ "{") (expression_statement "puVar6 = &local_424;" (assignment_expression "puVar6 = &local_424" (identifier "puVar6") (= "=") (pointer_expression "&local_424" (& "&") (identifier "local_424"))) (; ";")) (for_statement "for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar7 = 0x100" (identifier "iVar7") (= "=") (number_literal "0x100")) (; ";") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = puVar6 + (uint)bVar10 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar10 * -2 + 1" (identifier "puVar6") (= "=") (binary_expression "puVar6 + (uint)bVar10 * -2 + 1" (binary_expression "puVar6 + (uint)bVar10 * -2" (identifier "puVar6") (+ "+") (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar10")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "puStack_4b4 = (uint *)0x0;" (assignment_expression "puStack_4b4 = (uint *)0x0" (identifier "puStack_4b4") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar6 = (uint *)0x0;" (assignment_expression "puVar6 = (uint *)0x0" (identifier "puVar6") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_484 = &local_424;" (assignment_expression "local_484 = &local_424" (identifier "local_484") (= "=") (pointer_expression "&local_424" (& "&") (identifier "local_424"))) (; ";")) (expression_statement "puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);" (assignment_expression "puVar9 = (undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)\n             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0)" (identifier "sg_ll_report_tgt_prt_grp2") (argument_list "(local_494,&local_424,0x400,local_49e,1,local_490,0)" (( "(") (identifier "local_494") (, ",") (pointer_expression "&local_424" (& "&") (identifier "local_424")) (, ",") (number_literal "0x400") (, ",") (identifier "local_49e") (, ",") (number_literal "1") (, ",") (identifier "local_490") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" (identifier "puVar8") (= "=") (pointer_expression "&local_424" (& "&") (identifier "local_424"))) (; ";")) (if_statement "if (puVar9 == (undefined *)0x0) {\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }\n    else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" (if "if") (parenthesized_expression "(puVar9 == (undefined *)0x0)" (( "(") (binary_expression "puVar9 == (undefined *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);\n      local_48c = puVar4;\n      if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }\n      puVar8 = local_484;\n      if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }\nLAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }\n    }" ({ "{") (expression_statement "puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4);" (assignment_expression "puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" (identifier "puVar4") (= "=") (cast_expression "(uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4)" (( "(") (binary_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18) + 4" (parenthesized_expression "(local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18)" (( "(") (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8\n                        | local_424 << 0x18" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8" (binary_expression "local_424 >> 0x18 | (local_424 & 0xff0000) >> 8" (binary_expression "local_424 >> 0x18" (identifier "local_424") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_424 & 0xff0000) >> 8" (parenthesized_expression "(local_424 & 0xff0000)" (( "(") (binary_expression "local_424 & 0xff0000" (identifier "local_424") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_424 & 0xff00) << 8" (parenthesized_expression "(local_424 & 0xff00)" (( "(") (binary_expression "local_424 & 0xff00" (identifier "local_424") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_424 << 0x18" (identifier "local_424") (<< "<<") (number_literal "0x18"))) () ")")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "local_48c = puVar4;" (assignment_expression "local_48c = puVar4" (identifier "local_48c") (= "=") (identifier "puVar4")) (; ";")) (if_statement "if (0x400 < (int)puVar4) {\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" (if "if") (parenthesized_expression "(0x400 < (int)puVar4)" (( "(") (binary_expression "0x400 < (int)puVar4" (number_literal "0x400") (< "<") (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4"))) () ")")) (compound_statement "{\n        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");\n        local_48c = (uint *)0x400;\n      }" ({ "{") (expression_statement "puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");" (assignment_expression "puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" (identifier "puVar4") (= "=") (cast_expression "(uint *)pr2serr("  <<report too long for internal buffer, output truncated\n")" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "pr2serr("  <<report too long for internal buffer, output truncated\n")" (identifier "pr2serr") (argument_list "("  <<report too long for internal buffer, output truncated\n")" (( "(") (string_literal ""  <<report too long for internal buffer, output truncated\n"" (" """) (string_content "  <<report too long for internal buffer, output truncated") (escape_sequence "\n") (" """)) () ")"))))) (; ";")) (expression_statement "local_48c = (uint *)0x400;" (assignment_expression "local_48c = (uint *)0x400" (identifier "local_48c") (= "=") (cast_expression "(uint *)0x400" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x400"))) (; ";")) (} "}"))) (expression_statement "puVar8 = local_484;" (assignment_expression "puVar8 = local_484" (identifier "puVar8") (= "=") (identifier "local_484")) (; ";")) (if_statement "if ((char)local_49c == '\0') {\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }\n      else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" (if "if") (parenthesized_expression "((char)local_49c == '\0')" (( "(") (binary_expression "(char)local_49c == '\0'" (cast_expression "(char)local_49c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_49c")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }\n        puStack_4b4 = &local_424;\n        hex2stdout(local_484,local_48c,1);\n        puVar8 = &local_424;\n      }" ({ "{") (if_statement "if (local_490 == (uint *)0x0) {\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }\n        else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" (if "if") (parenthesized_expression "(local_490 == (uint *)0x0)" (( "(") (binary_expression "local_490 == (uint *)0x0" (identifier "local_490") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }\n        }" ({ "{") (if_statement "if (local_49f == '\0') {\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" (if "if") (parenthesized_expression "(local_49f == '\0')" (( "(") (binary_expression "local_49f == '\0'" (identifier "local_49f") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_00011645:\n            puts("Report target port groups:");\n            if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }\n            local_488 = &DAT_0001222b;\n            local_4a4 = puVar9;\n            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }\n            goto LAB_00011439;\n          }" ({ "{") (labeled_statement "LAB_00011645:\n            puts("Report target port groups:");" (statement_identifier "LAB_00011645") (: ":") (expression_statement "puts("Report target port groups:");" (call_expression "puts("Report target port groups:")" (identifier "puts") (argument_list "("Report target port groups:")" (( "(") (string_literal ""Report target port groups:"" (" """) (string_content "Report target port groups:") (" """)) () ")"))) (; ";"))) (if_statement "if (local_49e == '\0') {\n              puVar8 = (uint *)&local_420;\n            }\n            else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" (if "if") (parenthesized_expression "(local_49e == '\0')" (( "(") (binary_expression "local_49e == '\0'" (identifier "local_49e") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              puVar8 = (uint *)&local_420;\n            }" ({ "{") (expression_statement "puVar8 = (uint *)&local_420;" (assignment_expression "puVar8 = (uint *)&local_420" (identifier "puVar8") (= "=") (cast_expression "(uint *)&local_420" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_420" (& "&") (identifier "local_420")))) (; ";")) (} "}")) (else_clause "else {\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" (else "else") (compound_statement "{\n              if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }\n              puVar6 = (uint *)(uint)local_41f;\n              puVar8 = local_41c;\n              puStack_4b4 = extraout_ECX_00;\n              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);\n            }" ({ "{") (if_statement "if ((local_420 & 0x70) != 0x10) {\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }" (if "if") (parenthesized_expression "((local_420 & 0x70) != 0x10)" (( "(") (binary_expression "(local_420 & 0x70) != 0x10" (parenthesized_expression "(local_420 & 0x70)" (( "(") (binary_expression "local_420 & 0x70" (identifier "local_420") (& "&") (number_literal "0x70")) () ")")) (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n                pr2serr("   <<invalid extended header format\n");\n                puVar8 = &local_424;\n                goto LAB_00011439;\n              }" ({ "{") (expression_statement "pr2serr("   <<invalid extended header format\n");" (call_expression "pr2serr("   <<invalid extended header format\n")" (identifier "pr2serr") (argument_list "("   <<invalid extended header format\n")" (( "(") (string_literal ""   <<invalid extended header format\n"" (" """) (string_content "   <<invalid extended header format") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" (identifier "puVar8") (= "=") (pointer_expression "&local_424" (& "&") (identifier "local_424"))) (; ";")) (goto_statement "goto LAB_00011439;" (goto "goto") (statement_identifier "LAB_00011439") (; ";")) (} "}"))) (expression_statement "puVar6 = (uint *)(uint)local_41f;" (assignment_expression "puVar6 = (uint *)(uint)local_41f" (identifier "puVar6") (= "=") (cast_expression "(uint *)(uint)local_41f" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_41f" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_41f")))) (; ";")) (expression_statement "puVar8 = local_41c;" (assignment_expression "puVar8 = local_41c" (identifier "puVar8") (= "=") (identifier "local_41c")) (; ";")) (expression_statement "puStack_4b4 = extraout_ECX_00;" (assignment_expression "puStack_4b4 = extraout_ECX_00" (identifier "puStack_4b4") (= "=") (identifier "extraout_ECX_00")) (; ";")) (expression_statement "__printf_chk(1,"  Implicit transition time: %d\n",puVar6);" (call_expression "__printf_chk(1,"  Implicit transition time: %d\n",puVar6)" (identifier "__printf_chk") (argument_list "(1,"  Implicit transition time: %d\n",puVar6)" (( "(") (number_literal "1") (, ",") (string_literal ""  Implicit transition time: %d\n"" (" """) (string_content "  Implicit transition time: %d") (escape_sequence "\n") (" """)) (, ",") (identifier "puVar6") () ")"))) (; ";")) (} "}")))) (expression_statement "local_488 = &DAT_0001222b;" (assignment_expression "local_488 = &DAT_0001222b" (identifier "local_488") (= "=") (pointer_expression "&DAT_0001222b" (& "&") (identifier "DAT_0001222b"))) (; ";")) (expression_statement "local_4a4 = puVar9;" (assignment_expression "local_4a4 = puVar9" (identifier "local_4a4") (= "=") (identifier "puVar9")) (; ";")) (for_statement "for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }" (for "for") (( "(") (assignment_expression "local_49c = (int)puVar8 - (int)local_484" (identifier "local_49c") (= "=") (binary_expression "(int)puVar8 - (int)local_484" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (- "-") (cast_expression "(int)local_484" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_484")))) (; ";") (comma_expression "puVar9 = local_4a4,\n                (int)local_49c < (int)local_48c" (assignment_expression "puVar9 = local_4a4" (identifier "puVar9") (= "=") (identifier "local_4a4")) (, ",") (binary_expression "(int)local_49c < (int)local_48c" (cast_expression "(int)local_49c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_49c")) (< "<") (cast_expression "(int)local_48c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48c")))) (; ";") (assignment_expression "local_49c = local_49c + (int)(local_484 + 2)" (identifier "local_49c") (= "=") (binary_expression "local_49c + (int)(local_484 + 2)" (identifier "local_49c") (+ "+") (cast_expression "(int)(local_484 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_484 + 2)" (( "(") (binary_expression "local_484 + 2" (identifier "local_484") (+ "+") (number_literal "2")) () ")"))))) () ")") (compound_statement "{\n              pcVar3 = "0x%02x";\n              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);\n              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);\n              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);\n              if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;\n              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);\n              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);\n              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);\n              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);\n              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);\n              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);\n              __printf_chk(1,"    status code : ");\n              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);\n              __printf_chk(1,"0x%02x",puVar6);\n              if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }\n              putchar(10);\n              __printf_chk(1,"    vendor unique status : ",puVar6);\n              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));\n              __printf_chk(1,"    target port count : ");\n              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);\n              puVar6 = puVar4;\n              __printf_chk(1,"%02x\n",puVar4);\n              local_484 = (uint *)((int)puVar4 * 4);\n              local_498 = "    Relative target port ids:";\n              puVar4 = extraout_ECX_02;\n              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }\n              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));\n            }" ({ "{") (expression_statement "pcVar3 = "0x%02x";" (assignment_expression "pcVar3 = "0x%02x"" (identifier "pcVar3") (= "=") (string_literal ""0x%02x"" (" """) (string_content "0x%02x") (" """))) (; ";")) (expression_statement "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);" (call_expression "__printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7)" (identifier "__printf_chk") (argument_list "(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",\n                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,\n                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7)" (( "(") (number_literal "1") (, ",") (string_literal ""  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n"" (" """) (string_content "  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d") (escape_sequence "\n") (" """)) (, ",") (binary_expression "*(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar8 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar8 + 2)" (* "*") (cast_expression "(ushort *)((int)puVar8 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 2)" (( "(") (binary_expression "(int)puVar8 + 2" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "2")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)((int)puVar8 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar8 + 2)" (* "*") (cast_expression "(ushort *)((int)puVar8 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 2)" (( "(") (binary_expression "(int)puVar8 + 2" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "2")) () ")")))) (>> ">>") (number_literal "8"))) (, ",") (binary_expression "(uint)(int)(char)(byte)*puVar8 >> 0x1f" (binary_expression "(uint)(int)(char)(byte)*puVar8" (call_expression "(uint)(int)(char)(byte)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "puVar8")) (>> ">>") (number_literal "0x1f")) (, ",") (binary_expression "(byte)*puVar8 >> 4 & 7" (binary_expression "(byte)*puVar8 >> 4" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar8")) (>> ">>") (number_literal "4")) (& "&") (number_literal "7")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"    target port group asymmetric access state : ",puVar6);" (call_expression "__printf_chk(1,"    target port group asymmetric access state : ",puVar6)" (identifier "__printf_chk") (argument_list "(1,"    target port group asymmetric access state : ",puVar6)" (( "(") (number_literal "1") (, ",") (string_literal ""    target port group asymmetric access state : "" (" """) (string_content "    target port group asymmetric access state : ") (" """)) (, ",") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "__printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);" (call_expression "__printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf)" (identifier "__printf_chk") (argument_list "(1,"0x%02x",(byte)*puVar8 & 0xf)" (( "(") (number_literal "1") (, ",") (string_literal ""0x%02x"" (" """) (string_content "0x%02x") (" """)) (, ",") (binary_expression "(byte)*puVar8 & 0xf" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar8")) (& "&") (number_literal "0xf")) () ")"))) (; ";")) (if_statement "if (local_49d != '\0') {\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" (if "if") (parenthesized_expression "(local_49d != '\0')" (( "(") (binary_expression "local_49d != '\0'" (identifier "local_49d") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);\n                iVar7 = (int)puStack_4b4 * 4;\n                switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }\n              }" ({ "{") (expression_statement "puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);" (assignment_expression "puStack_4b4 = (uint *)((byte)*puVar8 & 0xf)" (identifier "puStack_4b4") (= "=") (cast_expression "(uint *)((byte)*puVar8 & 0xf)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((byte)*puVar8 & 0xf)" (( "(") (binary_expression "(byte)*puVar8 & 0xf" (binary_expression "(byte)*puVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar8")) (& "&") (number_literal "0xf")) () ")")))) (; ";")) (expression_statement "iVar7 = (int)puStack_4b4 * 4;" (assignment_expression "iVar7 = (int)puStack_4b4 * 4" (identifier "iVar7") (= "=") (binary_expression "(int)puStack_4b4 * 4" (cast_expression "(int)puStack_4b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_4b4")) (* "*") (number_literal "4"))) (; ";")) (switch_statement "switch(puStack_4b4) {\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" (switch "switch") (parenthesized_expression "(puStack_4b4)" (( "(") (identifier "puStack_4b4") () ")")) (compound_statement "{\n                case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;\n                case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;\n                case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;\n                case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;\n                case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;\n                default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;\n                case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;\n                case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);\n                }" ({ "{") (case_statement "case (uint *)0x0:\n                  puStack_4b4 = extraout_EDX_00;\n                  __printf_chk(1," (active/optimized)",extraout_EDX_00);\n                  break;" (case "case") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":") (expression_statement "puStack_4b4 = extraout_EDX_00;" (assignment_expression "puStack_4b4 = extraout_EDX_00" (identifier "puStack_4b4") (= "=") (identifier "extraout_EDX_00")) (; ";")) (expression_statement "__printf_chk(1," (active/optimized)",extraout_EDX_00);" (call_expression "__printf_chk(1," (active/optimized)",extraout_EDX_00)" (identifier "__printf_chk") (argument_list "(1," (active/optimized)",extraout_EDX_00)" (( "(") (number_literal "1") (, ",") (string_literal "" (active/optimized)"" (" """) (string_content " (active/optimized)") (" """)) (, ",") (identifier "extraout_EDX_00") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x1:\n                  __printf_chk(1," (active/non optimized)",puStack_4b4);\n                  break;" (case "case") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (expression_statement "__printf_chk(1," (active/non optimized)",puStack_4b4);" (call_expression "__printf_chk(1," (active/non optimized)",puStack_4b4)" (identifier "__printf_chk") (argument_list "(1," (active/non optimized)",puStack_4b4)" (( "(") (number_literal "1") (, ",") (string_literal "" (active/non optimized)"" (" """) (string_content " (active/non optimized)") (" """)) (, ",") (identifier "puStack_4b4") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x2:\n                  __printf_chk(1," (standby)",puStack_4b4);\n                  break;" (case "case") (cast_expression "(uint *)0x2" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2")) (: ":") (expression_statement "__printf_chk(1," (standby)",puStack_4b4);" (call_expression "__printf_chk(1," (standby)",puStack_4b4)" (identifier "__printf_chk") (argument_list "(1," (standby)",puStack_4b4)" (( "(") (number_literal "1") (, ",") (string_literal "" (standby)"" (" """) (string_content " (standby)") (" """)) (, ",") (identifier "puStack_4b4") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x3:\n                  __printf_chk(1," (unavailable)",puStack_4b4);\n                  break;" (case "case") (cast_expression "(uint *)0x3" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3")) (: ":") (expression_statement "__printf_chk(1," (unavailable)",puStack_4b4);" (call_expression "__printf_chk(1," (unavailable)",puStack_4b4)" (identifier "__printf_chk") (argument_list "(1," (unavailable)",puStack_4b4)" (( "(") (number_literal "1") (, ",") (string_literal "" (unavailable)"" (" """) (string_content " (unavailable)") (" """)) (, ",") (identifier "puStack_4b4") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x4:\n                  __printf_chk(1," (logical block dependent)",puStack_4b4);\n                  break;" (case "case") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (expression_statement "__printf_chk(1," (logical block dependent)",puStack_4b4);" (call_expression "__printf_chk(1," (logical block dependent)",puStack_4b4)" (identifier "__printf_chk") (argument_list "(1," (logical block dependent)",puStack_4b4)" (( "(") (number_literal "1") (, ",") (string_literal "" (logical block dependent)"" (" """) (string_content " (logical block dependent)") (" """)) (, ",") (identifier "puStack_4b4") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));\n                  __printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));\n                  break;" (default "default") (: ":") (expression_statement "puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));" (assignment_expression "puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" (identifier "puStack_4b4") (= "=") (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" (( "(") (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (pointer_expression "*(int *)(&DAT_000128e4 + iVar7)" (* "*") (cast_expression "(int *)(&DAT_000128e4 + iVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000128e4 + iVar7)" (( "(") (binary_expression "&DAT_000128e4 + iVar7" (pointer_expression "&DAT_000128e4" (& "&") (identifier "DAT_000128e4")) (+ "+") (identifier "iVar7")) () ")"))))) () ")")))) (; ";")) (expression_statement "__printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));" (call_expression "__printf_chk(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)))" (identifier "__printf_chk") (argument_list "(1," (unknown)",\n                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)))" (( "(") (number_literal "1") (, ",") (string_literal "" (unknown)"" (" """) (string_content " (unknown)") (" """)) (, ",") (cast_expression "(uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7))" (( "(") (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (pointer_expression "*(int *)(&DAT_000128e4 + iVar7)" (* "*") (cast_expression "(int *)(&DAT_000128e4 + iVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000128e4 + iVar7)" (( "(") (binary_expression "&DAT_000128e4 + iVar7" (pointer_expression "&DAT_000128e4" (& "&") (identifier "DAT_000128e4")) (+ "+") (identifier "iVar7")) () ")"))))) () ")"))) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0xe:\n                  __printf_chk(1," (offline)",puStack_4b4);\n                  break;" (case "case") (cast_expression "(uint *)0xe" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xe")) (: ":") (expression_statement "__printf_chk(1," (offline)",puStack_4b4);" (call_expression "__printf_chk(1," (offline)",puStack_4b4)" (identifier "__printf_chk") (argument_list "(1," (offline)",puStack_4b4)" (( "(") (number_literal "1") (, ",") (string_literal "" (offline)"" (" """) (string_content " (offline)") (" """)) (, ",") (identifier "puStack_4b4") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0xf:\n                  __printf_chk(1," (transitioning between states)",puStack_4b4);" (case "case") (cast_expression "(uint *)0xf" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf")) (: ":") (expression_statement "__printf_chk(1," (transitioning between states)",puStack_4b4);" (call_expression "__printf_chk(1," (transitioning between states)",puStack_4b4)" (identifier "__printf_chk") (argument_list "(1," (transitioning between states)",puStack_4b4)" (( "(") (number_literal "1") (, ",") (string_literal "" (transitioning between states)"" (" """) (string_content " (transitioning between states)") (" """)) (, ",") (identifier "puStack_4b4") () ")"))) (; ";"))) (} "}"))) (} "}"))) (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)\n              ;" (call_expression "__printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)" (identifier "__printf_chk") (argument_list "(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)" (( "(") (number_literal "1") (, ",") (string_literal ""    T_SUP : %d, "" (" """) (string_content "    T_SUP : %d, ") (" """)) (, ",") (binary_expression "(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f" (binary_expression "(uint)(int)(char)*(byte *)((int)puVar8 + 1)" (call_expression "(uint)(int)(char)" (call_expression "(uint)(int)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);" (call_expression "__printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1)" (identifier "__printf_chk") (argument_list "(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1)" (( "(") (number_literal "1") (, ",") (string_literal ""O_SUP : %d, "" (" """) (string_content "O_SUP : %d, ") (" """)) (, ",") (binary_expression "*(byte *)((int)puVar8 + 1) >> 6 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 6" (pointer_expression "*(byte *)((int)puVar8 + 1)" (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "6")) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);" (call_expression "__printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1)" (identifier "__printf_chk") (argument_list "(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1)" (( "(") (number_literal "1") (, ",") (string_literal ""LBD_SUP : %d, "" (" """) (string_content "LBD_SUP : %d, ") (" """)) (, ",") (binary_expression "*(byte *)((int)puVar8 + 1) >> 4 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 4" (pointer_expression "*(byte *)((int)puVar8 + 1)" (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "4")) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);" (call_expression "__printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1)" (identifier "__printf_chk") (argument_list "(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1)" (( "(") (number_literal "1") (, ",") (string_literal ""U_SUP : %d, "" (" """) (string_content "U_SUP : %d, ") (" """)) (, ",") (binary_expression "*(byte *)((int)puVar8 + 1) >> 3 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 3" (pointer_expression "*(byte *)((int)puVar8 + 1)" (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);" (call_expression "__printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1)" (identifier "__printf_chk") (argument_list "(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1)" (( "(") (number_literal "1") (, ",") (string_literal ""S_SUP : %d, "" (" """) (string_content "S_SUP : %d, ") (" """)) (, ",") (binary_expression "*(byte *)((int)puVar8 + 1) >> 2 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 2" (pointer_expression "*(byte *)((int)puVar8 + 1)" (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "2")) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);" (call_expression "__printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1)" (identifier "__printf_chk") (argument_list "(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1)" (( "(") (number_literal "1") (, ",") (string_literal ""AN_SUP : %d, "" (" """) (string_content "AN_SUP : %d, ") (" """)) (, ",") (binary_expression "*(byte *)((int)puVar8 + 1) >> 1 & 1" (binary_expression "*(byte *)((int)puVar8 + 1) >> 1" (pointer_expression "*(byte *)((int)puVar8 + 1)" (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);" (call_expression "__printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1)" (identifier "__printf_chk") (argument_list "(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1)" (( "(") (number_literal "1") (, ",") (string_literal ""AO_SUP : %d\n"" (" """) (string_content "AO_SUP : %d") (escape_sequence "\n") (" """)) (, ",") (binary_expression "*(byte *)((int)puVar8 + 1) & 1" (pointer_expression "*(byte *)((int)puVar8 + 1)" (* "*") (cast_expression "(byte *)((int)puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 1)" (( "(") (binary_expression "(int)puVar8 + 1" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"    status code : ");" (call_expression "__printf_chk(1,"    status code : ")" (identifier "__printf_chk") (argument_list "(1,"    status code : ")" (( "(") (number_literal "1") (, ",") (string_literal ""    status code : "" (" """) (string_content "    status code : ") (" """)) () ")"))) (; ";")) (expression_statement "puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);" (assignment_expression "puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5)" (identifier "puVar6") (= "=") (binary_expression "(uint *)(uint)*(byte *)((int)puVar8 + 5)" (cast_expression "(uint *)(uint)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)puVar8 + 5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 5)" (( "(") (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "__printf_chk(1,"0x%02x",puVar6);" (call_expression "__printf_chk(1,"0x%02x",puVar6)" (identifier "__printf_chk") (argument_list "(1,"0x%02x",puVar6)" (( "(") (number_literal "1") (, ",") (string_literal ""0x%02x"" (" """) (string_content "0x%02x") (" """)) (, ",") (identifier "puVar6") () ")"))) (; ";")) (if_statement "if (local_49d != '\0') {\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" (if "if") (parenthesized_expression "(local_49d != '\0')" (( "(") (binary_expression "local_49d != '\0'" (identifier "local_49d") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                bVar10 = *(byte *)((int)puVar8 + 5);\n                puVar6 = (uint *)(uint)bVar10;\n                puStack_4b4 = puVar6;\n                if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }\n              }" ({ "{") (expression_statement "bVar10 = *(byte *)((int)puVar8 + 5);" (assignment_expression "bVar10 = *(byte *)((int)puVar8 + 5)" (identifier "bVar10") (= "=") (pointer_expression "*(byte *)((int)puVar8 + 5)" (* "*") (cast_expression "(byte *)((int)puVar8 + 5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 5)" (( "(") (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "puVar6 = (uint *)(uint)bVar10;" (assignment_expression "puVar6 = (uint *)(uint)bVar10" (identifier "puVar6") (= "=") (cast_expression "(uint *)(uint)bVar10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar10")))) (; ";")) (expression_statement "puStack_4b4 = puVar6;" (assignment_expression "puStack_4b4 = puVar6" (identifier "puStack_4b4") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (bVar10 == 1) {\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }\n                else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" (if "if") (parenthesized_expression "(bVar10 == 1)" (( "(") (binary_expression "bVar10 == 1" (identifier "bVar10") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  __printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);\n                }" ({ "{") (expression_statement "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6);" (call_expression "__printf_chk(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6)" (identifier "__printf_chk") (argument_list "(1,\n                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"\n                               ,puVar6)" (( "(") (number_literal "1") (, ",") (string_literal "" (target port asym. state changed by SET TARGET PORT GROUPS command)"" (" """) (string_content " (target port asym. state changed by SET TARGET PORT GROUPS command)") (" """)) (, ",") (identifier "puVar6") () ")"))) (; ";")) (} "}")) (else_clause "else if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" (else "else") (if_statement "if (bVar10 == 0) {\n                  __printf_chk(1," (no status available)",puVar6);\n                }\n                else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" (if "if") (parenthesized_expression "(bVar10 == 0)" (( "(") (binary_expression "bVar10 == 0" (identifier "bVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  __printf_chk(1," (no status available)",puVar6);\n                }" ({ "{") (expression_statement "__printf_chk(1," (no status available)",puVar6);" (call_expression "__printf_chk(1," (no status available)",puVar6)" (identifier "__printf_chk") (argument_list "(1," (no status available)",puVar6)" (( "(") (number_literal "1") (, ",") (string_literal "" (no status available)"" (" """) (string_content " (no status available)") (" """)) (, ",") (identifier "puVar6") () ")"))) (; ";")) (} "}")) (else_clause "else if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" (else "else") (if_statement "if (bVar10 == 2) {\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }\n                else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" (if "if") (parenthesized_expression "(bVar10 == 2)" (( "(") (binary_expression "bVar10 == 2" (identifier "bVar10") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                  puStack_4b4 = (uint *)pcVar3;\n                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");\n                  puVar6 = (uint *)pcVar3;\n                }" ({ "{") (expression_statement "puStack_4b4 = (uint *)pcVar3;" (assignment_expression "puStack_4b4 = (uint *)pcVar3" (identifier "puStack_4b4") (= "=") (cast_expression "(uint *)pcVar3" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar3"))) (; ";")) (expression_statement "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x");" (call_expression "__printf_chk(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" (identifier "__printf_chk") (argument_list "(1," (target port asym. state changed by implicit lu behaviour)",\n                               "0x%02x")" (( "(") (number_literal "1") (, ",") (string_literal "" (target port asym. state changed by implicit lu behaviour)"" (" """) (string_content " (target port asym. state changed by implicit lu behaviour)") (" """)) (, ",") (string_literal ""0x%02x"" (" """) (string_content "0x%02x") (" """)) () ")"))) (; ";")) (expression_statement "puVar6 = (uint *)pcVar3;" (assignment_expression "puVar6 = (uint *)pcVar3" (identifier "puVar6") (= "=") (cast_expression "(uint *)pcVar3" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar3"))) (; ";")) (} "}")) (else_clause "else {\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" (else "else") (compound_statement "{\n                  puVar6 = extraout_ECX_01;\n                  puStack_4b4 = extraout_ECX_01;\n                  __printf_chk(1," (unknown status code)",extraout_ECX_01);\n                }" ({ "{") (expression_statement "puVar6 = extraout_ECX_01;" (assignment_expression "puVar6 = extraout_ECX_01" (identifier "puVar6") (= "=") (identifier "extraout_ECX_01")) (; ";")) (expression_statement "puStack_4b4 = extraout_ECX_01;" (assignment_expression "puStack_4b4 = extraout_ECX_01" (identifier "puStack_4b4") (= "=") (identifier "extraout_ECX_01")) (; ";")) (expression_statement "__printf_chk(1," (unknown status code)",extraout_ECX_01);" (call_expression "__printf_chk(1," (unknown status code)",extraout_ECX_01)" (identifier "__printf_chk") (argument_list "(1," (unknown status code)",extraout_ECX_01)" (( "(") (number_literal "1") (, ",") (string_literal "" (unknown status code)"" (" """) (string_content " (unknown status code)") (" """)) (, ",") (identifier "extraout_ECX_01") () ")"))) (; ";")) (} "}")))))))) (} "}"))) (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "__printf_chk(1,"    vendor unique status : ",puVar6);" (call_expression "__printf_chk(1,"    vendor unique status : ",puVar6)" (identifier "__printf_chk") (argument_list "(1,"    vendor unique status : ",puVar6)" (( "(") (number_literal "1") (, ",") (string_literal ""    vendor unique status : "" (" """) (string_content "    vendor unique status : ") (" """)) (, ",") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));" (call_expression "__printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6))" (identifier "__printf_chk") (argument_list "(1,&DAT_00012231,*(byte *)((int)puVar8 + 6))" (( "(") (number_literal "1") (, ",") (pointer_expression "&DAT_00012231" (& "&") (identifier "DAT_00012231")) (, ",") (pointer_expression "*(byte *)((int)puVar8 + 6)" (* "*") (cast_expression "(byte *)((int)puVar8 + 6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 6)" (( "(") (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "6")) () ")")))) () ")"))) (; ";")) (expression_statement "__printf_chk(1,"    target port count : ");" (call_expression "__printf_chk(1,"    target port count : ")" (identifier "__printf_chk") (argument_list "(1,"    target port count : ")" (( "(") (number_literal "1") (, ",") (string_literal ""    target port count : "" (" """) (string_content "    target port count : ") (" """)) () ")"))) (; ";")) (expression_statement "puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);" (assignment_expression "puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7)" (identifier "puVar4") (= "=") (binary_expression "(uint *)(uint)*(byte *)((int)puVar8 + 7)" (cast_expression "(uint *)(uint)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)puVar8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 7)" (( "(") (binary_expression "(int)puVar8 + 7" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "puVar6 = puVar4;" (assignment_expression "puVar6 = puVar4" (identifier "puVar6") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "__printf_chk(1,"%02x\n",puVar4);" (call_expression "__printf_chk(1,"%02x\n",puVar4)" (identifier "__printf_chk") (argument_list "(1,"%02x\n",puVar4)" (( "(") (number_literal "1") (, ",") (string_literal ""%02x\n"" (" """) (string_content "%02x") (escape_sequence "\n") (" """)) (, ",") (identifier "puVar4") () ")"))) (; ";")) (expression_statement "local_484 = (uint *)((int)puVar4 * 4);" (assignment_expression "local_484 = (uint *)((int)puVar4 * 4)" (identifier "local_484") (= "=") (cast_expression "(uint *)((int)puVar4 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar4 * 4)" (( "(") (binary_expression "(int)puVar4 * 4" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "local_498 = "    Relative target port ids:";" (assignment_expression "local_498 = "    Relative target port ids:"" (identifier "local_498") (= "=") (string_literal ""    Relative target port ids:"" (" """) (string_content "    Relative target port ids:") (" """))) (; ";")) (expression_statement "puVar4 = extraout_ECX_02;" (assignment_expression "puVar4 = extraout_ECX_02" (identifier "puVar4") (= "=") (identifier "extraout_ECX_02")) (; ";")) (for_statement "for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }" (for "for") (( "(") (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";") (binary_expression "iVar7 < (int)local_484" (identifier "iVar7") (< "<") (cast_expression "(int)local_484" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_484"))) (; ";") (assignment_expression "iVar7 = iVar7 + 4" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4"))) () ")") (compound_statement "{\n                if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }\n                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);\n                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);\n                puStack_4b4 = puVar4;\n                __printf_chk(1,local_488,puVar6);\n                puVar4 = extraout_ECX_03;\n              }" ({ "{") (if_statement "if (iVar7 == 0) {\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  puts(local_498);\n                  puVar4 = extraout_ECX_04;\n                }" ({ "{") (expression_statement "puts(local_498);" (call_expression "puts(local_498)" (identifier "puts") (argument_list "(local_498)" (( "(") (identifier "local_498") () ")"))) (; ";")) (expression_statement "puVar4 = extraout_ECX_04;" (assignment_expression "puVar4 = extraout_ECX_04" (identifier "puVar4") (= "=") (identifier "extraout_ECX_04")) (; ";")) (} "}"))) (expression_statement "uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);" (assignment_expression "uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10)" (identifier "uVar1") (= "=") (pointer_expression "*(ushort *)((int)puVar8 + iVar7 + 10)" (* "*") (cast_expression "(ushort *)((int)puVar8 + iVar7 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + iVar7 + 10)" (( "(") (binary_expression "(int)puVar8 + iVar7 + 10" (binary_expression "(int)puVar8 + iVar7" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);" (assignment_expression "puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(ushort)(uVar1 << 8 | uVar1 >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "(uVar1 << 8 | uVar1 >> 8)" (( "(") (binary_expression "uVar1 << 8 | uVar1 >> 8" (binary_expression "uVar1 << 8" (identifier "uVar1") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" (identifier "puStack_4b4") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "__printf_chk(1,local_488,puVar6);" (call_expression "__printf_chk(1,local_488,puVar6)" (identifier "__printf_chk") (argument_list "(1,local_488,puVar6)" (( "(") (number_literal "1") (, ",") (identifier "local_488") (, ",") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "puVar4 = extraout_ECX_03;" (assignment_expression "puVar4 = extraout_ECX_03" (identifier "puVar4") (= "=") (identifier "extraout_ECX_03")) (; ";")) (} "}"))) (expression_statement "puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));" (assignment_expression "puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2))" (identifier "puVar8") (= "=") (cast_expression "(uint *)((int)puVar8 + (int)(local_484 + 2))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + (int)(local_484 + 2))" (( "(") (binary_expression "(int)puVar8 + (int)(local_484 + 2)" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (cast_expression "(int)(local_484 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_484 + 2)" (( "(") (binary_expression "local_484 + 2" (identifier "local_484") (+ "+") (number_literal "2")) () ")")))) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00011439;" (goto "goto") (statement_identifier "LAB_00011439") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" (else "else") (compound_statement "{\n          puVar6 = local_48c;\n          puStack_4b4 = puVar4;\n          __printf_chk(1,"Report list length = %d\n",local_48c);\n          if (local_49f == '\0') goto LAB_00011645;\n          puts("\nOutput response in hex:");\n        }" ({ "{") (expression_statement "puVar6 = local_48c;" (assignment_expression "puVar6 = local_48c" (identifier "puVar6") (= "=") (identifier "local_48c")) (; ";")) (expression_statement "puStack_4b4 = puVar4;" (assignment_expression "puStack_4b4 = puVar4" (identifier "puStack_4b4") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "__printf_chk(1,"Report list length = %d\n",local_48c);" (call_expression "__printf_chk(1,"Report list length = %d\n",local_48c)" (identifier "__printf_chk") (argument_list "(1,"Report list length = %d\n",local_48c)" (( "(") (number_literal "1") (, ",") (string_literal ""Report list length = %d\n"" (" """) (string_content "Report list length = %d") (escape_sequence "\n") (" """)) (, ",") (identifier "local_48c") () ")"))) (; ";")) (if_statement "if (local_49f == '\0') goto LAB_00011645;" (if "if") (parenthesized_expression "(local_49f == '\0')" (( "(") (binary_expression "local_49f == '\0'" (identifier "local_49f") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00011645;" (goto "goto") (statement_identifier "LAB_00011645") (; ";"))) (expression_statement "puts("\nOutput response in hex:");" (call_expression "puts("\nOutput response in hex:")" (identifier "puts") (argument_list "("\nOutput response in hex:")" (( "(") (string_literal ""\nOutput response in hex:"" (" """) (escape_sequence "\n") (string_content "Output response in hex:") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "puStack_4b4 = &local_424;" (assignment_expression "puStack_4b4 = &local_424" (identifier "puStack_4b4") (= "=") (pointer_expression "&local_424" (& "&") (identifier "local_424"))) (; ";")) (expression_statement "hex2stdout(local_484,local_48c,1);" (call_expression "hex2stdout(local_484,local_48c,1)" (identifier "hex2stdout") (argument_list "(local_484,local_48c,1)" (( "(") (identifier "local_484") (, ",") (identifier "local_48c") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "puVar8 = &local_424;" (assignment_expression "puVar8 = &local_424" (identifier "puVar8") (= "=") (pointer_expression "&local_424" (& "&") (identifier "local_424"))) (; ";")) (} "}")) (else_clause "else {\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" (else "else") (compound_statement "{\n        local_488 = puVar9;\n        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }\n      }" ({ "{") (expression_statement "local_488 = puVar9;" (assignment_expression "local_488 = puVar9" (identifier "local_488") (= "=") (identifier "puVar9")) (; ";")) (for_statement "for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }" (for "for") (( "(") (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";") (comma_expression "puVar9 = local_488, iVar7 < (int)local_48c" (assignment_expression "puVar9 = local_488" (identifier "puVar9") (= "=") (identifier "local_488")) (, ",") (binary_expression "iVar7 < (int)local_48c" (identifier "iVar7") (< "<") (cast_expression "(int)local_48c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48c")))) (; ";") (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n          putchar((uint)*(byte *)((int)puVar8 + iVar7));\n        }" ({ "{") (expression_statement "putchar((uint)*(byte *)((int)puVar8 + iVar7));" (call_expression "putchar((uint)*(byte *)((int)puVar8 + iVar7))" (identifier "putchar") (argument_list "((uint)*(byte *)((int)puVar8 + iVar7))" (( "(") (binary_expression "(uint)*(byte *)((int)puVar8 + iVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)puVar8 + iVar7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + iVar7)" (( "(") (binary_expression "(int)puVar8 + iVar7" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (identifier "iVar7")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00011439:\n      iVar7 = sg_cmds_close_device(local_494);" (statement_identifier "LAB_00011439") (: ":") (expression_statement "iVar7 = sg_cmds_close_device(local_494);" (assignment_expression "iVar7 = sg_cmds_close_device(local_494)" (identifier "iVar7") (= "=") (call_expression "sg_cmds_close_device(local_494)" (identifier "sg_cmds_close_device") (argument_list "(local_494)" (( "(") (identifier "local_494") () ")")))) (; ";"))) (if_statement "if (iVar7 < 0) {\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        puVar8 = (uint *)-iVar7;\n        uVar5 = safe_strerror(puVar8);\n        pr2serr("close error: %s\n",uVar5);\n        puVar9 = (undefined *)sg_convert_errno(puVar8);\n      }" ({ "{") (expression_statement "puVar8 = (uint *)-iVar7;" (assignment_expression "puVar8 = (uint *)-iVar7" (identifier "puVar8") (= "=") (cast_expression "(uint *)-iVar7" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-iVar7" (- "-") (identifier "iVar7")))) (; ";")) (expression_statement "uVar5 = safe_strerror(puVar8);" (assignment_expression "uVar5 = safe_strerror(puVar8)" (identifier "uVar5") (= "=") (call_expression "safe_strerror(puVar8)" (identifier "safe_strerror") (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")")))) (; ";")) (expression_statement "pr2serr("close error: %s\n",uVar5);" (call_expression "pr2serr("close error: %s\n",uVar5)" (identifier "pr2serr") (argument_list "("close error: %s\n",uVar5)" (( "(") (string_literal ""close error: %s\n"" (" """) (string_content "close error: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined *)sg_convert_errno(puVar8);" (assignment_expression "puVar9 = (undefined *)sg_convert_errno(puVar8)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)sg_convert_errno(puVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(puVar8)" (identifier "sg_convert_errno") (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")"))))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" (else "else") (compound_statement "{\n      if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }\n      iVar7 = sg_cmds_close_device(local_494);\n      if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }\n    }" ({ "{") (if_statement "if (puVar9 == (undefined *)0x9) {\n        pr2serr("Report Target Port Groups command not supported\n");\n      }\n      else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" (if "if") (parenthesized_expression "(puVar9 == (undefined *)0x9)" (( "(") (binary_expression "puVar9 == (undefined *)0x9" (identifier "puVar9") (== "==") (cast_expression "(undefined *)0x9" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9"))) () ")")) (compound_statement "{\n        pr2serr("Report Target Port Groups command not supported\n");\n      }" ({ "{") (expression_statement "pr2serr("Report Target Port Groups command not supported\n");" (call_expression "pr2serr("Report Target Port Groups command not supported\n")" (identifier "pr2serr") (argument_list "("Report Target Port Groups command not supported\n")" (( "(") (string_literal ""Report Target Port Groups command not supported\n"" (" """) (string_content "Report Target Port Groups command not supported") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" (else "else") (if_statement "if (puVar9 == (undefined *)0x5) {\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }\n      else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" (if "if") (parenthesized_expression "(puVar9 == (undefined *)0x5)" (( "(") (binary_expression "puVar9 == (undefined *)0x5" (identifier "puVar9") (== "==") (cast_expression "(undefined *)0x5" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5"))) () ")")) (compound_statement "{\n        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;\n      }" ({ "{") (expression_statement "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")\n        ;" (call_expression "pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")" (identifier "pr2serr") (argument_list "("bad field in Report Target Port Groups cdb including unsupported service action\n")" (( "(") (string_literal ""bad field in Report Target Port Groups cdb including unsupported service action\n"" (" """) (string_content "bad field in Report Target Port Groups cdb including unsupported service action") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" (else "else") (compound_statement "{\n        puStack_4b4 = local_490;\n        sg_get_category_sense_str(puVar9,0x50,local_474);\n        pr2serr("Report Target Port Groups: %s\n",local_474);\n        puVar8 = local_474;\n      }" ({ "{") (expression_statement "puStack_4b4 = local_490;" (assignment_expression "puStack_4b4 = local_490" (identifier "puStack_4b4") (= "=") (identifier "local_490")) (; ";")) (expression_statement "sg_get_category_sense_str(puVar9,0x50,local_474);" (call_expression "sg_get_category_sense_str(puVar9,0x50,local_474)" (identifier "sg_get_category_sense_str") (argument_list "(puVar9,0x50,local_474)" (( "(") (identifier "puVar9") (, ",") (number_literal "0x50") (, ",") (identifier "local_474") () ")"))) (; ";")) (expression_statement "pr2serr("Report Target Port Groups: %s\n",local_474);" (call_expression "pr2serr("Report Target Port Groups: %s\n",local_474)" (identifier "pr2serr") (argument_list "("Report Target Port Groups: %s\n",local_474)" (( "(") (string_literal ""Report Target Port Groups: %s\n"" (" """) (string_content "Report Target Port Groups: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_474") () ")"))) (; ";")) (expression_statement "puVar8 = local_474;" (assignment_expression "puVar8 = local_474" (identifier "puVar8") (= "=") (identifier "local_474")) (; ";")) (} "}")))))) (expression_statement "iVar7 = sg_cmds_close_device(local_494);" (assignment_expression "iVar7 = sg_cmds_close_device(local_494)" (identifier "iVar7") (= "=") (call_expression "sg_cmds_close_device(local_494)" (identifier "sg_cmds_close_device") (argument_list "(local_494)" (( "(") (identifier "local_494") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = safe_strerror(-iVar7);\n        pr2serr("close error: %s\n",uVar5);\n      }" ({ "{") (expression_statement "uVar5 = safe_strerror(-iVar7);" (assignment_expression "uVar5 = safe_strerror(-iVar7)" (identifier "uVar5") (= "=") (call_expression "safe_strerror(-iVar7)" (identifier "safe_strerror") (argument_list "(-iVar7)" (( "(") (unary_expression "-iVar7" (- "-") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "pr2serr("close error: %s\n",uVar5);" (call_expression "pr2serr("close error: %s\n",uVar5)" (identifier "pr2serr") (argument_list "("close error: %s\n",uVar5)" (( "(") (string_literal ""close error: %s\n"" (" """) (string_content "close error: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if ((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')) {\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" (if "if") (parenthesized_expression "((local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'))" (( "(") (binary_expression "(local_490 == (uint *)0x0) &&\n     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')" (parenthesized_expression "(local_490 == (uint *)0x0)" (( "(") (binary_expression "local_490 == (uint *)0x0" (identifier "local_490") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0')" (( "(") (comma_expression "puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'" (assignment_expression "puStack_4b4 = puVar8" (identifier "puStack_4b4") (= "=") (identifier "puVar8")) (, ",") (comma_expression "cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),\n     cVar2 == '\0'" (assignment_expression "cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8)" (identifier "cVar2") (= "=") (call_expression "sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8)" (identifier "sg_if_can2stderr") (argument_list "("sg_rtpg failed: ",puVar9,puVar8)" (( "(") (string_literal ""sg_rtpg failed: "" (" """) (string_content "sg_rtpg failed: ") (" """)) (, ",") (identifier "puVar9") (, ",") (identifier "puVar8") () ")")))) (, ",") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (compound_statement "{\n    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\n  }" ({ "{") (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") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)puVar9 < 0) {\n    puVar9 = (undefined *)0x63;\n  }" (if "if") (parenthesized_expression "((int)puVar9 < 0)" (( "(") (binary_expression "(int)puVar9 < 0" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    puVar9 = (undefined *)0x63;\n  }" ({ "{") (expression_statement "puVar9 = (undefined *)0x63;" (assignment_expression "puVar9 = (undefined *)0x63" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x63" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x63"))) (; ";")) (} "}"))) (labeled_statement "LAB_00011257:\n  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }" (statement_identifier "LAB_00011257") (: ":") (if_statement "if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }" (if "if") (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    puStack_4b4 = (uint *)0x11b04;\n    uVar11 = FUN_00011d00();\n    puStack_4b4 = (uint *)uVar11;\n    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);\n    do {\n                    \n    } while( true );\n  }" ({ "{") (expression_statement "puStack_4b4 = (uint *)0x11b04;" (assignment_expression "puStack_4b4 = (uint *)0x11b04" (identifier "puStack_4b4") (= "=") (cast_expression "(uint *)0x11b04" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11b04"))) (; ";")) (expression_statement "uVar11 = FUN_00011d00();" (assignment_expression "uVar11 = FUN_00011d00()" (identifier "uVar11") (= "=") (call_expression "FUN_00011d00()" (identifier "FUN_00011d00") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puStack_4b4 = (uint *)uVar11;" (assignment_expression "puStack_4b4 = (uint *)uVar11" (identifier "puStack_4b4") (= "=") (cast_expression "(uint *)uVar11" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar11"))) (; ";")) (expression_statement "__libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);" (call_expression "__libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4)" (identifier "__libc_start_main") (argument_list "(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,\n                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4)" (( "(") (identifier "PTR_FUN_00013ff8") (, ",") (identifier "uStack_4b0") (, ",") (identifier "auStack_4ac") (, ",") (identifier "FUN_00011c90") (, ",") (identifier "FUN_00011cf0") (, ",") (cast_expression "(int)((ulonglong)uVar11 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar11 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (pointer_expression "&puStack_4b4" (& "&") (identifier "puStack_4b4")) () ")"))) (; ";")) (do_statement "do {\n                    \n    } while( true );" (do "do") (compound_statement "{\n                    \n    }" ({ "{") (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))) (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}")))

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

int function_1(int argc,char **argv)

{
  type_1 var_28;
  type_2 *puVar2;
  char var_33;
  char *pcVar4;
  type_3 *puVar5;
  type_4 uVar6;
  type_3 *extraout_ECX;
  type_3 *var_15;
  int var_5;
  type_3 *extraout_ECX_00;
  type_3 *extraout_ECX_01;
  type_3 *extraout_ECX_02;
  type_3 *extraout_ECX_03;
  type_3 *extraout_ECX_04;
  type_3 *extraout_EDX;
  type_3 *extraout_EDX_00;
  type_3 *var_8;
  char **var_17;
  int var_1;
  type_5 var_27;
  type_6 uVar12;
  type_3 *puStack_4b4;
  type_4 uStack_4b0;
  type_7 auStack_4ac [8];
  char **local_4a4;
  char var_19;
  char var_21;
  char var_25;
  type_3 var_3;
  char *local_498;
  type_3 var_2;
  type_3 *var_12;
  type_3 *local_48c;
  char **local_488;
  type_3 *var_24;
  type_3 local_478;
  type_3 local_474 [20];
  type_3 var_18;
  type_5 var_22;
  type_5 local_41f;
  type_3 local_41c [254];
  int var_34;
  int *local_18;
  
  var_27 = 0;
  local_18 = &argc;
  var_24 = (type_3 *)argc;
  local_488 = argv;
  var_34 = *(int *)(var_1 + 0x14);
  local_48c = &local_478;
  var_2 = var_2 & 0xffffff00;
  var_12 = (type_3 *)0x0;
  local_498 = (char *)((type_3)local_498 & 0xffffff00);
  var_21 = '\0';
  local_4a4 = (char **)((type_3)local_4a4 & 0xffffff00);
  var_3 = var_3 & 0xffffff00;
  var_19 = '\0';
  var_25 = '\0';
  while( true ) {
    local_478 = 0;
    uVar12 = var_4(var_24,local_488,"dehHrRvV",long_options,local_48c);
    puVar2 = PTR_optind_00013fec;
    var_15 = (type_3 *)((type_8)uVar12 >> 0x20);
    var_5 = (int)uVar12;
    if (var_5 == -1) break;
    var_15 = extraout_ECX;
    if (0x37 < var_5 - 0x3fU) {
_L3:
      pcVar4 = "unrecognised option code 0x%x ??\n";
      puStack_4b4 = var_15;
      goto LAB_000112cd;
    }
    var_15 = (type_3 *)((int)&_GLOBAL_OFFSET_TABLE_ +
                     (&switchD_00011238::switchdataD_00012804)[var_5 - 0x3fU]);
    switch(var_5) {
    case 0x3f:
    case 0x68:
      var_17 = (char **)0x0;
      var_6(
             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
             );
      goto LAB_00011257;
    default:
      goto _L3;
    case 0x48:
      var_19 = '\x01';
      break;
    case 0x52:
      local_4a4 = (char **)var_7(local_4a4._1_3_,1);
      break;
    case 0x56:
      var_2 = var_7(var_2._1_3_,1);
      break;
    case 100:
      var_25 = '\x01';
      break;
    case 0x65:
      var_21 = '\x01';
      break;
    case 0x72:
      var_3 = var_7(var_3._1_3_,1);
      break;
    case 0x76:
      var_12 = (type_3 *)((int)var_12 + 1);
      local_498 = (char *)var_7(local_498._1_3_,1);
    }
  }
  var_8 = (type_3 *)0x0;
  puVar5 = *(type_3 **)PTR_optind_00013fec;
  if ((int)puVar5 < (int)var_24) {
    var_8 = (type_3 *)local_488[(int)puVar5];
    puVar5 = (type_3 *)((int)puVar5 + 1);
    *(type_3 **)PTR_optind_00013fec = puVar5;
    if ((int)puVar5 < (int)var_24) {
      do {
        pcVar4 = local_488[(int)puVar5];
        var_8 = var_15;
        puStack_4b4 = var_15;
        var_6("Unexpected extra argument: %s\n",pcVar4,var_15);
        puVar5 = (type_3 *)(*(int *)puVar2 + 1);
        *(type_3 **)puVar2 = puVar5;
        var_15 = extraout_EDX;
      } while ((int)puVar5 < (int)var_24);
      var_17 = (char **)0x1;
      var_6("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
              ,pcVar4,var_8);
      goto LAB_00011257;
    }
  }
  if ((char)local_498 == '\0') {
    if ((char)var_2 != '\0') goto LAB_00011492;
  }
  else if ((char)var_2 != '\0') {
    puVar5 = (type_3 *)var_6("Not in DEBUG mode, so \'-vV\' has no special action\n");
LAB_00011492:
    var_17 = (char **)0x0;
    puStack_4b4 = puVar5;
    var_6("Version: %s\n","1.27 20180628",puVar5);
    goto LAB_00011257;
  }
  if (var_8 == (type_3 *)0x0) {
    pcVar4 = "Missing device name!\n\n";
LAB_000112cd:
    var_17 = (char **)0x1;
    var_6(pcVar4);
    var_6(
           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
           );
    goto LAB_00011257;
  }
  if (((char)var_3 != '\0') && (puVar5 = (type_3 *)var_9(1), (int)puVar5 < 0)) {
    var_17 = (char **)0xf;
    var_10("sg_set_binary_mode");
    goto LAB_00011257;
  }
  puStack_4b4 = puVar5;
  var_2 = var_11(var_8,(type_3)local_4a4 & 0xff,var_12);
  if ((int)var_2 < 0) {
    var_5 = -var_2;
    if (var_12 != (type_3 *)0x0) {
      uVar6 = var_13(var_5);
      var_6("open error: %s: %s\n",var_8,uVar6);
    }
    var_17 = (char **)var_14(var_5);
  }
  else {
    var_15 = &var_18;
    for (var_5 = 0x100; var_5 != 0; var_5 = var_5 + -1) {
      *var_15 = 0;
      var_15 = var_15 + (type_3)var_27 * -2 + 1;
    }
    puStack_4b4 = (type_3 *)0x0;
    var_15 = (type_3 *)0x0;
    var_24 = &var_18;
    var_17 = (char **)var_16
                                  (var_2,&var_18,0x400,var_21,1,var_12,0);
    var_8 = &var_18;
    if (var_17 == (char **)0x0) {
      puVar5 = (type_3 *)((var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8
                        | var_18 << 0x18) + 4);
      local_48c = puVar5;
      if (0x400 < (int)puVar5) {
        puVar5 = (type_3 *)var_6("  <<report too long for internal buffer, output truncated\n");
        local_48c = (type_3 *)0x400;
      }
      var_8 = var_24;
      if ((char)var_3 == '\0') {
        if (var_12 == (type_3 *)0x0) {
          if (var_19 == '\0') {
LAB_00011645:
            var_20("Report target port groups:");
            if (var_21 == '\0') {
              var_8 = (type_3 *)&var_22;
            }
            else {
              if ((var_22 & 0x70) != 0x10) {
                var_6("   <<invalid extended header format\n");
                var_8 = &var_18;
                goto LAB_00011439;
              }
              var_15 = (type_3 *)(type_3)local_41f;
              var_8 = local_41c;
              puStack_4b4 = extraout_ECX_00;
              var_23(1,"  Implicit transition time: %d\n",var_15);
            }
            local_488 = (char **)&DAT_0001222b;
            local_4a4 = var_17;
            for (var_3 = (int)var_8 - (int)var_24; var_17 = local_4a4,
                (int)var_3 < (int)local_48c; var_3 = var_3 + (int)(var_24 + 2)) {
              pcVar4 = "0x%02x";
              var_23(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",
                           *(type_1 *)((int)var_8 + 2) << 8 | *(type_1 *)((int)var_8 + 2) >> 8,
                           (type_3)(int)(char)(type_5)*var_8 >> 0x1f,(type_5)*var_8 >> 4 & 7);
              var_23(1,"    target port group asymmetric access state : ",var_15);
              var_23(1,"0x%02x",(type_5)*var_8 & 0xf);
              if (var_25 != '\0') {
                puStack_4b4 = (type_3 *)((type_5)*var_8 & 0xf);
                var_15 = &switchD_00011997::switchdataD_000128e4 + (int)puStack_4b4;
                switch(puStack_4b4) {
                case (type_3 *)0x0:
                  puStack_4b4 = extraout_EDX_00;
                  var_23(1," (active/optimized)",extraout_EDX_00);
                  break;
                case (type_3 *)0x1:
                  var_23(1," (active/non optimized)",puStack_4b4);
                  break;
                case (type_3 *)0x2:
                  var_23(1," (standby)",puStack_4b4);
                  break;
                case (type_3 *)0x3:
                  var_23(1," (unavailable)",puStack_4b4);
                  break;
                case (type_3 *)0x4:
                  var_23(1," (logical block dependent)",puStack_4b4);
                  break;
                default:
                  puStack_4b4 = (type_3 *)((int)&_GLOBAL_OFFSET_TABLE_ + *var_15);
                  var_23(1," (unknown)",(type_3 *)((int)&_GLOBAL_OFFSET_TABLE_ + *var_15));
                  break;
                case (type_3 *)0xe:
                  var_23(1," (offline)",puStack_4b4);
                  break;
                case (type_3 *)0xf:
                  var_23(1," (transitioning between states)",puStack_4b4);
                }
              }
              var_26(10);
              var_23(1,"    T_SUP : %d, ",(type_3)(int)(char)*(type_5 *)((int)var_8 + 1) >> 0x1f)
              ;
              var_23(1,"O_SUP : %d, ",*(type_5 *)((int)var_8 + 1) >> 6 & 1);
              var_23(1,"LBD_SUP : %d, ",*(type_5 *)((int)var_8 + 1) >> 4 & 1);
              var_23(1,"U_SUP : %d, ",*(type_5 *)((int)var_8 + 1) >> 3 & 1);
              var_23(1,"S_SUP : %d, ",*(type_5 *)((int)var_8 + 1) >> 2 & 1);
              var_23(1,"AN_SUP : %d, ",*(type_5 *)((int)var_8 + 1) >> 1 & 1);
              var_23(1,"AO_SUP : %d\n",*(type_5 *)((int)var_8 + 1) & 1);
              var_23(1,"    status code : ");
              var_15 = (type_3 *)(type_3)*(type_5 *)((int)var_8 + 5);
              var_23(1,"0x%02x",var_15);
              if (var_25 != '\0') {
                var_27 = *(type_5 *)((int)var_8 + 5);
                var_15 = (type_3 *)(type_3)var_27;
                puStack_4b4 = var_15;
                if (var_27 == 1) {
                  var_23(1,
                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"
                               ,var_15);
                }
                else if (var_27 == 0) {
                  var_23(1," (no status available)",var_15);
                }
                else if (var_27 == 2) {
                  puStack_4b4 = (type_3 *)pcVar4;
                  var_23(1," (target port asym. state changed by implicit lu behaviour)",
                               "0x%02x");
                  var_15 = (type_3 *)pcVar4;
                }
                else {
                  var_15 = extraout_ECX_01;
                  puStack_4b4 = extraout_ECX_01;
                  var_23(1," (unknown status code)",extraout_ECX_01);
                }
              }
              var_26(10);
              var_23(1,"    vendor unique status : ",var_15);
              var_23(1,&DAT_00012231,*(type_5 *)((int)var_8 + 6));
              var_23(1,"    target port count : ");
              puVar5 = (type_3 *)(type_3)*(type_5 *)((int)var_8 + 7);
              var_15 = puVar5;
              var_23(1,"%02x\n",puVar5);
              var_24 = (type_3 *)((int)puVar5 * 4);
              local_498 = "    Relative target port ids:";
              puVar5 = extraout_ECX_02;
              for (var_5 = 0; var_5 < (int)var_24; var_5 = var_5 + 4) {
                if (var_5 == 0) {
                  var_20(local_498);
                  puVar5 = extraout_ECX_04;
                }
                var_28 = *(type_1 *)((int)var_8 + var_5 + 10);
                var_15 = (type_3 *)(type_3)(type_1)(var_28 << 8 | var_28 >> 8);
                puStack_4b4 = puVar5;
                var_23(1,local_488,var_15);
                puVar5 = extraout_ECX_03;
              }
              var_8 = (type_3 *)((int)var_8 + (int)(var_24 + 2));
            }
            goto LAB_00011439;
          }
        }
        else {
          var_15 = local_48c;
          puStack_4b4 = puVar5;
          var_23(1,"Report list length = %d\n",local_48c);
          if (var_19 == '\0') goto LAB_00011645;
          var_20("\nOutput response in hex:");
        }
        puStack_4b4 = &var_18;
        var_29(var_24,local_48c,1);
        var_8 = &var_18;
      }
      else {
        local_488 = var_17;
        for (var_5 = 0; var_17 = local_488, var_5 < (int)local_48c; var_5 = var_5 + 1) {
          var_26((type_3)*(type_5 *)((int)var_8 + var_5));
        }
      }
LAB_00011439:
      var_5 = var_30(var_2);
      if (var_5 < 0) {
        var_8 = (type_3 *)-var_5;
        uVar6 = var_13(var_8);
        var_6("close error: %s\n",uVar6);
        var_17 = (char **)var_14(var_8);
      }
    }
    else {
      if (var_17 == (char **)0x9) {
        var_6("Report Target Port Groups command not supported\n");
      }
      else if (var_17 == (char **)0x5) {
        var_6("bad field in Report Target Port Groups cdb including unsupported service action\n")
        ;
      }
      else {
        puStack_4b4 = var_12;
        var_31(var_17,0x50,local_474);
        var_6("Report Target Port Groups: %s\n",local_474);
        var_8 = local_474;
      }
      var_5 = var_30(var_2);
      if (var_5 < 0) {
        uVar6 = var_13(-var_5);
        var_6("close error: %s\n",uVar6);
      }
    }
  }
  if ((var_12 == (type_3 *)0x0) &&
     (puStack_4b4 = var_8, var_33 = var_32("sg_rtpg failed: ",var_17,var_8),
     var_33 == '\0')) {
    var_6("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
  }
  if ((int)var_17 < 0) {
    var_17 = (char **)0x63;
  }
LAB_00011257:
  if (var_34 != *(int *)(var_1 + 0x14)) {
    puStack_4b4 = (type_3 *)0x11b04;
    uVar12 = var_35();
    puStack_4b4 = (type_3 *)uVar12;
    var_36(PTR_main_00013ff8,uStack_4b0,auStack_4ac,__libc_csu_init,__libc_csu_fini,
                      (int)((type_8)uVar12 >> 0x20),&puStack_4b4);
    do {
                    /* WARNING: Do nothing block with infinite loop */
    } while( true );
  }
  return (int)var_17;
}


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

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

undefined * MASKED(uint *param_1,undefined *param_2)

{
  ushort uVar1;
  char cVar2;
  char *pcVar3;
  uint *puVar4;
  undefined4 uVar5;
  uint *extraout_ECX;
  uint *puVar6;
  int iVar7;
  uint *extraout_ECX_00;
  uint *extraout_ECX_01;
  uint *extraout_ECX_02;
  uint *extraout_ECX_03;
  uint *extraout_ECX_04;
  uint *extraout_EDX;
  uint *extraout_EDX_00;
  uint *puVar8;
  undefined *puVar9;
  int in_GS_OFFSET;
  byte bVar10;
  undefined8 uVar11;
  uint *puStack_4b4;
  undefined4 uStack_4b0;
  undefined1 auStack_4ac [8];
  undefined *local_4a4;
  char local_49f;
  char local_49e;
  char local_49d;
  uint local_49c;
  char *local_498;
  uint local_494;
  uint *local_490;
  uint *local_48c;
  undefined *local_488;
  uint *local_484;
  uint local_478;
  uint local_474 [20];
  uint local_424;
  byte local_420;
  byte local_41f;
  uint local_41c [254];
  int local_24;
  undefined4 *local_18;
  
  bVar10 = 0;
  local_18 = &param_1;
  local_484 = param_1;
  local_488 = param_2;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  local_48c = &local_478;
  local_494 = local_494 & 0xffffff00;
  local_490 = (uint *)0x0;
  local_498 = (char *)((uint)local_498 & 0xffffff00);
  local_49e = '\0';
  local_4a4 = (undefined *)((uint)local_4a4 & 0xffffff00);
  local_49c = local_49c & 0xffffff00;
  local_49f = '\0';
  local_49d = '\0';
  while( true ) {
    local_478 = 0;
    uVar11 = getopt_long(local_484,local_488,"dehHrRvV",&PTR_s_decode_00014020,local_48c);
    puVar9 = PTR_optind_00013fec;
    puVar6 = (uint *)((ulonglong)uVar11 >> 0x20);
    iVar7 = (int)uVar11;
    if (iVar7 == -1) break;
    puVar6 = extraout_ECX;
    if (0x37 < iVar7 - 0x3fU) {
LAB_000112c4:
      pcVar3 = "unrecognised option code 0x%x ??\n";
      puStack_4b4 = puVar6;
      goto LAB_000112cd;
    }
    puVar6 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_00012804 + (iVar7 - 0x3fU) * 4));
    switch(iVar7) {
    case 0x3f:
    case 0x68:
      puVar9 = (undefined *)0x0;
      pr2serr(
             "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
             );
      goto LAB_00011257;
    default:
      goto LAB_000112c4;
    case 0x48:
      local_49f = '\x01';
      break;
    case 0x52:
      local_4a4 = (undefined *)CONCAT31(local_4a4._1_3_,1);
      break;
    case 0x56:
      local_494 = CONCAT31(local_494._1_3_,1);
      break;
    case 100:
      local_49d = '\x01';
      break;
    case 0x65:
      local_49e = '\x01';
      break;
    case 0x72:
      local_49c = CONCAT31(local_49c._1_3_,1);
      break;
    case 0x76:
      local_490 = (uint *)((int)local_490 + 1);
      local_498 = (char *)CONCAT31(local_498._1_3_,1);
    }
  }
  puVar8 = (uint *)0x0;
  puVar4 = *(uint **)PTR_optind_00013fec;
  if ((int)puVar4 < (int)local_484) {
    puVar8 = *(uint **)(local_488 + (int)puVar4 * 4);
    puVar4 = (uint *)((int)puVar4 + 1);
    *(uint **)PTR_optind_00013fec = puVar4;
    if ((int)puVar4 < (int)local_484) {
      do {
        uVar5 = *(undefined4 *)(local_488 + (int)puVar4 * 4);
        puVar8 = puVar6;
        puStack_4b4 = puVar6;
        pr2serr("Unexpected extra argument: %s\n",uVar5,puVar6);
        puVar4 = (uint *)(*(int *)puVar9 + 1);
        *(uint **)puVar9 = puVar4;
        puVar6 = extraout_EDX;
      } while ((int)puVar4 < (int)local_484);
      puVar9 = (undefined *)0x1;
      pr2serr("Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
              ,uVar5,puVar8);
      goto LAB_00011257;
    }
  }
  if ((char)local_498 == '\0') {
    if ((char)local_494 != '\0') goto LAB_00011492;
  }
  else if ((char)local_494 != '\0') {
    puVar4 = (uint *)pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
LAB_00011492:
    puVar9 = (undefined *)0x0;
    puStack_4b4 = puVar4;
    pr2serr("Version: %s\n","1.27 20180628",puVar4);
    goto LAB_00011257;
  }
  if (puVar8 == (uint *)0x0) {
    pcVar3 = "Missing device name!\n\n";
LAB_000112cd:
    puVar9 = (undefined *)0x1;
    pr2serr(pcVar3);
    pr2serr(
           "Usage: sg_rtpg   [--decode] [--extended] [--help] [--hex] [--raw] [--readonly]\n                 [--verbose] [--version] DEVICE\n  where:\n    --decode|-d        decode status and asym. access state\n    --extended|-e      use extended header parameter data format\n    --help|-h          print out usage message\n    --hex|-H           print out response in hex\n    --raw|-r           output response in binary to stdout\n    --readonly|-R      open DEVICE read-only (def: read-write)\n    --verbose|-v       increase verbosity\n    --version|-V       print version string and exit\n\nPerforms a SCSI REPORT TARGET PORT GROUPS command\n"
           );
    goto LAB_00011257;
  }
  if (((char)local_49c != '\0') && (puVar4 = (uint *)sg_set_binary_mode(1), (int)puVar4 < 0)) {
    puVar9 = (undefined *)0xf;
    perror("sg_set_binary_mode");
    goto LAB_00011257;
  }
  puStack_4b4 = puVar4;
  local_494 = sg_cmds_open_device(puVar8,(uint)local_4a4 & 0xff,local_490);
  if ((int)local_494 < 0) {
    iVar7 = -local_494;
    if (local_490 != (uint *)0x0) {
      uVar5 = safe_strerror(iVar7);
      pr2serr("open error: %s: %s\n",puVar8,uVar5);
    }
    puVar9 = (undefined *)sg_convert_errno(iVar7);
  }
  else {
    puVar6 = &local_424;
    for (iVar7 = 0x100; iVar7 != 0; iVar7 = iVar7 + -1) {
      *puVar6 = 0;
      puVar6 = puVar6 + (uint)bVar10 * -2 + 1;
    }
    puStack_4b4 = (uint *)0x0;
    puVar6 = (uint *)0x0;
    local_484 = &local_424;
    puVar9 = (undefined *)
             sg_ll_report_tgt_prt_grp2(local_494,&local_424,0x400,local_49e,1,local_490,0);
    puVar8 = &local_424;
    if (puVar9 == (undefined *)0x0) {
      puVar4 = (uint *)((local_424 >> 0x18 | (local_424 & 0xff0000) >> 8 | (local_424 & 0xff00) << 8
                        | local_424 << 0x18) + 4);
      local_48c = puVar4;
      if (0x400 < (int)puVar4) {
        puVar4 = (uint *)pr2serr("  <<report too long for internal buffer, output truncated\n");
        local_48c = (uint *)0x400;
      }
      puVar8 = local_484;
      if ((char)local_49c == '\0') {
        if (local_490 == (uint *)0x0) {
          if (local_49f == '\0') {
LAB_00011645:
            puts("Report target port groups:");
            if (local_49e == '\0') {
              puVar8 = (uint *)&local_420;
            }
            else {
              if ((local_420 & 0x70) != 0x10) {
                pr2serr("   <<invalid extended header format\n");
                puVar8 = &local_424;
                goto LAB_00011439;
              }
              puVar6 = (uint *)(uint)local_41f;
              puVar8 = local_41c;
              puStack_4b4 = extraout_ECX_00;
              __printf_chk(1,"  Implicit transition time: %d\n",puVar6);
            }
            local_488 = &DAT_0001222b;
            local_4a4 = puVar9;
            for (local_49c = (int)puVar8 - (int)local_484; puVar9 = local_4a4,
                (int)local_49c < (int)local_48c; local_49c = local_49c + (int)(local_484 + 2)) {
              pcVar3 = "0x%02x";
              __printf_chk(1,"  target port group id : 0x%x , Pref=%d, Rtpg_fmt=%d\n",
                           *(ushort *)((int)puVar8 + 2) << 8 | *(ushort *)((int)puVar8 + 2) >> 8,
                           (uint)(int)(char)(byte)*puVar8 >> 0x1f,(byte)*puVar8 >> 4 & 7);
              __printf_chk(1,"    target port group asymmetric access state : ",puVar6);
              __printf_chk(1,"0x%02x",(byte)*puVar8 & 0xf);
              if (local_49d != '\0') {
                puStack_4b4 = (uint *)((byte)*puVar8 & 0xf);
                iVar7 = (int)puStack_4b4 * 4;
                switch(puStack_4b4) {
                case (uint *)0x0:
                  puStack_4b4 = extraout_EDX_00;
                  __printf_chk(1," (active/optimized)",extraout_EDX_00);
                  break;
                case (uint *)0x1:
                  __printf_chk(1," (active/non optimized)",puStack_4b4);
                  break;
                case (uint *)0x2:
                  __printf_chk(1," (standby)",puStack_4b4);
                  break;
                case (uint *)0x3:
                  __printf_chk(1," (unavailable)",puStack_4b4);
                  break;
                case (uint *)0x4:
                  __printf_chk(1," (logical block dependent)",puStack_4b4);
                  break;
                default:
                  puStack_4b4 = (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7));
                  __printf_chk(1," (unknown)",
                               (uint *)((int)&__DT_PLTGOT + *(int *)(&DAT_000128e4 + iVar7)));
                  break;
                case (uint *)0xe:
                  __printf_chk(1," (offline)",puStack_4b4);
                  break;
                case (uint *)0xf:
                  __printf_chk(1," (transitioning between states)",puStack_4b4);
                }
              }
              putchar(10);
              __printf_chk(1,"    T_SUP : %d, ",(uint)(int)(char)*(byte *)((int)puVar8 + 1) >> 0x1f)
              ;
              __printf_chk(1,"O_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 6 & 1);
              __printf_chk(1,"LBD_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 4 & 1);
              __printf_chk(1,"U_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 3 & 1);
              __printf_chk(1,"S_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 2 & 1);
              __printf_chk(1,"AN_SUP : %d, ",*(byte *)((int)puVar8 + 1) >> 1 & 1);
              __printf_chk(1,"AO_SUP : %d\n",*(byte *)((int)puVar8 + 1) & 1);
              __printf_chk(1,"    status code : ");
              puVar6 = (uint *)(uint)*(byte *)((int)puVar8 + 5);
              __printf_chk(1,"0x%02x",puVar6);
              if (local_49d != '\0') {
                bVar10 = *(byte *)((int)puVar8 + 5);
                puVar6 = (uint *)(uint)bVar10;
                puStack_4b4 = puVar6;
                if (bVar10 == 1) {
                  __printf_chk(1,
                               " (target port asym. state changed by SET TARGET PORT GROUPS command)"
                               ,puVar6);
                }
                else if (bVar10 == 0) {
                  __printf_chk(1," (no status available)",puVar6);
                }
                else if (bVar10 == 2) {
                  puStack_4b4 = (uint *)pcVar3;
                  __printf_chk(1," (target port asym. state changed by implicit lu behaviour)",
                               "0x%02x");
                  puVar6 = (uint *)pcVar3;
                }
                else {
                  puVar6 = extraout_ECX_01;
                  puStack_4b4 = extraout_ECX_01;
                  __printf_chk(1," (unknown status code)",extraout_ECX_01);
                }
              }
              putchar(10);
              __printf_chk(1,"    vendor unique status : ",puVar6);
              __printf_chk(1,&DAT_00012231,*(byte *)((int)puVar8 + 6));
              __printf_chk(1,"    target port count : ");
              puVar4 = (uint *)(uint)*(byte *)((int)puVar8 + 7);
              puVar6 = puVar4;
              __printf_chk(1,"%02x\n",puVar4);
              local_484 = (uint *)((int)puVar4 * 4);
              local_498 = "    Relative target port ids:";
              puVar4 = extraout_ECX_02;
              for (iVar7 = 0; iVar7 < (int)local_484; iVar7 = iVar7 + 4) {
                if (iVar7 == 0) {
                  puts(local_498);
                  puVar4 = extraout_ECX_04;
                }
                uVar1 = *(ushort *)((int)puVar8 + iVar7 + 10);
                puVar6 = (uint *)(uint)(ushort)(uVar1 << 8 | uVar1 >> 8);
                puStack_4b4 = puVar4;
                __printf_chk(1,local_488,puVar6);
                puVar4 = extraout_ECX_03;
              }
              puVar8 = (uint *)((int)puVar8 + (int)(local_484 + 2));
            }
            goto LAB_00011439;
          }
        }
        else {
          puVar6 = local_48c;
          puStack_4b4 = puVar4;
          __printf_chk(1,"Report list length = %d\n",local_48c);
          if (local_49f == '\0') goto LAB_00011645;
          puts("\nOutput response in hex:");
        }
        puStack_4b4 = &local_424;
        hex2stdout(local_484,local_48c,1);
        puVar8 = &local_424;
      }
      else {
        local_488 = puVar9;
        for (iVar7 = 0; puVar9 = local_488, iVar7 < (int)local_48c; iVar7 = iVar7 + 1) {
          putchar((uint)*(byte *)((int)puVar8 + iVar7));
        }
      }
LAB_00011439:
      iVar7 = sg_cmds_close_device(local_494);
      if (iVar7 < 0) {
        puVar8 = (uint *)-iVar7;
        uVar5 = safe_strerror(puVar8);
        pr2serr("close error: %s\n",uVar5);
        puVar9 = (undefined *)sg_convert_errno(puVar8);
      }
    }
    else {
      if (puVar9 == (undefined *)0x9) {
        pr2serr("Report Target Port Groups command not supported\n");
      }
      else if (puVar9 == (undefined *)0x5) {
        pr2serr("bad field in Report Target Port Groups cdb including unsupported service action\n")
        ;
      }
      else {
        puStack_4b4 = local_490;
        sg_get_category_sense_str(puVar9,0x50,local_474);
        pr2serr("Report Target Port Groups: %s\n",local_474);
        puVar8 = local_474;
      }
      iVar7 = sg_cmds_close_device(local_494);
      if (iVar7 < 0) {
        uVar5 = safe_strerror(-iVar7);
        pr2serr("close error: %s\n",uVar5);
      }
    }
  }
  if ((local_490 == (uint *)0x0) &&
     (puStack_4b4 = puVar8, cVar2 = sg_if_can2stderr("sg_rtpg failed: ",puVar9,puVar8),
     cVar2 == '\0')) {
    pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
  }
  if ((int)puVar9 < 0) {
    puVar9 = (undefined *)0x63;
  }
LAB_00011257:
  if (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {
    puStack_4b4 = (uint *)0x11b04;
    uVar11 = FUN_00011d00();
    puStack_4b4 = (uint *)uVar11;
    __libc_start_main(PTR_FUN_00013ff8,uStack_4b0,auStack_4ac,FUN_00011c90,FUN_00011cf0,
                      (int)((ulonglong)uVar11 >> 0x20),&puStack_4b4);
    do {
                    /* WARNING: Do nothing block with infinite loop */
    } while( true );
  }
  return puVar9;
}

