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

int main(int argc,char **argv)

{
  dirent64 **ppdVar1;
  byte *__s2;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  char **ppcVar10;
  int iVar11;
  uint *puVar12;
  int *piVar13;
  int iVar14;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  uint uVar15;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  undefined4 extraout_EDX;
  char *pcVar19;
  undefined4 extraout_EDX_00;
  byte *pbVar20;
  char *pcVar21;
  char *leadin;
  undefined4 *puVar22;
  byte *pbVar23;
  my_map_info_t *pmVar24;
  undefined4 *puVar25;
  int in_GS_OFFSET;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  _Bool do_numeric;
  undefined *puVar30;
  undefined1 in_stack_fffffed0;
  int local_114;
  int local_108;
  byte local_101;
  char *local_100;
  int local_fc;
  char *local_f8;
  char *local_f4;
  dirent64 **local_ec;
  stat64 local_e8;
  undefined1 local_88 [8];
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78 [4];
  undefined4 local_68;
  char local_64 [64];
  int local_24;
  int *local_18;
  
  ppcVar10 = argv;
  iVar11 = argc;
  bVar29 = 0;
  local_18 = &argc;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  bVar26 = argc == 0;
  bVar28 = argc == 1;
  if (argc < 2) {
    bVar7 = false;
    bVar5 = false;
    bVar4 = false;
    bVar6 = false;
    bVar8 = false;
    local_101 = 1;
    bVar3 = false;
    bVar9 = false;
    bVar2 = true;
  }
  else {
    bVar7 = false;
    uVar15 = 1;
    bVar5 = false;
    bVar4 = false;
    bVar6 = false;
    bVar8 = false;
    local_101 = 1;
    bVar3 = false;
    bVar9 = false;
    bVar2 = true;
    do {
      iVar14 = 3;
      __s2 = (byte *)ppcVar10[uVar15];
      pbVar20 = &DAT_0001303b;
      pbVar23 = __s2;
      do {
        if (iVar14 == 0) break;
        iVar14 = iVar14 + -1;
        bVar26 = *pbVar20 < *pbVar23;
        bVar28 = *pbVar20 == *pbVar23;
        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
      } while (bVar28);
      bVar27 = false;
      bVar26 = (!bVar26 && !bVar28) == bVar26;
      if (bVar26) {
        local_101 = 1;
      }
      else {
        iVar14 = 3;
        pbVar20 = &DAT_0001303e;
        pbVar23 = __s2;
        do {
          if (iVar14 == 0) break;
          iVar14 = iVar14 + -1;
          bVar27 = *pbVar20 < *pbVar23;
          bVar26 = *pbVar20 == *pbVar23;
          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
        } while (bVar26);
        bVar28 = false;
        bVar26 = (!bVar27 && !bVar26) == bVar27;
        if (bVar26) {
          local_101 = 0;
        }
        else {
          iVar14 = 3;
          pbVar20 = &DAT_00013041;
          pbVar23 = __s2;
          do {
            if (iVar14 == 0) break;
            iVar14 = iVar14 + -1;
            bVar28 = *pbVar20 < *pbVar23;
            bVar26 = *pbVar20 == *pbVar23;
            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
          } while (bVar26);
          bVar27 = false;
          bVar26 = (!bVar28 && !bVar26) == bVar28;
          if (bVar26) {
            bVar9 = true;
          }
          else {
            iVar14 = 3;
            pbVar20 = &DAT_00013044;
            pbVar23 = __s2;
            do {
              if (iVar14 == 0) break;
              iVar14 = iVar14 + -1;
              bVar27 = *pbVar20 < *pbVar23;
              bVar26 = *pbVar20 == *pbVar23;
              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
            } while (bVar26);
            bVar28 = false;
            bVar26 = (!bVar27 && !bVar26) == bVar27;
            if (bVar26) {
              bVar3 = true;
            }
            else {
              iVar14 = 4;
              pbVar20 = &DAT_00013047;
              pbVar23 = __s2;
              do {
                if (iVar14 == 0) break;
                iVar14 = iVar14 + -1;
                bVar28 = *pbVar20 < *pbVar23;
                bVar26 = *pbVar20 == *pbVar23;
                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
              } while (bVar26);
              if ((!bVar28 && !bVar26) == bVar28) {
                bVar4 = true;
                bVar2 = false;
              }
              else {
                iVar14 = strcmp("-st",(char *)__s2);
                if (iVar14 == 0) {
                  bVar7 = true;
                  bVar8 = true;
                  bVar2 = false;
                }
                else {
                  iVar14 = strcmp("-sr",(char *)__s2);
                  if (iVar14 == 0) {
                    bVar5 = true;
                    bVar2 = false;
                  }
                  else {
                    iVar14 = strcmp("-scd",(char *)__s2);
                    if (iVar14 != 0) {
                      iVar11 = strcmp("-V",(char *)__s2);
                      if (iVar11 == 0) {
                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",
                                      "1.12 20171010");
                    /* WARNING: Subroutine does not return */
                        exit(0);
                      }
                      iVar11 = strcmp("-?",(char *)__s2);
                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {
                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";
                      }
                      else {
                        if (*__s2 == 0x2d) {
                          iVar11 = 1;
                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);
                          usage();
                          goto LAB_00011620;
                        }
                        pcVar21 = "Unknown argument";
                      }
                      iVar11 = 1;
                      puts(pcVar21);
                      usage();
                      goto LAB_00011620;
                    }
                    bVar6 = true;
                    bVar2 = false;
                  }
                }
              }
            }
          }
        }
      }
      uVar15 = uVar15 + 1;
      bVar26 = (uint)iVar11 < uVar15;
      bVar28 = iVar11 == uVar15;
    } while (!bVar28);
  }
  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);
  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {
    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);
    if ((int)local_f4 < 0) {
      piVar13 = __errno_location();
      local_f4 = (char *)-*piVar13;
    }
    else {
      if (local_f4 != (char *)0x0) {
        iVar11 = 0;
        do {
          ppdVar1 = local_ec + iVar11;
          iVar11 = iVar11 + 1;
          free(*ppdVar1);
        } while (local_f4 != (char *)iVar11);
      }
      free(local_ec);
    }
    has_sysfs_sg = (int)local_f4;
  }
  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);
  if (iVar11 == 0) {
    puts("# Note: the devfs pseudo file system is present");
  }
  local_fc = 0x1514c;
  pcVar21 = (char *)0xffffffff;
  local_f8 = (char *)0x0;
  local_114 = 0;
  local_108 = 0;
  bVar26 = false;
  do {
    pcVar16 = local_f8 + 1;
    if (has_sysfs_sg == 0) {
      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);
LAB_00011449:
      local_100 = local_64;
      iVar11 = open64(local_100,0x800);
      if (iVar11 < 0) {
        puVar12 = (uint *)__errno_location();
        uVar15 = *puVar12;
        if (uVar15 == 0x10) {
          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;
        }
        else {
          local_108 = local_108 + 1;
          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {
            local_114 = local_114 + 1;
            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;
          }
          else {
            if (uVar15 == 0xd) {
              bVar26 = true;
            }
            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);
            perror(ebuff);
          }
        }
        goto joined_r0x0001166b;
      }
      iVar14 = ioctl(iVar11,0x2276,local_fc);
      if (iVar14 < 0) {
        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,
                       extraout_ECX,extraout_ECX);
        perror(ebuff);
        local_108 = local_108 + 1;
      }
      else {
        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {
          *(undefined4 *)(local_fc + 0x20) = local_80;
          *(undefined4 *)(local_fc + 0x24) = local_7c;
          puVar22 = local_78;
          puVar25 = (undefined4 *)(local_fc + 0x28);
          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {
            *puVar25 = *puVar22;
            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;
            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;
          }
          *(undefined4 *)(local_fc + 0x38) = local_68;
        }
        *(undefined4 *)(local_fc + -0xc) = 1;
        *(undefined4 *)(local_fc + -4) = 0xffffffff;
        pcVar21 = local_f8;
      }
      iVar14 = close(iVar11);
      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;
      if (iVar14 < 0) break;
    }
    else {
      if (local_f8[0x5d160] != '\0') {
        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);
        goto LAB_00011449;
      }
joined_r0x0001166b:
      if ((4 < local_108) || (0xfff < (int)pcVar16)) {
LAB_00011671:
        iVar11 = 4;
        if (3 < local_114) {
          iVar11 = local_114;
        }
        if (iVar11 < local_108) {
          iVar11 = 0xf;
          puts("Stopping because there are too many error");
          if (bVar26) {
            puts("    root access may be required");
          }
          goto LAB_00011620;
        }
        if (pcVar21 == (char *)0xffffffff) {
          puts("Stopping because no sg devices found");
        }
        if ((((((((bVar2) || (bVar4)) &&
                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&
              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&
            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {
          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);
        }
        if ((bVar8) || (bVar2)) {
          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);
        }
        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;
        pmVar24 = map_arr;
        pcVar16 = "  some error";
        if (bVar9) {
          pcVar16 = "  -3 -3 -3 -3  -3";
        }
        pcVar17 = "  not present";
        if (bVar9) {
          pcVar17 = "  -1 -1 -1 -1  -1";
        }
        pcVar18 = "  busy";
        if (bVar9) {
          pcVar18 = "  -2 -2 -2 -2  -2";
        }
        leadin = (char *)0x0;
        goto LAB_00011770;
      }
    }
    local_fc = local_fc + 0x48;
    local_f8 = pcVar16;
  } while( true );
  iVar11 = 0xf;
  __snprintf_chk(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14);
  perror("sg_map: close error");
  goto LAB_00011620;
LAB_00011770:
  do {
    if (has_sysfs_sg == 0) {
      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);
LAB_000117a1:
      local_f4 = local_64;
      puVar30 = &DAT_0001318b;
      pcVar19 = local_f4;
      __printf_chk(1,&DAT_0001318b,local_f4);
      iVar11 = pmVar24->active;
      if (iVar11 == -1) {
        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);
      }
      else if (iVar11 < 0) {
        if (iVar11 == -2) {
          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);
        }
        else {
LAB_000119e2:
          puts("  bad logic");
        }
      }
      else if (iVar11 == 0) {
        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);
      }
      else {
        if (iVar11 != 1) goto LAB_000119e2;
        if (bVar9) {
          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;
          puVar30 = (undefined *)(pmVar24->sg_dat).lun;
          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,
                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);
        }
        if (pmVar24->lin_dev_type - 1U < 5) {
          switch(pmVar24->lin_dev_type) {
          case 1:
            pcVar19 = "/dev/sd";
            do_numeric = false;
            break;
          case 2:
            pcVar19 = "/dev/sr";
            do_numeric = true;
            break;
          case 3:
            pcVar19 = "/dev/nst";
            do_numeric = true;
            break;
          case 4:
            pcVar19 = "/dev/scd";
            do_numeric = true;
            break;
          case 5:
            pcVar19 = "/dev/osst";
            do_numeric = true;
          }
          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);
          puVar30 = &DAT_00013189;
          __printf_chk(1,&DAT_00013189,local_f4);
          pcVar19 = local_f4;
        }
        if (bVar3) {
          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,
                       puVar30,pcVar19);
        }
      }
      putchar(10);
    }
    else if (leadin[0x5d160] != '\0') {
      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);
      goto LAB_000117a1;
    }
    leadin = leadin + 1;
    pmVar24 = pmVar24 + 1;
  } while (pcVar21 + 1 != leadin);
LAB_0001193f:
  iVar11 = 0;
LAB_00011620:
  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar11;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

undefined4 FUN_000111d0(uint param_1,int param_2)

{
  dirent64 **ppdVar1;
  byte *__s2;
  uint uVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  int iVar11;
  int iVar12;
  uint *puVar13;
  int iVar14;
  int *piVar15;
  char *pcVar16;
  int iVar17;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  byte *extraout_ECX_01;
  uint uVar18;
  char *pcVar19;
  char *pcVar20;
  undefined4 extraout_EDX;
  int extraout_EDX_00;
  undefined4 extraout_EDX_01;
  byte *pbVar21;
  undefined4 *puVar23;
  undefined4 uVar24;
  byte *pbVar25;
  undefined4 *puVar26;
  int in_GS_OFFSET;
  bool bVar27;
  bool bVar28;
  bool bVar29;
  byte bVar30;
  undefined *puVar31;
  char *pcVar32;
  int local_114;
  int local_108;
  char *local_100;
  undefined4 *local_fc;
  int local_f8;
  char *local_f4;
  dirent64 **local_ec;
  stat64 local_e8;
  undefined1 local_88 [8];
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78 [4];
  undefined4 local_68;
  char local_64 [64];
  int local_24;
  undefined4 *local_18;
  byte *pbVar22;
  
  iVar11 = param_2;
  uVar2 = param_1;
  bVar30 = 0;
  local_18 = &param_1;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  bVar27 = param_1 == 0;
  bVar29 = param_1 == 1;
  if ((int)param_1 < 2) {
    bVar8 = false;
    bVar6 = false;
    bVar5 = false;
    bVar7 = false;
    bVar9 = false;
    bVar4 = false;
    bVar10 = false;
    bVar3 = true;
  }
  else {
    bVar8 = false;
    uVar18 = 1;
    bVar6 = false;
    bVar5 = false;
    bVar7 = false;
    bVar9 = false;
    bVar4 = false;
    bVar10 = false;
    bVar3 = true;
    do {
      iVar17 = 3;
      __s2 = *(byte **)(iVar11 + uVar18 * 4);
      pbVar22 = &DAT_0001303b;
      pbVar25 = __s2;
      do {
        if (iVar17 == 0) break;
        iVar17 = iVar17 + -1;
        bVar27 = *pbVar22 < *pbVar25;
        bVar29 = *pbVar22 == *pbVar25;
        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
      } while (bVar29);
      bVar28 = false;
      bVar27 = (!bVar27 && !bVar29) == bVar27;
      if (!bVar27) {
        iVar17 = 3;
        pbVar22 = &DAT_0001303e;
        pbVar25 = __s2;
        do {
          if (iVar17 == 0) break;
          iVar17 = iVar17 + -1;
          bVar28 = *pbVar22 < *pbVar25;
          bVar27 = *pbVar22 == *pbVar25;
          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
        } while (bVar27);
        bVar29 = false;
        bVar27 = (!bVar28 && !bVar27) == bVar28;
        if (!bVar27) {
          iVar17 = 3;
          pbVar22 = &DAT_00013041;
          pbVar25 = __s2;
          do {
            if (iVar17 == 0) break;
            iVar17 = iVar17 + -1;
            bVar29 = *pbVar22 < *pbVar25;
            bVar27 = *pbVar22 == *pbVar25;
            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
          } while (bVar27);
          bVar28 = false;
          bVar27 = (!bVar29 && !bVar27) == bVar29;
          if (bVar27) {
            bVar10 = true;
          }
          else {
            iVar17 = 3;
            pbVar22 = &DAT_00013044;
            pbVar25 = __s2;
            do {
              if (iVar17 == 0) break;
              iVar17 = iVar17 + -1;
              bVar28 = *pbVar22 < *pbVar25;
              bVar27 = *pbVar22 == *pbVar25;
              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
            } while (bVar27);
            bVar29 = false;
            bVar27 = (!bVar28 && !bVar27) == bVar28;
            if (bVar27) {
              bVar4 = true;
            }
            else {
              iVar17 = 4;
              pbVar22 = &DAT_00013047;
              pbVar25 = __s2;
              do {
                pbVar21 = pbVar22;
                if (iVar17 == 0) break;
                iVar17 = iVar17 + -1;
                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;
                bVar29 = *pbVar22 < *pbVar25;
                bVar27 = *pbVar22 == *pbVar25;
                pbVar22 = pbVar21;
                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
              } while (bVar27);
              if ((!bVar29 && !bVar27) == bVar29) {
                bVar5 = true;
                bVar3 = false;
              }
              else {
                iVar17 = strcmp("-st",(char *)__s2);
                if (iVar17 == 0) {
                  bVar8 = true;
                  bVar9 = true;
                  bVar3 = false;
                }
                else {
                  iVar17 = strcmp("-sr",(char *)__s2);
                  if (iVar17 == 0) {
                    bVar6 = true;
                    bVar3 = false;
                  }
                  else {
                    iVar17 = strcmp("-scd",(char *)__s2);
                    if (iVar17 != 0) {
                      iVar11 = strcmp("-V",(char *)__s2);
                      if (iVar11 == 0) {
                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",
                                      "1.12 20171010");
                    /* WARNING: Subroutine does not return */
                        exit(0);
                      }
                      pbVar22 = __s2;
                      pbVar25 = pbVar21;
                      iVar11 = strcmp("-?",(char *)__s2);
                      if (iVar11 == 0) {
LAB_00011d70:
                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";
                      }
                      else {
                        pbVar21 = (byte *)0x2;
                        pbVar22 = __s2;
                        pbVar25 = extraout_ECX_01;
                        iVar11 = strncmp("-h",(char *)__s2,2);
                        if (iVar11 == 0) goto LAB_00011d70;
                        if (*__s2 == 0x2d) {
                          uVar24 = 1;
                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);
                          FUN_00011fa0();
                          goto LAB_00011620;
                        }
                        pcVar16 = "Unknown argument";
                      }
                      uVar24 = 1;
                      puts(pcVar16);
                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);
                      goto LAB_00011620;
                    }
                    bVar7 = true;
                    bVar3 = false;
                  }
                }
              }
            }
          }
        }
      }
      uVar18 = uVar18 + 1;
      bVar27 = uVar2 < uVar18;
      bVar29 = uVar2 == uVar18;
    } while (!bVar29);
  }
  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);
  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {
    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);
    if ((int)local_f4 < 0) {
      piVar15 = __errno_location();
      local_f4 = (char *)-*piVar15;
    }
    else {
      if (local_f4 != (char *)0x0) {
        iVar11 = 0;
        do {
          ppdVar1 = local_ec + iVar11;
          iVar11 = iVar11 + 1;
          free(*ppdVar1);
        } while (local_f4 != (char *)iVar11);
      }
      free(local_ec);
    }
    DAT_0005d140 = (int)local_f4;
  }
  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);
  if (iVar11 == 0) {
    puts("# Note: the devfs pseudo file system is present");
  }
  local_fc = &DAT_0001514c;
  iVar11 = -1;
  local_f8 = 0;
  local_114 = 0;
  local_108 = 0;
  bVar27 = false;
  do {
    iVar17 = local_f8 + 1;
    if (DAT_0005d140 == 0) {
      FUN_000124a0();
LAB_00011449:
      local_100 = local_64;
      iVar12 = open64(local_100,0x800);
      if (iVar12 < 0) {
        puVar13 = (uint *)__errno_location();
        uVar2 = *puVar13;
        if (uVar2 == 0x10) {
          local_fc[-3] = 0xfffffffe;
        }
        else {
          local_108 = local_108 + 1;
          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {
            local_114 = local_114 + 1;
            local_fc[-3] = 0xffffffff;
          }
          else {
            if (uVar2 == 0xd) {
              bVar27 = true;
            }
            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);
            perror(&DAT_00015040);
          }
        }
        goto joined_r0x0001166b;
      }
      iVar14 = ioctl(iVar12,0x2276,local_fc);
      if (iVar14 < 0) {
        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,
                       extraout_ECX,extraout_ECX);
        perror(&DAT_00015040);
        local_108 = local_108 + 1;
      }
      else {
        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {
          local_fc[8] = local_80;
          local_fc[9] = local_7c;
          puVar23 = local_78;
          puVar26 = local_fc + 10;
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar26 = *puVar23;
            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;
            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;
          }
          local_fc[0xe] = local_68;
        }
        local_fc[-3] = 1;
        local_fc[-1] = 0xffffffff;
        iVar11 = local_f8;
      }
      iVar12 = close(iVar12);
      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;
      if (iVar12 < 0) break;
    }
    else {
      if ((&DAT_0005d160)[local_f8] != '\0') {
        FUN_000124a0();
        goto LAB_00011449;
      }
joined_r0x0001166b:
      if ((4 < local_108) || (0xfff < iVar17)) {
LAB_00011671:
        iVar17 = 4;
        if (3 < local_114) {
          iVar17 = local_114;
        }
        if (iVar17 < local_108) {
          uVar24 = 0xf;
          puts("Stopping because there are too many error");
          if (bVar27) {
            puts("    root access may be required");
          }
          goto LAB_00011620;
        }
        if (iVar11 == -1) {
          iVar17 = puts("Stopping because no sg devices found");
          local_114 = extraout_EDX_00;
        }
        if ((((((((bVar3) || (bVar5)) &&
                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&
              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&
            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {
          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);
        }
        if ((bVar9) || (bVar3)) {
          FUN_000121f0(5,iVar11,iVar17,iVar17);
        }
        if (iVar11 == -1) goto LAB_0001193f;
        piVar15 = &DAT_00015140;
        pcVar16 = "  some error";
        if (bVar10) {
          pcVar16 = "  -3 -3 -3 -3  -3";
        }
        pcVar19 = "  not present";
        if (bVar10) {
          pcVar19 = "  -1 -1 -1 -1  -1";
        }
        pcVar20 = "  busy";
        if (bVar10) {
          pcVar20 = "  -2 -2 -2 -2  -2";
        }
        iVar17 = 0;
        goto LAB_00011770;
      }
    }
    local_fc = local_fc + 0x12;
    local_f8 = iVar17;
  } while( true );
  uVar24 = 0xf;
  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);
  perror("sg_map: close error");
  goto LAB_00011620;
LAB_00011770:
  do {
    if (DAT_0005d140 == 0) {
      FUN_000124a0();
LAB_000117a1:
      local_f4 = local_64;
      puVar31 = &DAT_0001318b;
      pcVar32 = local_f4;
      __printf_chk(1,&DAT_0001318b,local_f4);
      iVar12 = *piVar15;
      if (iVar12 == -1) {
        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);
      }
      else {
        if (iVar12 < 0) {
          if (iVar12 == -2) {
            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);
          }
          else {
LAB_000119e2:
            puts("  bad logic");
          }
          goto LAB_00011920;
        }
        if (iVar12 == 0) {
          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);
          goto LAB_00011920;
        }
        if (iVar12 != 1) goto LAB_000119e2;
        if (bVar10) {
          pcVar32 = (char *)piVar15[7];
          puVar31 = (undefined *)piVar15[6];
          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);
        }
        switch(piVar15[1]) {
        case 1:
          uVar24 = 0;
          break;
        case 2:
          uVar24 = 1;
          break;
        case 3:
          uVar24 = 1;
          break;
        case 4:
          uVar24 = 1;
          break;
        case 5:
          uVar24 = 1;
          break;
        default:
          goto LAB_000119b0;
        }
        FUN_00012070(uVar24);
        puVar31 = &UNK_00013189;
        __printf_chk(1,&UNK_00013189,local_f4);
        pcVar32 = local_f4;
LAB_000119b0:
        if (bVar4) {
          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,
                       pcVar32);
        }
      }
LAB_00011920:
      putchar(10);
    }
    else if ((&DAT_0005d160)[iVar17] != '\0') {
      FUN_000124a0();
      goto LAB_000117a1;
    }
    iVar17 = iVar17 + 1;
    piVar15 = piVar15 + 0x12;
  } while (iVar11 + 1 != iVar17);
LAB_0001193f:
  uVar24 = 0;
LAB_00011620:
  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar24;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00012680();
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00011df0
ADD EBX,0x3d97
PUSH ECX
SUB ESP,0x118
MOV ESI,dword ptr [ECX + 0x4]
MOV EAX,dword ptr [ECX]
MOV dword ptr [EBP + 0xffffff10],ESI
MOV dword ptr [EBP + 0xffffff0c],EAX
MOV ESI,dword ptr GS:[0x14]
MOV dword ptr [EBP + -0x1c],ESI
XOR ESI,ESI
CMP EAX,0x1
JLE 0x00011c7a
LEA EAX,[EBX + 0xffffe0bf]
MOV byte ptr [EBP + 0xfffffef1],0x0
MOV EDX,0x1
MOV dword ptr [EBP + 0xffffff08],EAX
LEA EAX,[EBX + 0xffffe0c2]
MOV byte ptr [EBP + 0xfffffeeb],0x0
MOV byte ptr [EBP + 0xfffffef3],0x0
MOV byte ptr [EBP + 0xfffffef0],0x0
MOV byte ptr [EBP + 0xfffffef2],0x0
MOV byte ptr [EBP + 0xffffff07],0x1
MOV byte ptr [EBP + 0xffffff06],0x0
MOV byte ptr [EBP + 0xffffff05],0x0
MOV byte ptr [EBP + 0xffffff04],0x1
MOV dword ptr [EBP + 0xffffff00],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff10]
MOV ESI,dword ptr [EBP + 0xffffff08]
MOV ECX,0x3
MOV EDI,dword ptr [EAX + EDX*0x4]
MOV dword ptr [EBP + 0xffffff14],EDI
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00011368
MOV ESI,dword ptr [EBP + 0xffffff00]
MOV EDI,dword ptr [EBP + 0xffffff14]
MOV ECX,0x3
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00011548
MOV EDI,dword ptr [EBP + 0xffffff14]
MOV ECX,0x3
LEA ESI,[EBX + 0xffffe0c5]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00011640
MOV EDI,dword ptr [EBP + 0xffffff14]
MOV ECX,0x3
LEA ESI,[EBX + 0xffffe0c8]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00011810
MOV EDI,dword ptr [EBP + 0xffffff14]
MOV ECX,0x4
LEA ESI,[EBX + 0xffffe0cb]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00011892
MOV EDI,dword ptr [EBP + 0xffffff14]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffe0cf]
PUSH EDI
PUSH EAX
MOV dword ptr [EBP + 0xfffffefc],EDX
CALL 0x00011050
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffefc]
TEST EAX,EAX
JNZ 0x000118a5
MOV byte ptr [EBP + 0xfffffef1],0x1
MOV byte ptr [EBP + 0xfffffef2],0x1
MOV byte ptr [EBP + 0xffffff04],0x0
JMP 0x0001136f
MOV byte ptr [EBP + 0xffffff07],0x1
ADD EDX,0x1
CMP dword ptr [EBP + 0xffffff0c],EDX
JNZ 0x00011278
SUB ESP,0x4
LEA ESI,[EBP + 0xffffff20]
LEA EDI,[EBX + 0xffffe12c]
PUSH ESI
PUSH EDI
PUSH 0x3
CALL 0x00011180
ADD ESP,0x10
TEST EAX,EAX
JS 0x000113b3
MOV EAX,dword ptr [EBP + 0xffffff30]
AND EAX,0xf000
CMP EAX,0x4000
JZ 0x00011a84
SUB ESP,0x4
LEA EAX,[EBX + 0xffffe144]
PUSH ESI
PUSH EAX
PUSH 0x3
CALL 0x00011180
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011a5a
LEA EAX,[EBX + 0x1d0]
MOV ESI,0xffffffff
MOV dword ptr [EBP + 0xffffff10],0x0
MOV EDX,dword ptr [EBP + 0xffffff10]
MOV dword ptr [EBP + 0xffffff0c],EAX
LEA EAX,[EBP + -0x80]
MOV dword ptr [EBP + 0xfffffeec],EAX
LEA EAX,[EBP + -0x70]
MOV dword ptr [EBP + 0xfffffef4],0x0
MOV dword ptr [EBP + 0xffffff00],0x0
MOV byte ptr [EBP + 0xfffffef8],0x0
MOV dword ptr [EBP + 0xfffffee4],EAX
JMP 0x00011513
CMP byte ptr [EDX + EBX*0x1 + 0x481e4],0x0
JZ 0x000114e1
LEA EAX,[EBP + -0x5c]
MOV ECX,0x1
MOV dword ptr [EBP + 0xffffff08],EAX
CALL 0x000124a0
SUB ESP,0x8
PUSH 0x800
PUSH dword ptr [EBP + 0xffffff08]
CALL 0x00011060
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00011558
CALL 0x00011120
MOV EAX,dword ptr [EAX]
CMP EAX,0x10
JZ 0x0001181c
MOV EDX,EAX
ADD dword ptr [EBP + 0xffffff00],0x1
AND EDX,0xfffffffb
CMP EDX,0x2
JZ 0x00011650
CMP EAX,0x13
JZ 0x00011650
MOVZX ECX,byte ptr [EBP + 0xfffffef8]
CMP EAX,0xd
MOV EAX,0x1
LEA EDI,[EBX + 0xc4]
CMOVZ ECX,EAX
SUB ESP,0x8
LEA EAX,[EBX + 0xffffe0ad]
PUSH dword ptr [EBP + 0xffffff08]
PUSH EAX
PUSH 0x100
PUSH 0x1
PUSH 0x100
PUSH EDI
MOV byte ptr [EBP + 0xfffffef8],CL
CALL 0x00011040
ADD ESP,0x14
PUSH EDI
CALL 0x000110b0
ADD ESP,0x10
CMP dword ptr [EBP + 0xffffff00],0x4
JG 0x00011671
CMP dword ptr [EBP + 0xffffff14],0xfff
JG 0x00011671
ADD dword ptr [EBP + 0xffffff0c],0x48
MOV EAX,dword ptr [EBP + 0xffffff14]
MOV dword ptr [EBP + 0xffffff10],EAX
MOV EDX,EAX
MOV EDI,dword ptr [EBX + 0x481c4]
LEA EAX,[EDX + 0x1]
MOV dword ptr [EBP + 0xffffff14],EAX
TEST EDI,EDI
JNZ 0x00011428
MOVZX ECX,byte ptr [EBP + 0xffffff07]
LEA EAX,[EBP + -0x5c]
MOV dword ptr [EBP + 0xffffff08],EAX
CALL 0x000124a0
JMP 0x00011449
MOV byte ptr [EBP + 0xffffff07],0x0
JMP 0x0001136f
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff0c]
PUSH 0x2276
PUSH EAX
MOV dword ptr [EBP + 0xfffffefc],EAX
CALL 0x000110a0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffefc]
TEST EAX,EAX
JS 0x00011a0f
CMP byte ptr [EBP + 0xffffff06],0x0
JNZ 0x0001182e
MOV EAX,dword ptr [EBP + 0xffffff0c]
MOV ESI,dword ptr [EBP + 0xffffff10]
MOV dword ptr [EAX + -0xc],0x1
MOV dword ptr [EAX + -0x4],0xffffffff
SUB ESP,0xc
PUSH EDX
CALL 0x000111a0
ADD ESP,0x10
CMP dword ptr [EBP + 0xffffff14],0xfff
JG 0x00011671
CMP dword ptr [EBP + 0xffffff00],0x4
JG 0x00011671
ADD dword ptr [EBP + 0xffffff0c],0x48
TEST EAX,EAX
JNS 0x00011505
PUSH EAX
MOV ESI,0xf
PUSH EAX
LEA EAX,[EBX + 0xffffe151]
PUSH dword ptr [EBP + 0xffffff08]
PUSH EAX
LEA EAX,[EBX + 0xc4]
PUSH 0x100
PUSH 0x1
PUSH 0x100
PUSH EAX
CALL 0x00011040
ADD ESP,0x14
LEA EAX,[EBX + 0xffffe163]
PUSH EAX
CALL 0x000110b0
ADD ESP,0x10
MOV EAX,ESI
MOV ESI,dword ptr [EBP + -0x1c]
XOR ESI,dword ptr GS:[0x14]
JNZ 0x00011d7b
LEA ESP,[EBP + -0x10]
POP ECX
POP EBX
POP ESI
POP EDI
POP EBP
LEA ESP,[ECX + -0x4]
RET
MOV byte ptr [EBP + 0xffffff05],0x1
JMP 0x0001136f
MOV EAX,dword ptr [EBP + 0xffffff0c]
ADD dword ptr [EBP + 0xfffffef4],0x1
CMP dword ptr [EBP + 0xffffff00],0x4
MOV dword ptr [EAX + -0xc],0xffffffff
JLE 0x000114ee
MOV EDX,dword ptr [EBP + 0xfffffef4]
MOV EAX,0x4
CMP EDX,0x4
CMOVGE EAX,EDX
CMP dword ptr [EBP + 0xffffff00],EAX
JG 0x00011b43
CMP ESI,-0x1
JZ 0x00011c63
CMP byte ptr [EBP + 0xffffff04],0x0
JNZ 0x00011bc6
CMP byte ptr [EBP + 0xfffffef3],0x0
JNZ 0x00011bc6
CMP byte ptr [EBP + 0xfffffeeb],0x0
JNZ 0x00011bed
CMP byte ptr [EBP + 0xfffffef0],0x0
JNZ 0x00011c17
CMP byte ptr [EBP + 0xfffffef1],0x0
JNZ 0x00011c41
CMP byte ptr [EBP + 0xfffffef2],0x0
JNZ 0x00011ba4
CMP byte ptr [EBP + 0xffffff04],0x0
JNZ 0x00011ba4
CMP ESI,-0x1
JZ 0x0001193f
MOVZX ECX,byte ptr [EBP + 0xffffff05]
LEA EAX,[EBX + 0xffffe1a3]
LEA EDX,[EBX + 0xffffe1b5]
LEA EDI,[EBX + 0x1c4]
TEST CL,CL
CMOVNZ EDX,EAX
LEA EAX,[EBX + 0xffffe1c2]
MOV dword ptr [EBP + 0xfffffefc],EDX
LEA EDX,[EBX + 0xffffe1d4]
CMOVNZ EDX,EAX
LEA EAX,[EBX + 0xffffe1e2]
MOV dword ptr [EBP + 0xffffff00],EDX
LEA EDX,[EBX + 0xffffe1f4]
CMOVNZ EDX,EAX
LEA EAX,[ESI + 0x1]
XOR ESI,ESI
MOV dword ptr [EBP + 0xffffff10],EAX
LEA EAX,[EBX + 0xffffe20f]
MOV dword ptr [EBP + 0xffffff0c],EAX
LEA EAX,[EBX + 0xffffe226]
MOV dword ptr [EBP + 0xffffff08],EDX
MOV dword ptr [EBP + 0xfffffef8],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBX + 0x481c4]
TEST EAX,EAX
JZ 0x00011950
CMP byte ptr [ESI + EBX*0x1 + 0x481e4],0x0
JZ 0x0001192d
LEA EAX,[EBP + -0x5c]
MOV ECX,0x1
MOV EDX,ESI
MOV dword ptr [EBP + 0xffffff14],EAX
CALL 0x000124a0
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff14]
PUSH dword ptr [EBP + 0xffffff0c]
PUSH 0x1
CALL 0x00011130
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x000119f8
TEST EAX,EAX
JS 0x00011900
JZ 0x0001196c
CMP EAX,0x1
JNZ 0x000119e2
CMP byte ptr [EBP + 0xffffff05],0x0
JNZ 0x00011b7e
MOV EAX,dword ptr [EDI + 0x4]
SUB EAX,0x1
CMP EAX,0x4
JA 0x000119b0
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffffe698]
ADD ECX,EBX
MOV EAX,ECX
MOV ECX,dword ptr [EDI + 0x8]
JMP EAX
MOV byte ptr [EBP + 0xffffff06],0x1
JMP 0x0001136f
MOV EAX,dword ptr [EBP + 0xffffff0c]
MOV dword ptr [EAX + -0xc],0xfffffffe
JMP 0x000114e1
PUSH 0x0
PUSH 0x1
PUSH 0x24
PUSH dword ptr [EBP + 0xfffffeec]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH EDX
MOV dword ptr [EBP + 0xfffffefc],EDX
CALL 0x00011160
ADD ESP,0x20
MOV EDX,dword ptr [EBP + 0xfffffefc]
TEST EAX,EAX
JNZ 0x00011590
MOV EAX,dword ptr [EBP + 0xffffff0c]
MOV ESI,dword ptr [EBP + -0x78]
MOV ECX,0x4
MOV EDI,dword ptr [EBP + -0x74]
MOV dword ptr [EAX + 0x20],ESI
ADD EAX,0x28
MOV ESI,dword ptr [EBP + 0xfffffee4]
MOV dword ptr [EAX + -0x4],EDI
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x60]
MOVSD.REP ES:EDI,ESI
MOV ESI,dword ptr [EBP + 0xffffff0c]
MOV dword ptr [ESI + 0x38],EAX
JMP 0x00011590
MOV byte ptr [EBP + 0xfffffef3],0x1
MOV byte ptr [EBP + 0xffffff04],0x0
JMP 0x0001136f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffe0d3]
PUSH EDI
PUSH EAX
CALL 0x00011050
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffefc]
TEST EAX,EAX
JZ 0x00011a71
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffe0d7]
PUSH EDI
PUSH EAX
CALL 0x00011050
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffefc]
TEST EAX,EAX
JNZ 0x00011cd2
MOV byte ptr [EBP + 0xfffffef0],0x1
MOV byte ptr [EBP + 0xffffff04],0x0
JMP 0x0001136f
CMP EAX,-0x2
JNZ 0x000119e2
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff08]
PUSH 0x1
CALL 0x00011130
ADD ESP,0x10
LEA ESI,[ESI]
NOP
SUB ESP,0xc
PUSH 0xa
CALL 0x00011110
ADD ESP,0x10
ADD ESI,0x1
ADD EDI,0x48
CMP dword ptr [EBP + 0xffffff10],ESI
JNZ 0x00011770
XOR ESI,ESI
JMP 0x00011620
MOVZX ECX,byte ptr [EBP + 0xffffff07]
LEA EAX,[EBP + -0x5c]
MOV EDX,ESI
MOV dword ptr [EBP + 0xffffff14],EAX
CALL 0x000124a0
JMP 0x000117a1
PUSH EDX
PUSH EDX
PUSH dword ptr [EBP + 0xfffffefc]
PUSH 0x1
CALL 0x00011130
ADD ESP,0x10
JMP 0x00011920
CMP byte ptr [EBP + 0xffffff06],0x0
JZ 0x00011920
SUB ESP,0xc
LEA EAX,[EDI + 0x44]
PUSH EAX
LEA EAX,[EDI + 0x34]
PUSH EAX
LEA EAX,[EDI + 0x2c]
PUSH EAX
LEA EAX,[EBX + 0xffffe212]
PUSH EAX
PUSH 0x1
CALL 0x00011130
ADD ESP,0x20
JMP 0x00011920
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffef8]
CALL 0x000110e0
ADD ESP,0x10
JMP 0x00011920
PUSH ECX
PUSH ECX
PUSH dword ptr [EBP + 0xffffff00]
PUSH 0x1
CALL 0x00011130
ADD ESP,0x10
JMP 0x00011920
LEA EAX,[EBX + 0xffffe600]
LEA EDI,[EBX + 0xc4]
PUSH ECX
PUSH ECX
PUSH dword ptr [EBP + 0xffffff08]
PUSH EAX
PUSH 0x100
PUSH 0x1
PUSH 0x100
PUSH EDI
MOV dword ptr [EBP + 0xffffff10],EDX
CALL 0x00011040
ADD ESP,0x14
PUSH EDI
CALL 0x000110b0
ADD dword ptr [EBP + 0xffffff00],0x1
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xffffff10]
JMP 0x000115aa
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe5d0]
PUSH EAX
CALL 0x000110e0
ADD ESP,0x10
JMP 0x000113d0
MOV byte ptr [EBP + 0xfffffeeb],0x1
MOV byte ptr [EBP + 0xffffff04],0x0
JMP 0x0001136f
LEA EAX,[EBX + 0xffffcfb4]
PUSH 0x0
PUSH EAX
LEA EAX,[EBP + 0xffffff1c]
PUSH EAX
PUSH EDI
CALL 0x00011190
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff14],EAX
TEST EAX,EAX
JS 0x00011cbe
MOV EDI,0x0
JZ 0x00011ae1
MOV dword ptr [EBP + 0xffffff10],ESI
MOV ESI,EDI
MOV EDI,dword ptr [EBP + 0xffffff14]
MOV EDX,dword ptr [EBP + 0xffffff1c]
SUB ESP,0xc
PUSH dword ptr [EDX + ESI*0x4]
ADD ESI,0x1
CALL 0x00011070
ADD ESP,0x10
CMP EDI,ESI
JNZ 0x00011ac0
MOV ESI,dword ptr [EBP + 0xffffff10]
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff1c]
CALL 0x00011070
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff14]
MOV dword ptr [EBX + 0x481c4],EAX
JMP 0x000113b3
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe624]
MOV ESI,0xf
PUSH EAX
CALL 0x000110e0
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffffef8],0x0
JZ 0x00011620
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe650]
PUSH EAX
CALL 0x000110e0
ADD ESP,0x10
JMP 0x00011620
PUSH EAX
LEA EAX,[EBX + 0xffffe1fb]
PUSH dword ptr [EDI + 0x1c]
PUSH dword ptr [EDI + 0x18]
PUSH dword ptr [EDI + 0x14]
PUSH dword ptr [EDI + 0x10]
PUSH dword ptr [EDI + 0xc]
PUSH EAX
PUSH 0x1
CALL 0x00011130
ADD ESP,0x20
JMP 0x000117e9
PUSH EAX
MOV ECX,0x1
MOV EDX,0x80
PUSH EAX
LEA EAX,[EBX + 0xffffe199]
PUSH ESI
PUSH 0x5
CALL 0x000121f0
ADD ESP,0x10
JMP 0x000116f2
PUSH EDX
XOR ECX,ECX
LEA EAX,[EBX + 0xffffe177]
PUSH EDX
MOV EDX,0x4766
PUSH ESI
PUSH 0x1
CALL 0x000121f0
ADD ESP,0x10
CMP byte ptr [EBP + 0xffffff04],0x0
JZ 0x000116b1
PUSH EAX
MOV ECX,0x1
MOV EDX,0x80
PUSH EAX
LEA EAX,[EBX + 0xffffe17f]
PUSH ESI
PUSH 0x2
CALL 0x000121f0
ADD ESP,0x10
CMP byte ptr [EBP + 0xffffff04],0x0
JZ 0x000116be
PUSH EAX
MOV ECX,0x1
MOV EDX,0x80
PUSH EAX
LEA EAX,[EBX + 0xffffe187]
PUSH ESI
PUSH 0x4
CALL 0x000121f0
ADD ESP,0x10
CMP byte ptr [EBP + 0xffffff04],0x0
JZ 0x000116cb
PUSH EAX
MOV ECX,0x1
MOV EDX,0x80
PUSH EAX
LEA EAX,[EBX + 0xffffe190]
PUSH ESI
PUSH 0x3
CALL 0x000121f0
ADD ESP,0x10
JMP 0x000116d8
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe670]
PUSH EAX
CALL 0x000110e0
ADD ESP,0x10
JMP 0x00011697
MOV byte ptr [EBP + 0xfffffef1],0x0
MOV byte ptr [EBP + 0xfffffeeb],0x0
MOV byte ptr [EBP + 0xfffffef3],0x0
MOV byte ptr [EBP + 0xfffffef0],0x0
MOV byte ptr [EBP + 0xfffffef2],0x0
MOV byte ptr [EBP + 0xffffff07],0x1
MOV byte ptr [EBP + 0xffffff06],0x0
MOV byte ptr [EBP + 0xffffff05],0x0
MOV byte ptr [EBP + 0xffffff04],0x1
JMP 0x0001137e
CALL 0x00011120
MOV EDI,dword ptr [EAX]
NEG EDI
MOV dword ptr [EBP + 0xffffff14],EDI
JMP 0x00011af2
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffe0dc]
PUSH EDI
PUSH EAX
CALL 0x00011050
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011d47
PUSH ESI
LEA EAX,[EBX + 0xffffe101]
PUSH ESI
MOV ESI,dword ptr [EBP + 0xffffff14]
PUSH ESI
PUSH EAX
CALL 0x00011050
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011d70
LEA EAX,[EBX + 0xffffe104]
PUSH ECX
PUSH 0x2
PUSH ESI
PUSH EAX
CALL 0x00011170
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011d70
MOV EAX,dword ptr [EBP + 0xffffff14]
CMP byte ptr [EAX],0x2d
JZ 0x00011d80
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe11b]
PUSH EAX
MOV ESI,0x1
CALL 0x000110e0
CALL 0x00011fa0
ADD ESP,0x10
JMP 0x00011620
LEA EAX,[EBX + 0xffffe0df]
PUSH EAX
LEA EAX,[EBX + 0xffffe0ed]
PUSH EAX
MOV EAX,dword ptr [EBX + 0x70]
PUSH 0x1
PUSH dword ptr [EAX]
CALL 0x00011150
MOV dword ptr [ESP],0x0
CALL 0x000110f0
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe594]
JMP 0x00011d2f
CALL 0x00012680
PUSH EDX
MOV ESI,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffe107]
PUSH EAX
PUSH 0x1
CALL 0x00011130
CALL 0x00011fa0
ADD ESP,0x10
JMP 0x00011620
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_000111d0(uint param_1,int param_2)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00012680();\n}\n\n" comment (function_definition "undefined4 FUN_000111d0(uint param_1,int param_2)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00012680();\n}" type_identifier (function_declarator "FUN_000111d0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00012680();\n}" { (declaration "dirent64 **ppdVar1;" type_identifier (pointer_declarator "**ppdVar1" * (pointer_declarator "*ppdVar1" * identifier)) ;) (declaration "byte *__s2;" type_identifier (pointer_declarator "*__s2" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "byte *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "undefined *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "char *pcVar32;" primitive_type (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int local_114;" primitive_type identifier ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "char *local_100;" primitive_type (pointer_declarator "*local_100" * identifier) ;) (declaration "undefined4 *local_fc;" type_identifier (pointer_declarator "*local_fc" * identifier) ;) (declaration "int local_f8;" primitive_type identifier ;) (declaration "char *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "dirent64 **local_ec;" type_identifier (pointer_declarator "**local_ec" * (pointer_declarator "*local_ec" * identifier)) ;) (declaration "stat64 local_e8;" type_identifier identifier ;) (declaration "undefined1 local_88 [8];" type_identifier (array_declarator "local_88 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78 [4];" type_identifier (array_declarator "local_78 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "char local_64 [64];" primitive_type (array_declarator "local_64 [64]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (expression_statement "iVar11 = param_2;" (assignment_expression "iVar11 = param_2" identifier = identifier) ;) (expression_statement "uVar2 = param_1;" (assignment_expression "uVar2 = param_1" identifier = identifier) ;) (expression_statement "bVar30 = 0;" (assignment_expression "bVar30 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_24 = *(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 "bVar27 = param_1 == 0;" (assignment_expression "bVar27 = param_1 == 0" identifier = (binary_expression "param_1 == 0" identifier == number_literal)) ;) (expression_statement "bVar29 = param_1 == 1;" (assignment_expression "bVar29 = param_1 == 1" identifier = (binary_expression "param_1 == 1" identifier == number_literal)) ;) (if_statement "if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" if (parenthesized_expression "((int)param_1 < 2)" ( (binary_expression "(int)param_1 < 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }" { (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" else (compound_statement "{\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" { (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (do_statement "do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);" do (compound_statement "{\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "__s2 = *(byte **)(iVar11 + uVar18 * 4);" (assignment_expression "__s2 = *(byte **)(iVar11 + uVar18 * 4)" identifier = (pointer_expression "*(byte **)(iVar11 + uVar18 * 4)" * (cast_expression "(byte **)(iVar11 + uVar18 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + uVar18 * 4)" ( (binary_expression "iVar11 + uVar18 * 4" identifier + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) ;) (expression_statement "pbVar22 = &DAT_0001303b;" (assignment_expression "pbVar22 = &DAT_0001303b" identifier = (pointer_expression "&DAT_0001303b" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);" do (compound_statement "{\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar22 < *pbVar25;" (assignment_expression "bVar27 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar29 = *pbVar22 == *pbVar25;" (assignment_expression "bVar29 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar27 && !bVar29) == bVar27;" (assignment_expression "bVar27 = (!bVar27 && !bVar29) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar29) == bVar27" (parenthesized_expression "(!bVar27 && !bVar29)" ( (binary_expression "!bVar27 && !bVar29" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_0001303e;" (assignment_expression "pbVar22 = &DAT_0001303e" identifier = (pointer_expression "&DAT_0001303e" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);" do (compound_statement "{\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar22 < *pbVar25;" (assignment_expression "bVar28 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar28 && !bVar27) == bVar28;" (assignment_expression "bVar27 = (!bVar28 && !bVar27) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar27) == bVar28" (parenthesized_expression "(!bVar28 && !bVar27)" ( (binary_expression "!bVar28 && !bVar27" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_00013041;" (assignment_expression "pbVar22 = &DAT_00013041" identifier = (pointer_expression "&DAT_00013041" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);" do (compound_statement "{\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar29 = *pbVar22 < *pbVar25;" (assignment_expression "bVar29 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar29 && !bVar27) == bVar29;" (assignment_expression "bVar27 = (!bVar29 && !bVar27) == bVar29" identifier = (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" ( (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n            bVar10 = true;\n          }" { (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) }) (else_clause "else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_00013044;" (assignment_expression "pbVar22 = &DAT_00013044" identifier = (pointer_expression "&DAT_00013044" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);" do (compound_statement "{\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar22 < *pbVar25;" (assignment_expression "bVar28 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar28 && !bVar27) == bVar28;" (assignment_expression "bVar27 = (!bVar28 && !bVar27) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar27) == bVar28" (parenthesized_expression "(!bVar28 && !bVar27)" ( (binary_expression "!bVar28 && !bVar27" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n              bVar4 = true;\n            }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" else (compound_statement "{\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" { (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_00013047;" (assignment_expression "pbVar22 = &DAT_00013047" identifier = (pointer_expression "&DAT_00013047" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);" do (compound_statement "{\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              }" { (expression_statement "pbVar21 = pbVar22;" (assignment_expression "pbVar21 = pbVar22" identifier = identifier) ;) (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar29 = *pbVar22 < *pbVar25;" (assignment_expression "bVar29 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (if_statement "if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" if (parenthesized_expression "((!bVar29 && !bVar27) == bVar29)" ( (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" ( (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier) )) (compound_statement "{\n                bVar5 = true;\n                bVar3 = false;\n              }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" { (expression_statement "iVar17 = strcmp("-st",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-st",(char *)__s2)" identifier = (call_expression "strcmp("-st",(char *)__s2)" identifier (argument_list "("-st",(char *)__s2)" ( (string_literal ""-st"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }" { (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" else (compound_statement "{\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" { (expression_statement "iVar17 = strcmp("-sr",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-sr",(char *)__s2)" identifier = (call_expression "strcmp("-sr",(char *)__s2)" identifier (argument_list "("-sr",(char *)__s2)" ( (string_literal ""-sr"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                    bVar6 = true;\n                    bVar3 = false;\n                  }" { (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" else (compound_statement "{\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" { (expression_statement "iVar17 = strcmp("-scd",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-scd",(char *)__s2)" identifier = (call_expression "strcmp("-scd",(char *)__s2)" identifier (argument_list "("-scd",(char *)__s2)" ( (string_literal ""-scd"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }" { (expression_statement "iVar11 = strcmp("-V",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-V",(char *)__s2)" identifier = (call_expression "strcmp("-V",(char *)__s2)" identifier (argument_list "("-V",(char *)__s2)" ( (string_literal ""-V"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }" { (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" identifier (argument_list "(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" ( (pointer_expression "*(undefined4 *)PTR_stderr_00014fec" * (cast_expression "(undefined4 *)PTR_stderr_00014fec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (string_literal ""Version string: %s\n"" " string_content escape_sequence ") , (string_literal ""1.12 20171010"" " string_content ") ))) ;) comment (expression_statement "exit(0);" (call_expression "exit(0)" identifier (argument_list "(0)" ( number_literal ))) ;) })) (expression_statement "pbVar22 = __s2;" (assignment_expression "pbVar22 = __s2" identifier = identifier) ;) (expression_statement "pbVar25 = pbVar21;" (assignment_expression "pbVar25 = pbVar21" identifier = identifier) ;) (expression_statement "iVar11 = strcmp("-?",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-?",(char *)__s2)" identifier = (call_expression "strcmp("-?",(char *)__s2)" identifier (argument_list "("-?",(char *)__s2)" ( (string_literal ""-?"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }" { (labeled_statement "LAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";" statement_identifier : (expression_statement "pcVar16 = "Show mapping from sg devices to other scsi device names\n";" (assignment_expression "pcVar16 = "Show mapping from sg devices to other scsi device names\n"" identifier = (string_literal ""Show mapping from sg devices to other scsi device names\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" else (compound_statement "{\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" { (expression_statement "pbVar21 = (byte *)0x2;" (assignment_expression "pbVar21 = (byte *)0x2" identifier = (cast_expression "(byte *)0x2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar22 = __s2;" (assignment_expression "pbVar22 = __s2" identifier = identifier) ;) (expression_statement "pbVar25 = extraout_ECX_01;" (assignment_expression "pbVar25 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "iVar11 = strncmp("-h",(char *)__s2,2);" (assignment_expression "iVar11 = strncmp("-h",(char *)__s2,2)" identifier = (call_expression "strncmp("-h",(char *)__s2,2)" identifier (argument_list "("-h",(char *)__s2,2)" ( (string_literal ""-h"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_00011d70;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011d70;" goto statement_identifier ;)) (if_statement "if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }" if (parenthesized_expression "(*__s2 == 0x2d)" ( (binary_expression "*__s2 == 0x2d" (pointer_expression "*__s2" * identifier) == number_literal) )) (compound_statement "{\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);" (call_expression "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01)" identifier (argument_list "(1,"Unknown switch: %s\n",__s2,extraout_EDX_01)" ( number_literal , (string_literal ""Unknown switch: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "FUN_00011fa0();" (call_expression "FUN_00011fa0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (expression_statement "pcVar16 = "Unknown argument";" (assignment_expression "pcVar16 = "Unknown argument"" identifier = (string_literal ""Unknown argument"" " string_content ")) ;) }))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "puts(pcVar16);" (call_expression "puts(pcVar16)" identifier (argument_list "(pcVar16)" ( identifier ))) ;) (expression_statement "FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);" (call_expression "FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25)" identifier (argument_list "(pcVar16,pbVar22,pbVar21,pbVar25)" ( identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }))) }))) }))) }))) }))) })) })) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar27 = uVar2 < uVar18;" (assignment_expression "bVar27 = uVar2 < uVar18" identifier = (binary_expression "uVar2 < uVar18" identifier < identifier)) ;) (expression_statement "bVar29 = uVar2 == uVar18;" (assignment_expression "bVar29 = uVar2 == uVar18" identifier = (binary_expression "uVar2 == uVar18" identifier == identifier)) ;) }) while (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) ;) }))) (expression_statement "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8)" identifier = (call_expression "__xstat64(3,"/sys/class/scsi_generic",&local_e8)" identifier (argument_list "(3,"/sys/class/scsi_generic",&local_e8)" ( number_literal , (string_literal ""/sys/class/scsi_generic"" " string_content ") , (pointer_expression "&local_e8" & identifier) )))) ;) (if_statement "if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }" if (parenthesized_expression "((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000))" ( (binary_expression "(-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)" (parenthesized_expression "(-1 < iVar11)" ( (binary_expression "-1 < iVar11" number_literal < identifier) )) && (parenthesized_expression "((local_e8.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(local_e8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_e8.st_mode & 0xf000)" ( (binary_expression "local_e8.st_mode & 0xf000" (field_expression "local_e8.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }" { (expression_statement "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);" (assignment_expression "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" identifier = (cast_expression "(char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" identifier (argument_list "("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" ( (string_literal ""/sys/class/scsi_generic"" " string_content ") , (pointer_expression "&local_ec" & identifier) , identifier , (cast_expression "(__cmp *)0x0" ( (type_descriptor "__cmp *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" if (parenthesized_expression "((int)local_f4 < 0)" ( (binary_expression "(int)local_f4 < 0" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }" { (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_f4 = (char *)-*piVar15;" (assignment_expression "local_f4 = (char *)-*piVar15" identifier = (cast_expression "(char *)-*piVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (unary_expression "-*piVar15" - (pointer_expression "*piVar15" * identifier)))) ;) }) (else_clause "else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" else (compound_statement "{\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" { (if_statement "if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" if (parenthesized_expression "(local_f4 != (char *)0x0)" ( (binary_expression "local_f4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);" do (compound_statement "{\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        }" { (expression_statement "ppdVar1 = local_ec + iVar11;" (assignment_expression "ppdVar1 = local_ec + iVar11" identifier = (binary_expression "local_ec + iVar11" identifier + identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "free(*ppdVar1);" (call_expression "free(*ppdVar1)" identifier (argument_list "(*ppdVar1)" ( (pointer_expression "*ppdVar1" * identifier) ))) ;) }) while (parenthesized_expression "(local_f4 != (char *)iVar11)" ( (binary_expression "local_f4 != (char *)iVar11" identifier != (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "free(local_ec);" (call_expression "free(local_ec)" identifier (argument_list "(local_ec)" ( identifier ))) ;) }))) (expression_statement "DAT_0005d140 = (int)local_f4;" (assignment_expression "DAT_0005d140 = (int)local_f4" identifier = (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8)" identifier = (call_expression "__xstat64(3,"/dev/.devfsd",&local_e8)" identifier (argument_list "(3,"/dev/.devfsd",&local_e8)" ( number_literal , (string_literal ""/dev/.devfsd"" " string_content ") , (pointer_expression "&local_e8" & identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    puts("# Note: the devfs pseudo file system is present");\n  }" { (expression_statement "puts("# Note: the devfs pseudo file system is present");" (call_expression "puts("# Note: the devfs pseudo file system is present")" identifier (argument_list "("# Note: the devfs pseudo file system is present")" ( (string_literal ""# Note: the devfs pseudo file system is present"" " string_content ") ))) ;) })) (expression_statement "local_fc = &DAT_0001514c;" (assignment_expression "local_fc = &DAT_0001514c" identifier = (pointer_expression "&DAT_0001514c" & identifier)) ;) (expression_statement "iVar11 = -1;" (assignment_expression "iVar11 = -1" identifier = number_literal) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (expression_statement "local_114 = 0;" (assignment_expression "local_114 = 0" identifier = number_literal) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (do_statement "do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );" do (compound_statement "{\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  }" { (expression_statement "iVar17 = local_f8 + 1;" (assignment_expression "iVar17 = local_f8 + 1" identifier = (binary_expression "local_f8 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" if (parenthesized_expression "(DAT_0005d140 == 0)" ( (binary_expression "DAT_0005d140 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011449:\n      local_100 = local_64;" statement_identifier : (expression_statement "local_100 = local_64;" (assignment_expression "local_100 = local_64" identifier = identifier) ;)) (expression_statement "iVar12 = open64(local_100,0x800);" (assignment_expression "iVar12 = open64(local_100,0x800)" identifier = (call_expression "open64(local_100,0x800)" identifier (argument_list "(local_100,0x800)" ( identifier , number_literal )))) ;) (if_statement "if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" { (expression_statement "puVar13 = (uint *)__errno_location();" (assignment_expression "puVar13 = (uint *)__errno_location()" identifier = (cast_expression "(uint *)__errno_location()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (if_statement "if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" if (parenthesized_expression "(uVar2 == 0x10)" ( (binary_expression "uVar2 == 0x10" identifier == number_literal) )) (compound_statement "{\n          local_fc[-3] = 0xfffffffe;\n        }" { (expression_statement "local_fc[-3] = 0xfffffffe;" (assignment_expression "local_fc[-3] = 0xfffffffe" (subscript_expression "local_fc[-3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" else (compound_statement "{\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" { (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" identifier = (binary_expression "local_108 + 1" identifier + number_literal)) ;) (if_statement "if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" if (parenthesized_expression "(((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13))" ( (binary_expression "((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)" (parenthesized_expression "((uVar2 & 0xfffffffb) == 2)" ( (binary_expression "(uVar2 & 0xfffffffb) == 2" (parenthesized_expression "(uVar2 & 0xfffffffb)" ( (binary_expression "uVar2 & 0xfffffffb" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar2 == 0x13)" ( (binary_expression "uVar2 == 0x13" identifier == number_literal) ))) )) (compound_statement "{\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }" { (expression_statement "local_114 = local_114 + 1;" (assignment_expression "local_114 = local_114 + 1" identifier = (binary_expression "local_114 + 1" identifier + number_literal)) ;) (expression_statement "local_fc[-3] = 0xffffffff;" (assignment_expression "local_fc[-3] = 0xffffffff" (subscript_expression "local_fc[-3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" else (compound_statement "{\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" { (if_statement "if (uVar2 == 0xd) {\n              bVar27 = true;\n            }" if (parenthesized_expression "(uVar2 == 0xd)" ( (binary_expression "uVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n              bVar27 = true;\n            }" { (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) })) (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100)" identifier (argument_list "(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100)" ( (pointer_expression "&DAT_00015040" & identifier) , number_literal , number_literal , number_literal , (string_literal ""Error opening %s "" " string_content ") , identifier ))) ;) (expression_statement "perror(&DAT_00015040);" (call_expression "perror(&DAT_00015040)" identifier (argument_list "(&DAT_00015040)" ( (pointer_expression "&DAT_00015040" & identifier) ))) ;) }))) }))) (goto_statement "goto joined_r0x0001166b;" goto statement_identifier ;) })) (expression_statement "iVar14 = ioctl(iVar12,0x2276,local_fc);" (assignment_expression "iVar14 = ioctl(iVar12,0x2276,local_fc)" identifier = (call_expression "ioctl(iVar12,0x2276,local_fc)" identifier (argument_list "(iVar12,0x2276,local_fc)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }" { (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" identifier (argument_list "(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" ( (pointer_expression "&DAT_00015040" & identifier) , number_literal , number_literal , number_literal , (string_literal ""device %s failed on sg ioctl, skip"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror(&DAT_00015040);" (call_expression "perror(&DAT_00015040)" identifier (argument_list "(&DAT_00015040)" ( (pointer_expression "&DAT_00015040" & identifier) ))) ;) (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" identifier = (binary_expression "local_108 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" else (compound_statement "{\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" { (if_statement "if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }" if (parenthesized_expression "((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0))" ( (binary_expression "(bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)" (parenthesized_expression "(bVar4)" ( identifier )) && (parenthesized_expression "(iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)" ( (comma_expression "iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0" (assignment_expression "iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0)" identifier = (call_expression "sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0)" identifier (argument_list "(iVar12,0,0,0,local_88,0x24,1,0)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , number_literal )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }" { (expression_statement "local_fc[8] = local_80;" (assignment_expression "local_fc[8] = local_80" (subscript_expression "local_fc[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_fc[9] = local_7c;" (assignment_expression "local_fc[9] = local_7c" (subscript_expression "local_fc[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar23 = local_78;" (assignment_expression "puVar23 = local_78" identifier = identifier) ;) (expression_statement "puVar26 = local_fc + 10;" (assignment_expression "puVar26 = local_fc + 10" identifier = (binary_expression "local_fc + 10" identifier + number_literal)) ;) (for_statement "for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }" for ( (assignment_expression "iVar11 = 4" identifier = number_literal) ; (binary_expression "iVar11 != 0" identifier != number_literal) ; (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }" { (expression_statement "*puVar26 = *puVar23;" (assignment_expression "*puVar26 = *puVar23" (pointer_expression "*puVar26" * identifier) = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar23 = puVar23 + (uint)bVar30 * -2 + 1;" (assignment_expression "puVar23 = puVar23 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "puVar23 + (uint)bVar30 * -2 + 1" (binary_expression "puVar23 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar30 * -2 + 1" (binary_expression "puVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_fc[0xe] = local_68;" (assignment_expression "local_fc[0xe] = local_68" (subscript_expression "local_fc[0xe]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "local_fc[-3] = 1;" (assignment_expression "local_fc[-3] = 1" (subscript_expression "local_fc[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_fc[-1] = 0xffffffff;" (assignment_expression "local_fc[-1] = 0xffffffff" (subscript_expression "local_fc[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = local_f8;" (assignment_expression "iVar11 = local_f8" identifier = identifier) ;) }))) (expression_statement "iVar12 = close(iVar12);" (assignment_expression "iVar12 = close(iVar12)" identifier = (call_expression "close(iVar12)" identifier (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;" if (parenthesized_expression "((0xfff < iVar17) || (4 < local_108))" ( (binary_expression "(0xfff < iVar17) || (4 < local_108)" (parenthesized_expression "(0xfff < iVar17)" ( (binary_expression "0xfff < iVar17" number_literal < identifier) )) || (parenthesized_expression "(4 < local_108)" ( (binary_expression "4 < local_108" number_literal < identifier) ))) )) (goto_statement "goto LAB_00011671;" goto statement_identifier ;)) (if_statement "if (iVar12 < 0) break;" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" else (compound_statement "{\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" { (if_statement "if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }" if (parenthesized_expression "((&DAT_0005d160)[local_f8] != '\0')" ( (binary_expression "(&DAT_0005d160)[local_f8] != '\0'" (subscript_expression "(&DAT_0005d160)[local_f8]" (parenthesized_expression "(&DAT_0005d160)" ( (pointer_expression "&DAT_0005d160" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000124a0();\n        goto LAB_00011449;\n      }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011449;" goto statement_identifier ;) })) (labeled_statement "joined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" statement_identifier : (if_statement "if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" if (parenthesized_expression "((4 < local_108) || (0xfff < iVar17))" ( (binary_expression "(4 < local_108) || (0xfff < iVar17)" (parenthesized_expression "(4 < local_108)" ( (binary_expression "4 < local_108" number_literal < identifier) )) || (parenthesized_expression "(0xfff < iVar17)" ( (binary_expression "0xfff < iVar17" number_literal < identifier) ))) )) (compound_statement "{\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" { (labeled_statement "LAB_00011671:\n        iVar17 = 4;" statement_identifier : (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" identifier = number_literal) ;)) (if_statement "if (3 < local_114) {\n          iVar17 = local_114;\n        }" if (parenthesized_expression "(3 < local_114)" ( (binary_expression "3 < local_114" number_literal < identifier) )) (compound_statement "{\n          iVar17 = local_114;\n        }" { (expression_statement "iVar17 = local_114;" (assignment_expression "iVar17 = local_114" identifier = identifier) ;) })) (if_statement "if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" if (parenthesized_expression "(iVar17 < local_108)" ( (binary_expression "iVar17 < local_108" identifier < identifier) )) (compound_statement "{\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" { (expression_statement "uVar24 = 0xf;" (assignment_expression "uVar24 = 0xf" identifier = number_literal) ;) (expression_statement "puts("Stopping because there are too many error");" (call_expression "puts("Stopping because there are too many error")" identifier (argument_list "("Stopping because there are too many error")" ( (string_literal ""Stopping because there are too many error"" " string_content ") ))) ;) (if_statement "if (bVar27) {\n            puts("    root access may be required");\n          }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n            puts("    root access may be required");\n          }" { (expression_statement "puts("    root access may be required");" (call_expression "puts("    root access may be required")" identifier (argument_list "("    root access may be required")" ( (string_literal ""    root access may be required"" " string_content ") ))) ;) })) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (if_statement "if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }" if (parenthesized_expression "(iVar11 == -1)" ( (binary_expression "iVar11 == -1" identifier == number_literal) )) (compound_statement "{\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }" { (expression_statement "iVar17 = puts("Stopping because no sg devices found");" (assignment_expression "iVar17 = puts("Stopping because no sg devices found")" identifier = (call_expression "puts("Stopping because no sg devices found")" identifier (argument_list "("Stopping because no sg devices found")" ( (string_literal ""Stopping because no sg devices found"" " string_content ") )))) ;) (expression_statement "local_114 = extraout_EDX_00;" (assignment_expression "local_114 = extraout_EDX_00" identifier = identifier) ;) })) (if_statement "if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }" if (parenthesized_expression "((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8))" ( (binary_expression "(((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)" (parenthesized_expression "(((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3))" ( (binary_expression "((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)" (parenthesized_expression "((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7))" ( (binary_expression "(((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)" (parenthesized_expression "(((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3))" ( (binary_expression "((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)" (parenthesized_expression "((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6))" ( (binary_expression "(((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)" (parenthesized_expression "(((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3))" ( (binary_expression "((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)" (parenthesized_expression "((bVar3) || (bVar5))" ( (binary_expression "(bVar3) || (bVar5)" (parenthesized_expression "(bVar3)" ( identifier )) || (parenthesized_expression "(bVar5)" ( identifier ))) )) && (parenthesized_expression "(iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)" ( (comma_expression "iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3" (assignment_expression "iVar17 = FUN_000121f0(1,iVar11,local_114,local_114)" identifier = (call_expression "FUN_000121f0(1,iVar11,local_114,local_114)" identifier (argument_list "(1,iVar11,local_114,local_114)" ( number_literal , identifier , identifier , identifier )))) , identifier) ))) )) || (parenthesized_expression "(bVar6)" ( identifier ))) )) && (parenthesized_expression "(iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)" ( (comma_expression "iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3" (assignment_expression "iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17)" identifier = (call_expression "FUN_000121f0(2,iVar11,iVar17,iVar17)" identifier (argument_list "(2,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier )))) , identifier) ))) )) || (parenthesized_expression "(bVar7)" ( identifier ))) )) && (parenthesized_expression "(iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)" ( (comma_expression "iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3" (assignment_expression "iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17)" identifier = (call_expression "FUN_000121f0(4,iVar11,iVar17,iVar17)" identifier (argument_list "(4,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier )))) , identifier) ))) )) || (parenthesized_expression "(bVar8)" ( identifier ))) )) (compound_statement "{\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }" { (expression_statement "iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);" (assignment_expression "iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17)" identifier = (call_expression "FUN_000121f0(3,iVar11,iVar17,iVar17)" identifier (argument_list "(3,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier )))) ;) })) (if_statement "if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }" if (parenthesized_expression "((bVar9) || (bVar3))" ( (binary_expression "(bVar9) || (bVar3)" (parenthesized_expression "(bVar9)" ( identifier )) || (parenthesized_expression "(bVar3)" ( identifier ))) )) (compound_statement "{\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }" { (expression_statement "FUN_000121f0(5,iVar11,iVar17,iVar17);" (call_expression "FUN_000121f0(5,iVar11,iVar17,iVar17)" identifier (argument_list "(5,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar11 == -1) goto LAB_0001193f;" if (parenthesized_expression "(iVar11 == -1)" ( (binary_expression "iVar11 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0001193f;" goto statement_identifier ;)) (expression_statement "piVar15 = &DAT_00015140;" (assignment_expression "piVar15 = &DAT_00015140" identifier = (pointer_expression "&DAT_00015140" & identifier)) ;) (expression_statement "pcVar16 = "  some error";" (assignment_expression "pcVar16 = "  some error"" identifier = (string_literal ""  some error"" " string_content ")) ;) (if_statement "if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" { (expression_statement "pcVar16 = "  -3 -3 -3 -3  -3";" (assignment_expression "pcVar16 = "  -3 -3 -3 -3  -3"" identifier = (string_literal ""  -3 -3 -3 -3  -3"" " string_content ")) ;) })) (expression_statement "pcVar19 = "  not present";" (assignment_expression "pcVar19 = "  not present"" identifier = (string_literal ""  not present"" " string_content ")) ;) (if_statement "if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }" { (expression_statement "pcVar19 = "  -1 -1 -1 -1  -1";" (assignment_expression "pcVar19 = "  -1 -1 -1 -1  -1"" identifier = (string_literal ""  -1 -1 -1 -1  -1"" " string_content ")) ;) })) (expression_statement "pcVar20 = "  busy";" (assignment_expression "pcVar20 = "  busy"" identifier = (string_literal ""  busy"" " string_content ")) ;) (if_statement "if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }" { (expression_statement "pcVar20 = "  -2 -2 -2 -2  -2";" (assignment_expression "pcVar20 = "  -2 -2 -2 -2  -2"" identifier = (string_literal ""  -2 -2 -2 -2  -2"" " string_content ")) ;) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00011770;" goto statement_identifier ;) }))) }))) (expression_statement "local_fc = local_fc + 0x12;" (assignment_expression "local_fc = local_fc + 0x12" identifier = (binary_expression "local_fc + 0x12" identifier + number_literal)) ;) (expression_statement "local_f8 = iVar17;" (assignment_expression "local_f8 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "uVar24 = 0xf;" (assignment_expression "uVar24 = 0xf" identifier = number_literal) ;) (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12)" identifier (argument_list "(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12)" ( (pointer_expression "&DAT_00015040" & identifier) , number_literal , number_literal , number_literal , (string_literal ""Error closing %s "" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror("sg_map: close error");" (call_expression "perror("sg_map: close error")" identifier (argument_list "("sg_map: close error")" ( (string_literal ""sg_map: close error"" " string_content ") ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) (labeled_statement "LAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);" statement_identifier : (do_statement "do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);" do (compound_statement "{\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  }" { (if_statement "if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" if (parenthesized_expression "(DAT_0005d140 == 0)" ( (binary_expression "DAT_0005d140 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000117a1:\n      local_f4 = local_64;" statement_identifier : (expression_statement "local_f4 = local_64;" (assignment_expression "local_f4 = local_64" identifier = identifier) ;)) (expression_statement "puVar31 = &DAT_0001318b;" (assignment_expression "puVar31 = &DAT_0001318b" identifier = (pointer_expression "&DAT_0001318b" & identifier)) ;) (expression_statement "pcVar32 = local_f4;" (assignment_expression "pcVar32 = local_f4" identifier = identifier) ;) (expression_statement "__printf_chk(1,&DAT_0001318b,local_f4);" (call_expression "__printf_chk(1,&DAT_0001318b,local_f4)" identifier (argument_list "(1,&DAT_0001318b,local_f4)" ( number_literal , (pointer_expression "&DAT_0001318b" & identifier) , identifier ))) ;) (expression_statement "iVar12 = *piVar15;" (assignment_expression "iVar12 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (if_statement "if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" if (parenthesized_expression "(iVar12 == -1)" ( (binary_expression "iVar12 == -1" identifier == number_literal) )) (compound_statement "{\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }" { (expression_statement "__printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);" (call_expression "__printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "(1,pcVar19,extraout_ECX_00,extraout_ECX_00)" ( number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" else (compound_statement "{\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" { (if_statement "if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }" { (if_statement "if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }" if (parenthesized_expression "(iVar12 == -2)" ( (binary_expression "iVar12 == -2" identifier == number_literal) )) (compound_statement "{\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }" { (expression_statement "__printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);" (call_expression "__printf_chk(1,pcVar20,0xfffffffe,0xfffffffe)" identifier (argument_list "(1,pcVar20,0xfffffffe,0xfffffffe)" ( number_literal , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\nLAB_000119e2:\n            puts("  bad logic");\n          }" else (compound_statement "{\nLAB_000119e2:\n            puts("  bad logic");\n          }" { (labeled_statement "LAB_000119e2:\n            puts("  bad logic");" statement_identifier : (expression_statement "puts("  bad logic");" (call_expression "puts("  bad logic")" identifier (argument_list "("  bad logic")" ( (string_literal ""  bad logic"" " string_content ") ))) ;)) }))) (goto_statement "goto LAB_00011920;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }" { (expression_statement "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);" (call_expression "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX)" identifier (argument_list "(1,pcVar16,extraout_EDX,extraout_EDX)" ( number_literal , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011920;" goto statement_identifier ;) })) (if_statement "if (iVar12 != 1) goto LAB_000119e2;" if (parenthesized_expression "(iVar12 != 1)" ( (binary_expression "iVar12 != 1" identifier != number_literal) )) (goto_statement "goto LAB_000119e2;" goto statement_identifier ;)) (if_statement "if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }" { (expression_statement "pcVar32 = (char *)piVar15[7];" (assignment_expression "pcVar32 = (char *)piVar15[7]" identifier = (cast_expression "(char *)piVar15[7]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar31 = (undefined *)piVar15[6];" (assignment_expression "puVar31 = (undefined *)piVar15[6]" identifier = (cast_expression "(undefined *)piVar15[6]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[6]" identifier [ number_literal ]))) ;) (expression_statement "__printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);" (call_expression "__printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1)" identifier (argument_list "(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1)" ( number_literal , (string_literal ""  %d %d %d %d  %d"" " string_content ") , (subscript_expression "piVar15[3]" identifier [ number_literal ]) , (subscript_expression "piVar15[4]" identifier [ number_literal ]) , (subscript_expression "piVar15[5]" identifier [ number_literal ]) , identifier , identifier , number_literal ))) ;) })) (switch_statement "switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }" switch (parenthesized_expression "(piVar15[1])" ( (subscript_expression "piVar15[1]" identifier [ number_literal ]) )) (compound_statement "{\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }" { (case_statement "case 1:\n          uVar24 = 0;\n          break;" case number_literal : (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n          goto LAB_000119b0;" default : (goto_statement "goto LAB_000119b0;" goto statement_identifier ;)) })) (expression_statement "FUN_00012070(uVar24);" (call_expression "FUN_00012070(uVar24)" identifier (argument_list "(uVar24)" ( identifier ))) ;) (expression_statement "puVar31 = &UNK_00013189;" (assignment_expression "puVar31 = &UNK_00013189" identifier = (pointer_expression "&UNK_00013189" & identifier)) ;) (expression_statement "__printf_chk(1,&UNK_00013189,local_f4);" (call_expression "__printf_chk(1,&UNK_00013189,local_f4)" identifier (argument_list "(1,&UNK_00013189,local_f4)" ( number_literal , (pointer_expression "&UNK_00013189" & identifier) , identifier ))) ;) (expression_statement "pcVar32 = local_f4;" (assignment_expression "pcVar32 = local_f4" identifier = identifier) ;) (labeled_statement "LAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" statement_identifier : (if_statement "if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" { (expression_statement "__printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);" (call_expression "__printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32)" identifier (argument_list "(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32)" ( number_literal , (string_literal ""  %.8s  %.16s  %.4s"" " string_content ") , (binary_expression "piVar15 + 0xb" identifier + number_literal) , (binary_expression "piVar15 + 0xd" identifier + number_literal) , (binary_expression "piVar15 + 0x11" identifier + number_literal) , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_00011920:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }) (else_clause "else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" else (if_statement "if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" if (parenthesized_expression "((&DAT_0005d160)[iVar17] != '\0')" ( (binary_expression "(&DAT_0005d160)[iVar17] != '\0'" (subscript_expression "(&DAT_0005d160)[iVar17]" (parenthesized_expression "(&DAT_0005d160)" ( (pointer_expression "&DAT_0005d160" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000117a1;" goto statement_identifier ;) })))) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar15 + 0x12;" (assignment_expression "piVar15 = piVar15 + 0x12" identifier = (binary_expression "piVar15 + 0x12" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 + 1 != iVar17)" ( (binary_expression "iVar11 + 1 != iVar17" (binary_expression "iVar11 + 1" identifier + number_literal) != identifier) )) ;)) (labeled_statement "LAB_0001193f:\n  uVar24 = 0;" statement_identifier : (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }" statement_identifier : (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\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    return uVar24;\n  }" { (return_statement "return uVar24;" return identifier ;) }))) comment (expression_statement "FUN_00012680();" (call_expression "FUN_00012680()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint main(int argc,char **argv)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  char **ppcVar10;\n  int iVar11;\n  uint *puVar12;\n  int *piVar13;\n  int iVar14;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  uint uVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 extraout_EDX;\n  char *pcVar19;\n  undefined4 extraout_EDX_00;\n  byte *pbVar20;\n  char *pcVar21;\n  char *leadin;\n  undefined4 *puVar22;\n  byte *pbVar23;\n  my_map_info_t *pmVar24;\n  undefined4 *puVar25;\n  int in_GS_OFFSET;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  _Bool do_numeric;\n  undefined *puVar30;\n  undefined1 in_stack_fffffed0;\n  int local_114;\n  int local_108;\n  byte local_101;\n  char *local_100;\n  int local_fc;\n  char *local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  int *local_18;\n  \n  ppcVar10 = argv;\n  iVar11 = argc;\n  bVar29 = 0;\n  local_18 = &argc;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar26 = argc == 0;\n  bVar28 = argc == 1;\n  if (argc < 2) {\n    bVar7 = false;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n  }\n  else {\n    bVar7 = false;\n    uVar15 = 1;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n    do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    has_sysfs_sg = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = 0x1514c;\n  pcVar21 = (char *)0xffffffff;\n  local_f8 = (char *)0x0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar26 = false;\n  do {\n    pcVar16 = local_f8 + 1;\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }\n    else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x48;\n    local_f8 = pcVar16;\n  } while( true );\n  iVar11 = 0xf;\n  __snprintf_chk(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }\n    leadin = leadin + 1;\n    pmVar24 = pmVar24 + 1;\n  } while (pcVar21 + 1 != leadin);\nLAB_0001193f:\n  iVar11 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  char **ppcVar10;\n  int iVar11;\n  uint *puVar12;\n  int *piVar13;\n  int iVar14;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  uint uVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 extraout_EDX;\n  char *pcVar19;\n  undefined4 extraout_EDX_00;\n  byte *pbVar20;\n  char *pcVar21;\n  char *leadin;\n  undefined4 *puVar22;\n  byte *pbVar23;\n  my_map_info_t *pmVar24;\n  undefined4 *puVar25;\n  int in_GS_OFFSET;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  _Bool do_numeric;\n  undefined *puVar30;\n  undefined1 in_stack_fffffed0;\n  int local_114;\n  int local_108;\n  byte local_101;\n  char *local_100;\n  int local_fc;\n  char *local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  int *local_18;\n  \n  ppcVar10 = argv;\n  iVar11 = argc;\n  bVar29 = 0;\n  local_18 = &argc;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar26 = argc == 0;\n  bVar28 = argc == 1;\n  if (argc < 2) {\n    bVar7 = false;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n  }\n  else {\n    bVar7 = false;\n    uVar15 = 1;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n    do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    has_sysfs_sg = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = 0x1514c;\n  pcVar21 = (char *)0xffffffff;\n  local_f8 = (char *)0x0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar26 = false;\n  do {\n    pcVar16 = local_f8 + 1;\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }\n    else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x48;\n    local_f8 = pcVar16;\n  } while( true );\n  iVar11 = 0xf;\n  __snprintf_chk(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }\n    leadin = leadin + 1;\n    pmVar24 = pmVar24 + 1;\n  } while (pcVar21 + 1 != leadin);\nLAB_0001193f:\n  iVar11 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\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  dirent64 **ppdVar1;\n  byte *__s2;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  char **ppcVar10;\n  int iVar11;\n  uint *puVar12;\n  int *piVar13;\n  int iVar14;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  uint uVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 extraout_EDX;\n  char *pcVar19;\n  undefined4 extraout_EDX_00;\n  byte *pbVar20;\n  char *pcVar21;\n  char *leadin;\n  undefined4 *puVar22;\n  byte *pbVar23;\n  my_map_info_t *pmVar24;\n  undefined4 *puVar25;\n  int in_GS_OFFSET;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  _Bool do_numeric;\n  undefined *puVar30;\n  undefined1 in_stack_fffffed0;\n  int local_114;\n  int local_108;\n  byte local_101;\n  char *local_100;\n  int local_fc;\n  char *local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  int *local_18;\n  \n  ppcVar10 = argv;\n  iVar11 = argc;\n  bVar29 = 0;\n  local_18 = &argc;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar26 = argc == 0;\n  bVar28 = argc == 1;\n  if (argc < 2) {\n    bVar7 = false;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n  }\n  else {\n    bVar7 = false;\n    uVar15 = 1;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n    do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    has_sysfs_sg = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = 0x1514c;\n  pcVar21 = (char *)0xffffffff;\n  local_f8 = (char *)0x0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar26 = false;\n  do {\n    pcVar16 = local_f8 + 1;\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }\n    else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x48;\n    local_f8 = pcVar16;\n  } while( true );\n  iVar11 = 0xf;\n  __snprintf_chk(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }\n    leadin = leadin + 1;\n    pmVar24 = pmVar24 + 1;\n  } while (pcVar21 + 1 != leadin);\nLAB_0001193f:\n  iVar11 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "dirent64 **ppdVar1;" type_identifier (pointer_declarator "**ppdVar1" * (pointer_declarator "*ppdVar1" * identifier)) ;) (declaration "byte *__s2;" type_identifier (pointer_declarator "*__s2" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "char **ppcVar10;" primitive_type (pointer_declarator "**ppcVar10" * (pointer_declarator "*ppcVar10" * identifier)) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined4 extraout_EDX_00;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "char *leadin;" primitive_type (pointer_declarator "*leadin" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "my_map_info_t *pmVar24;" type_identifier (pointer_declarator "*pmVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "_Bool do_numeric;" type_identifier identifier ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "undefined1 in_stack_fffffed0;" type_identifier identifier ;) (declaration "int local_114;" primitive_type identifier ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "byte local_101;" type_identifier identifier ;) (declaration "char *local_100;" primitive_type (pointer_declarator "*local_100" * identifier) ;) (declaration "int local_fc;" primitive_type identifier ;) (declaration "char *local_f8;" primitive_type (pointer_declarator "*local_f8" * identifier) ;) (declaration "char *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "dirent64 **local_ec;" type_identifier (pointer_declarator "**local_ec" * (pointer_declarator "*local_ec" * identifier)) ;) (declaration "stat64 local_e8;" type_identifier identifier ;) (declaration "undefined1 local_88 [8];" type_identifier (array_declarator "local_88 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78 [4];" type_identifier (array_declarator "local_78 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "char local_64 [64];" primitive_type (array_declarator "local_64 [64]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int *local_18;" primitive_type (pointer_declarator "*local_18" * identifier) ;) (expression_statement "ppcVar10 = argv;" (assignment_expression "ppcVar10 = argv" identifier = identifier) ;) (expression_statement "iVar11 = argc;" (assignment_expression "iVar11 = argc" identifier = identifier) ;) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &argc;" (assignment_expression "local_18 = &argc" identifier = (pointer_expression "&argc" & 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 "bVar26 = argc == 0;" (assignment_expression "bVar26 = argc == 0" identifier = (binary_expression "argc == 0" identifier == number_literal)) ;) (expression_statement "bVar28 = argc == 1;" (assignment_expression "bVar28 = argc == 1" identifier = (binary_expression "argc == 1" identifier == number_literal)) ;) (if_statement "if (argc < 2) {\n    bVar7 = false;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n  }\n  else {\n    bVar7 = false;\n    uVar15 = 1;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n    do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);\n  }" if (parenthesized_expression "(argc < 2)" ( (binary_expression "argc < 2" identifier < number_literal) )) (compound_statement "{\n    bVar7 = false;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n  }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "local_101 = 1;" (assignment_expression "local_101 = 1" identifier = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) (else_clause "else {\n    bVar7 = false;\n    uVar15 = 1;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n    do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);\n  }" else (compound_statement "{\n    bVar7 = false;\n    uVar15 = 1;\n    bVar5 = false;\n    bVar4 = false;\n    bVar6 = false;\n    bVar8 = false;\n    local_101 = 1;\n    bVar3 = false;\n    bVar9 = false;\n    bVar2 = true;\n    do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);\n  }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "local_101 = 1;" (assignment_expression "local_101 = 1" identifier = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (do_statement "do {\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    } while (!bVar28);" do (compound_statement "{\n      iVar14 = 3;\n      __s2 = (byte *)ppcVar10[uVar15];\n      pbVar20 = &DAT_0001303b;\n      pbVar23 = __s2;\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);\n      bVar27 = false;\n      bVar26 = (!bVar26 && !bVar28) == bVar26;\n      if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar15 = uVar15 + 1;\n      bVar26 = (uint)iVar11 < uVar15;\n      bVar28 = iVar11 == uVar15;\n    }" { (expression_statement "iVar14 = 3;" (assignment_expression "iVar14 = 3" identifier = number_literal) ;) (expression_statement "__s2 = (byte *)ppcVar10[uVar15];" (assignment_expression "__s2 = (byte *)ppcVar10[uVar15]" identifier = (cast_expression "(byte *)ppcVar10[uVar15]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppcVar10[uVar15]" identifier [ identifier ]))) ;) (expression_statement "pbVar20 = &DAT_0001303b;" (assignment_expression "pbVar20 = &DAT_0001303b" identifier = (pointer_expression "&DAT_0001303b" & identifier)) ;) (expression_statement "pbVar23 = __s2;" (assignment_expression "pbVar23 = __s2" identifier = identifier) ;) (do_statement "do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      } while (bVar28);" do (compound_statement "{\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar26 = *pbVar20 < *pbVar23;\n        bVar28 = *pbVar20 == *pbVar23;\n        pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n        pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n      }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar23;" (assignment_expression "bVar26 = *pbVar20 < *pbVar23" identifier = (binary_expression "*pbVar20 < *pbVar23" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar28 = *pbVar20 == *pbVar23;" (assignment_expression "bVar28 = *pbVar20 == *pbVar23" identifier = (binary_expression "*pbVar20 == *pbVar23" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" ( (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n        local_101 = 1;\n      }\n      else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n        local_101 = 1;\n      }" { (expression_statement "local_101 = 1;" (assignment_expression "local_101 = 1" identifier = number_literal) ;) }) (else_clause "else {\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar14 = 3;\n        pbVar20 = &DAT_0001303e;\n        pbVar23 = __s2;\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);\n        bVar28 = false;\n        bVar26 = (!bVar27 && !bVar26) == bVar27;\n        if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar14 = 3;" (assignment_expression "iVar14 = 3" identifier = number_literal) ;) (expression_statement "pbVar20 = &DAT_0001303e;" (assignment_expression "pbVar20 = &DAT_0001303e" identifier = (pointer_expression "&DAT_0001303e" & identifier)) ;) (expression_statement "pbVar23 = __s2;" (assignment_expression "pbVar23 = __s2" identifier = identifier) ;) (do_statement "do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        } while (bVar26);" do (compound_statement "{\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar27 = *pbVar20 < *pbVar23;\n          bVar26 = *pbVar20 == *pbVar23;\n          pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n          pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n        }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar20 < *pbVar23;" (assignment_expression "bVar27 = *pbVar20 < *pbVar23" identifier = (binary_expression "*pbVar20 < *pbVar23" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar26 = *pbVar20 == *pbVar23;" (assignment_expression "bVar26 = *pbVar20 == *pbVar23" identifier = (binary_expression "*pbVar20 == *pbVar23" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n          local_101 = 0;\n        }\n        else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n          local_101 = 0;\n        }" { (expression_statement "local_101 = 0;" (assignment_expression "local_101 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" else (compound_statement "{\n          iVar14 = 3;\n          pbVar20 = &DAT_00013041;\n          pbVar23 = __s2;\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);\n          bVar27 = false;\n          bVar26 = (!bVar28 && !bVar26) == bVar28;\n          if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar14 = 3;" (assignment_expression "iVar14 = 3" identifier = number_literal) ;) (expression_statement "pbVar20 = &DAT_00013041;" (assignment_expression "pbVar20 = &DAT_00013041" identifier = (pointer_expression "&DAT_00013041" & identifier)) ;) (expression_statement "pbVar23 = __s2;" (assignment_expression "pbVar23 = __s2" identifier = identifier) ;) (do_statement "do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          } while (bVar26);" do (compound_statement "{\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar28 = *pbVar20 < *pbVar23;\n            bVar26 = *pbVar20 == *pbVar23;\n            pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n            pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n          }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar20 < *pbVar23;" (assignment_expression "bVar28 = *pbVar20 < *pbVar23" identifier = (binary_expression "*pbVar20 < *pbVar23" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar26 = *pbVar20 == *pbVar23;" (assignment_expression "bVar26 = *pbVar20 == *pbVar23" identifier = (binary_expression "*pbVar20 == *pbVar23" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n            bVar9 = true;\n          }\n          else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n            bVar9 = true;\n          }" { (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) }) (else_clause "else {\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            iVar14 = 3;\n            pbVar20 = &DAT_00013044;\n            pbVar23 = __s2;\n            do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);\n            bVar28 = false;\n            bVar26 = (!bVar27 && !bVar26) == bVar27;\n            if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "iVar14 = 3;" (assignment_expression "iVar14 = 3" identifier = number_literal) ;) (expression_statement "pbVar20 = &DAT_00013044;" (assignment_expression "pbVar20 = &DAT_00013044" identifier = (pointer_expression "&DAT_00013044" & identifier)) ;) (expression_statement "pbVar23 = __s2;" (assignment_expression "pbVar23 = __s2" identifier = identifier) ;) (do_statement "do {\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (iVar14 == 0) break;\n              iVar14 = iVar14 + -1;\n              bVar27 = *pbVar20 < *pbVar23;\n              bVar26 = *pbVar20 == *pbVar23;\n              pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n              pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n            }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar20 < *pbVar23;" (assignment_expression "bVar27 = *pbVar20 < *pbVar23" identifier = (binary_expression "*pbVar20 < *pbVar23" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar26 = *pbVar20 == *pbVar23;" (assignment_expression "bVar26 = *pbVar20 == *pbVar23" identifier = (binary_expression "*pbVar20 == *pbVar23" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n              bVar3 = true;\n            }\n            else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n              bVar3 = true;\n            }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else {\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }" else (compound_statement "{\n              iVar14 = 4;\n              pbVar20 = &DAT_00013047;\n              pbVar23 = __s2;\n              do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);\n              if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }\n            }" { (expression_statement "iVar14 = 4;" (assignment_expression "iVar14 = 4" identifier = number_literal) ;) (expression_statement "pbVar20 = &DAT_00013047;" (assignment_expression "pbVar20 = &DAT_00013047" identifier = (pointer_expression "&DAT_00013047" & identifier)) ;) (expression_statement "pbVar23 = __s2;" (assignment_expression "pbVar23 = __s2" identifier = identifier) ;) (do_statement "do {\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar26);" do (compound_statement "{\n                if (iVar14 == 0) break;\n                iVar14 = iVar14 + -1;\n                bVar28 = *pbVar20 < *pbVar23;\n                bVar26 = *pbVar20 == *pbVar23;\n                pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar20 < *pbVar23;" (assignment_expression "bVar28 = *pbVar20 < *pbVar23" identifier = (binary_expression "*pbVar20 < *pbVar23" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar26 = *pbVar20 == *pbVar23;" (assignment_expression "bVar26 = *pbVar20 == *pbVar23" identifier = (binary_expression "*pbVar20 == *pbVar23" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar26) == bVar28) {\n                bVar4 = true;\n                bVar2 = false;\n              }\n              else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }" if (parenthesized_expression "((!bVar28 && !bVar26) == bVar28)" ( (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier) )) (compound_statement "{\n                bVar4 = true;\n                bVar2 = false;\n              }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }) (else_clause "else {\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar14 = strcmp("-st",(char *)__s2);\n                if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }\n              }" { (expression_statement "iVar14 = strcmp("-st",(char *)__s2);" (assignment_expression "iVar14 = strcmp("-st",(char *)__s2)" identifier = (call_expression "strcmp("-st",(char *)__s2)" identifier (argument_list "("-st",(char *)__s2)" ( (string_literal ""-st"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar14 == 0) {\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }\n                else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar7 = true;\n                  bVar8 = true;\n                  bVar2 = false;\n                }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }) (else_clause "else {\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }" else (compound_statement "{\n                  iVar14 = strcmp("-sr",(char *)__s2);\n                  if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }\n                }" { (expression_statement "iVar14 = strcmp("-sr",(char *)__s2);" (assignment_expression "iVar14 = strcmp("-sr",(char *)__s2)" identifier = (call_expression "strcmp("-sr",(char *)__s2)" identifier (argument_list "("-sr",(char *)__s2)" ( (string_literal ""-sr"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar14 == 0) {\n                    bVar5 = true;\n                    bVar2 = false;\n                  }\n                  else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                    bVar5 = true;\n                    bVar2 = false;\n                  }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }) (else_clause "else {\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }" else (compound_statement "{\n                    iVar14 = strcmp("-scd",(char *)__s2);\n                    if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }\n                    bVar6 = true;\n                    bVar2 = false;\n                  }" { (expression_statement "iVar14 = strcmp("-scd",(char *)__s2);" (assignment_expression "iVar14 = strcmp("-scd",(char *)__s2)" identifier = (call_expression "strcmp("-scd",(char *)__s2)" identifier (argument_list "("-scd",(char *)__s2)" ( (string_literal ""-scd"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar14 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }\n                      iVar11 = 1;\n                      puts(pcVar21);\n                      usage();\n                      goto LAB_00011620;\n                    }" { (expression_statement "iVar11 = strcmp("-V",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-V",(char *)__s2)" identifier = (call_expression "strcmp("-V",(char *)__s2)" identifier (argument_list "("-V",(char *)__s2)" ( (string_literal ""-V"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    /* WARNING: Subroutine does not return */\n                        exit(0);\n                      }" { (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" identifier (argument_list "(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" ( (pointer_expression "*(undefined4 *)PTR_stderr_00014fec" * (cast_expression "(undefined4 *)PTR_stderr_00014fec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (string_literal ""Version string: %s\n"" " string_content escape_sequence ") , (string_literal ""1.12 20171010"" " string_content ") ))) ;) comment (expression_statement "exit(0);" (call_expression "exit(0)" identifier (argument_list "(0)" ( number_literal ))) ;) })) (expression_statement "iVar11 = strcmp("-?",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-?",(char *)__s2)" identifier = (call_expression "strcmp("-?",(char *)__s2)" identifier (argument_list "("-?",(char *)__s2)" ( (string_literal ""-?"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)) {\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }" if (parenthesized_expression "((iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0))" ( (binary_expression "(iVar11 == 0) || (iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)" (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0)" ( (comma_expression "iVar11 = strncmp("-h",(char *)__s2,2), iVar11 == 0" (assignment_expression "iVar11 = strncmp("-h",(char *)__s2,2)" identifier = (call_expression "strncmp("-h",(char *)__s2,2)" identifier (argument_list "("-h",(char *)__s2,2)" ( (string_literal ""-h"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                        pcVar21 = "Show mapping from sg devices to other scsi device names\n";\n                      }" { (expression_statement "pcVar21 = "Show mapping from sg devices to other scsi device names\n";" (assignment_expression "pcVar21 = "Show mapping from sg devices to other scsi device names\n"" identifier = (string_literal ""Show mapping from sg devices to other scsi device names\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }" else (compound_statement "{\n                        if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }\n                        pcVar21 = "Unknown argument";\n                      }" { (if_statement "if (*__s2 == 0x2d) {\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }" if (parenthesized_expression "(*__s2 == 0x2d)" ( (binary_expression "*__s2 == 0x2d" (pointer_expression "*__s2" * identifier) == number_literal) )) (compound_statement "{\n                          iVar11 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);\n                          usage();\n                          goto LAB_00011620;\n                        }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);" (call_expression "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_00)" identifier (argument_list "(1,"Unknown switch: %s\n",__s2,extraout_EDX_00)" ( number_literal , (string_literal ""Unknown switch: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (expression_statement "pcVar21 = "Unknown argument";" (assignment_expression "pcVar21 = "Unknown argument"" identifier = (string_literal ""Unknown argument"" " string_content ")) ;) }))) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "puts(pcVar21);" (call_expression "puts(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }))) }))) }))) }))) }))) }))) }))) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "bVar26 = (uint)iVar11 < uVar15;" (assignment_expression "bVar26 = (uint)iVar11 < uVar15" identifier = (binary_expression "(uint)iVar11 < uVar15" (cast_expression "(uint)iVar11" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier)) ;) (expression_statement "bVar28 = iVar11 == uVar15;" (assignment_expression "bVar28 = iVar11 == uVar15" identifier = (binary_expression "iVar11 == uVar15" identifier == identifier)) ;) }) while (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) )) ;) }))) (expression_statement "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8)" identifier = (call_expression "__xstat64(3,"/sys/class/scsi_generic",&local_e8)" identifier (argument_list "(3,"/sys/class/scsi_generic",&local_e8)" ( number_literal , (string_literal ""/sys/class/scsi_generic"" " string_content ") , (pointer_expression "&local_e8" & identifier) )))) ;) (if_statement "if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    has_sysfs_sg = (int)local_f4;\n  }" if (parenthesized_expression "((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000))" ( (binary_expression "(-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)" (parenthesized_expression "(-1 < iVar11)" ( (binary_expression "-1 < iVar11" number_literal < identifier) )) && (parenthesized_expression "((local_e8.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(local_e8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_e8.st_mode & 0xf000)" ( (binary_expression "local_e8.st_mode & 0xf000" (field_expression "local_e8.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    has_sysfs_sg = (int)local_f4;\n  }" { (expression_statement "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0);" (assignment_expression "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0)" identifier = (cast_expression "(char *)scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "scandir64("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0)" identifier (argument_list "("/sys/class/scsi_generic",&local_ec,scandir_select,(__cmp *)0x0)" ( (string_literal ""/sys/class/scsi_generic"" " string_content ") , (pointer_expression "&local_ec" & identifier) , identifier , (cast_expression "(__cmp *)0x0" ( (type_descriptor "__cmp *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if ((int)local_f4 < 0) {\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" if (parenthesized_expression "((int)local_f4 < 0)" ( (binary_expression "(int)local_f4 < 0" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      piVar13 = __errno_location();\n      local_f4 = (char *)-*piVar13;\n    }" { (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_f4 = (char *)-*piVar13;" (assignment_expression "local_f4 = (char *)-*piVar13" identifier = (cast_expression "(char *)-*piVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (unary_expression "-*piVar13" - (pointer_expression "*piVar13" * identifier)))) ;) }) (else_clause "else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" else (compound_statement "{\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" { (if_statement "if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" if (parenthesized_expression "(local_f4 != (char *)0x0)" ( (binary_expression "local_f4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);" do (compound_statement "{\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        }" { (expression_statement "ppdVar1 = local_ec + iVar11;" (assignment_expression "ppdVar1 = local_ec + iVar11" identifier = (binary_expression "local_ec + iVar11" identifier + identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "free(*ppdVar1);" (call_expression "free(*ppdVar1)" identifier (argument_list "(*ppdVar1)" ( (pointer_expression "*ppdVar1" * identifier) ))) ;) }) while (parenthesized_expression "(local_f4 != (char *)iVar11)" ( (binary_expression "local_f4 != (char *)iVar11" identifier != (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "free(local_ec);" (call_expression "free(local_ec)" identifier (argument_list "(local_ec)" ( identifier ))) ;) }))) (expression_statement "has_sysfs_sg = (int)local_f4;" (assignment_expression "has_sysfs_sg = (int)local_f4" identifier = (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8)" identifier = (call_expression "__xstat64(3,"/dev/.devfsd",&local_e8)" identifier (argument_list "(3,"/dev/.devfsd",&local_e8)" ( number_literal , (string_literal ""/dev/.devfsd"" " string_content ") , (pointer_expression "&local_e8" & identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    puts("# Note: the devfs pseudo file system is present");\n  }" { (expression_statement "puts("# Note: the devfs pseudo file system is present");" (call_expression "puts("# Note: the devfs pseudo file system is present")" identifier (argument_list "("# Note: the devfs pseudo file system is present")" ( (string_literal ""# Note: the devfs pseudo file system is present"" " string_content ") ))) ;) })) (expression_statement "local_fc = 0x1514c;" (assignment_expression "local_fc = 0x1514c" identifier = number_literal) ;) (expression_statement "pcVar21 = (char *)0xffffffff;" (assignment_expression "pcVar21 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f8 = (char *)0x0;" (assignment_expression "local_f8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_114 = 0;" (assignment_expression "local_114 = 0" identifier = number_literal) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (do_statement "do {\n    pcVar16 = local_f8 + 1;\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }\n    else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x48;\n    local_f8 = pcVar16;\n  } while( true );" do (compound_statement "{\n    pcVar16 = local_f8 + 1;\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }\n    else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x48;\n    local_f8 = pcVar16;\n  }" { (expression_statement "pcVar16 = local_f8 + 1;" (assignment_expression "pcVar16 = local_f8 + 1" identifier = (binary_expression "local_f8 + 1" identifier + number_literal)) ;) (if_statement "if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }\n    else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }" if (parenthesized_expression "(has_sysfs_sg == 0)" ( (binary_expression "has_sysfs_sg == 0" identifier == number_literal) )) (compound_statement "{\n      make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_00011449:\n      local_100 = local_64;\n      iVar11 = open64(local_100,0x800);\n      if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar11,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }\n      iVar14 = close(iVar11);\n      if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;\n      if (iVar14 < 0) break;\n    }" { (expression_statement "make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0);" (call_expression "make_dev_name(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0)" identifier (argument_list "(local_64,local_f8,(uint)local_101,(_Bool)in_stack_fffffed0)" ( identifier , identifier , (cast_expression "(uint)local_101" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(_Bool)in_stack_fffffed0" ( (type_descriptor "_Bool" type_identifier) ) identifier) ))) ;) (labeled_statement "LAB_00011449:\n      local_100 = local_64;" statement_identifier : (expression_statement "local_100 = local_64;" (assignment_expression "local_100 = local_64" identifier = identifier) ;)) (expression_statement "iVar11 = open64(local_100,0x800);" (assignment_expression "iVar11 = open64(local_100,0x800)" identifier = (call_expression "open64(local_100,0x800)" identifier (argument_list "(local_100,0x800)" ( identifier , number_literal )))) ;) (if_statement "if (iVar11 < 0) {\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar12 = (uint *)__errno_location();\n        uVar15 = *puVar12;\n        if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" { (expression_statement "puVar12 = (uint *)__errno_location();" (assignment_expression "puVar12 = (uint *)__errno_location()" identifier = (cast_expression "(uint *)__errno_location()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar15 = *puVar12;" (assignment_expression "uVar15 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (if_statement "if (uVar15 == 0x10) {\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }" if (parenthesized_expression "(uVar15 == 0x10)" ( (binary_expression "uVar15 == 0x10" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(local_fc + -0xc) = 0xfffffffe;\n        }" { (expression_statement "*(undefined4 *)(local_fc + -0xc) = 0xfffffffe;" (assignment_expression "*(undefined4 *)(local_fc + -0xc) = 0xfffffffe" (pointer_expression "*(undefined4 *)(local_fc + -0xc)" * (cast_expression "(undefined4 *)(local_fc + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + -0xc)" ( (binary_expression "local_fc + -0xc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }" else (compound_statement "{\n          local_108 = local_108 + 1;\n          if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }\n        }" { (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" identifier = (binary_expression "local_108 + 1" identifier + number_literal)) ;) (if_statement "if (((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)) {\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }\n          else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }" if (parenthesized_expression "(((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13))" ( (binary_expression "((uVar15 & 0xfffffffb) == 2) || (uVar15 == 0x13)" (parenthesized_expression "((uVar15 & 0xfffffffb) == 2)" ( (binary_expression "(uVar15 & 0xfffffffb) == 2" (parenthesized_expression "(uVar15 & 0xfffffffb)" ( (binary_expression "uVar15 & 0xfffffffb" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar15 == 0x13)" ( (binary_expression "uVar15 == 0x13" identifier == number_literal) ))) )) (compound_statement "{\n            local_114 = local_114 + 1;\n            *(undefined4 *)(local_fc + -0xc) = 0xffffffff;\n          }" { (expression_statement "local_114 = local_114 + 1;" (assignment_expression "local_114 = local_114 + 1" identifier = (binary_expression "local_114 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(local_fc + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)(local_fc + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)(local_fc + -0xc)" * (cast_expression "(undefined4 *)(local_fc + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + -0xc)" ( (binary_expression "local_fc + -0xc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }" else (compound_statement "{\n            if (uVar15 == 0xd) {\n              bVar26 = true;\n            }\n            __snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(ebuff);\n          }" { (if_statement "if (uVar15 == 0xd) {\n              bVar26 = true;\n            }" if (parenthesized_expression "(uVar15 == 0xd)" ( (binary_expression "uVar15 == 0xd" identifier == number_literal) )) (compound_statement "{\n              bVar26 = true;\n            }" { (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) })) (expression_statement "__snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100);" (call_expression "__snprintf_chk(ebuff,0x100,1,0x100,"Error opening %s ",local_100)" identifier (argument_list "(ebuff,0x100,1,0x100,"Error opening %s ",local_100)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""Error opening %s "" " string_content ") , identifier ))) ;) (expression_statement "perror(ebuff);" (call_expression "perror(ebuff)" identifier (argument_list "(ebuff)" ( identifier ))) ;) }))) }))) (goto_statement "goto joined_r0x0001166b;" goto statement_identifier ;) })) (expression_statement "iVar14 = ioctl(iVar11,0x2276,local_fc);" (assignment_expression "iVar14 = ioctl(iVar11,0x2276,local_fc)" identifier = (call_expression "ioctl(iVar11,0x2276,local_fc)" identifier (argument_list "(iVar11,0x2276,local_fc)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar14 < 0) {\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n        __snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(ebuff);\n        local_108 = local_108 + 1;\n      }" { (expression_statement "__snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);" (call_expression "__snprintf_chk(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" identifier (argument_list "(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""device %s failed on sg ioctl, skip"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror(ebuff);" (call_expression "perror(ebuff)" identifier (argument_list "(ebuff)" ( identifier ))) ;) (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" identifier = (binary_expression "local_108 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }" else (compound_statement "{\n        if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }\n        *(undefined4 *)(local_fc + -0xc) = 1;\n        *(undefined4 *)(local_fc + -4) = 0xffffffff;\n        pcVar21 = local_f8;\n      }" { (if_statement "if ((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)) {\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }" if (parenthesized_expression "((bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0))" ( (binary_expression "(bVar3) && (iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)" (parenthesized_expression "(bVar3)" ( identifier )) && (parenthesized_expression "(iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0)" ( (comma_expression "iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0), iVar14 == 0" (assignment_expression "iVar14 = sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0)" identifier = (call_expression "sg_ll_inquiry(iVar11,0,0,0,local_88,0x24,1,0)" identifier (argument_list "(iVar11,0,0,0,local_88,0x24,1,0)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , number_literal )))) , (binary_expression "iVar14 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          *(undefined4 *)(local_fc + 0x20) = local_80;\n          *(undefined4 *)(local_fc + 0x24) = local_7c;\n          puVar22 = local_78;\n          puVar25 = (undefined4 *)(local_fc + 0x28);\n          for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }\n          *(undefined4 *)(local_fc + 0x38) = local_68;\n        }" { (expression_statement "*(undefined4 *)(local_fc + 0x20) = local_80;" (assignment_expression "*(undefined4 *)(local_fc + 0x20) = local_80" (pointer_expression "*(undefined4 *)(local_fc + 0x20)" * (cast_expression "(undefined4 *)(local_fc + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + 0x20)" ( (binary_expression "local_fc + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(local_fc + 0x24) = local_7c;" (assignment_expression "*(undefined4 *)(local_fc + 0x24) = local_7c" (pointer_expression "*(undefined4 *)(local_fc + 0x24)" * (cast_expression "(undefined4 *)(local_fc + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + 0x24)" ( (binary_expression "local_fc + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar22 = local_78;" (assignment_expression "puVar22 = local_78" identifier = identifier) ;) (expression_statement "puVar25 = (undefined4 *)(local_fc + 0x28);" (assignment_expression "puVar25 = (undefined4 *)(local_fc + 0x28)" identifier = (cast_expression "(undefined4 *)(local_fc + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + 0x28)" ( (binary_expression "local_fc + 0x28" identifier + number_literal) )))) ;) (for_statement "for (iVar14 = 4; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }" for ( (assignment_expression "iVar14 = 4" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar25 = *puVar22;\n            puVar22 = puVar22 + (uint)bVar29 * -2 + 1;\n            puVar25 = puVar25 + (uint)bVar29 * -2 + 1;\n          }" { (expression_statement "*puVar25 = *puVar22;" (assignment_expression "*puVar25 = *puVar22" (pointer_expression "*puVar25" * identifier) = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "puVar22 = puVar22 + (uint)bVar29 * -2 + 1;" (assignment_expression "puVar22 = puVar22 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "puVar22 + (uint)bVar29 * -2 + 1" (binary_expression "puVar22 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar25 = puVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "puVar25 = puVar25 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "puVar25 + (uint)bVar29 * -2 + 1" (binary_expression "puVar25 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "*(undefined4 *)(local_fc + 0x38) = local_68;" (assignment_expression "*(undefined4 *)(local_fc + 0x38) = local_68" (pointer_expression "*(undefined4 *)(local_fc + 0x38)" * (cast_expression "(undefined4 *)(local_fc + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + 0x38)" ( (binary_expression "local_fc + 0x38" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined4 *)(local_fc + -0xc) = 1;" (assignment_expression "*(undefined4 *)(local_fc + -0xc) = 1" (pointer_expression "*(undefined4 *)(local_fc + -0xc)" * (cast_expression "(undefined4 *)(local_fc + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + -0xc)" ( (binary_expression "local_fc + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_fc + -4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(local_fc + -4) = 0xffffffff" (pointer_expression "*(undefined4 *)(local_fc + -4)" * (cast_expression "(undefined4 *)(local_fc + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc + -4)" ( (binary_expression "local_fc + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar21 = local_f8;" (assignment_expression "pcVar21 = local_f8" identifier = identifier) ;) }))) (expression_statement "iVar14 = close(iVar11);" (assignment_expression "iVar14 = close(iVar11)" identifier = (call_expression "close(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) ;) (if_statement "if ((0xfff < (int)pcVar16) || (4 < local_108)) goto LAB_00011671;" if (parenthesized_expression "((0xfff < (int)pcVar16) || (4 < local_108))" ( (binary_expression "(0xfff < (int)pcVar16) || (4 < local_108)" (parenthesized_expression "(0xfff < (int)pcVar16)" ( (binary_expression "0xfff < (int)pcVar16" number_literal < (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(4 < local_108)" ( (binary_expression "4 < local_108" number_literal < identifier) ))) )) (goto_statement "goto LAB_00011671;" goto statement_identifier ;)) (if_statement "if (iVar14 < 0) break;" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }" else (compound_statement "{\n      if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }\n    }" { (if_statement "if (local_f8[0x5d160] != '\0') {\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }" if (parenthesized_expression "(local_f8[0x5d160] != '\0')" ( (binary_expression "local_f8[0x5d160] != '\0'" (subscript_expression "local_f8[0x5d160]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);\n        goto LAB_00011449;\n      }" { (expression_statement "make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0);" (call_expression "make_dev_name(local_64,local_f8,1,(_Bool)in_stack_fffffed0)" identifier (argument_list "(local_64,local_f8,1,(_Bool)in_stack_fffffed0)" ( identifier , identifier , number_literal , (cast_expression "(_Bool)in_stack_fffffed0" ( (type_descriptor "_Bool" type_identifier) ) identifier) ))) ;) (goto_statement "goto LAB_00011449;" goto statement_identifier ;) })) (labeled_statement "joined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }" statement_identifier : (if_statement "if ((4 < local_108) || (0xfff < (int)pcVar16)) {\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }" if (parenthesized_expression "((4 < local_108) || (0xfff < (int)pcVar16))" ( (binary_expression "(4 < local_108) || (0xfff < (int)pcVar16)" (parenthesized_expression "(4 < local_108)" ( (binary_expression "4 < local_108" number_literal < identifier) )) || (parenthesized_expression "(0xfff < (int)pcVar16)" ( (binary_expression "0xfff < (int)pcVar16" number_literal < (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\nLAB_00011671:\n        iVar11 = 4;\n        if (3 < local_114) {\n          iVar11 = local_114;\n        }\n        if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }\n        if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }\n        if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }\n        if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;\n        pmVar24 = map_arr;\n        pcVar16 = "  some error";\n        if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar17 = "  not present";\n        if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar18 = "  busy";\n        if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }\n        leadin = (char *)0x0;\n        goto LAB_00011770;\n      }" { (labeled_statement "LAB_00011671:\n        iVar11 = 4;" statement_identifier : (expression_statement "iVar11 = 4;" (assignment_expression "iVar11 = 4" identifier = number_literal) ;)) (if_statement "if (3 < local_114) {\n          iVar11 = local_114;\n        }" if (parenthesized_expression "(3 < local_114)" ( (binary_expression "3 < local_114" number_literal < identifier) )) (compound_statement "{\n          iVar11 = local_114;\n        }" { (expression_statement "iVar11 = local_114;" (assignment_expression "iVar11 = local_114" identifier = identifier) ;) })) (if_statement "if (iVar11 < local_108) {\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" if (parenthesized_expression "(iVar11 < local_108)" ( (binary_expression "iVar11 < local_108" identifier < identifier) )) (compound_statement "{\n          iVar11 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar26) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" { (expression_statement "iVar11 = 0xf;" (assignment_expression "iVar11 = 0xf" identifier = number_literal) ;) (expression_statement "puts("Stopping because there are too many error");" (call_expression "puts("Stopping because there are too many error")" identifier (argument_list "("Stopping because there are too many error")" ( (string_literal ""Stopping because there are too many error"" " string_content ") ))) ;) (if_statement "if (bVar26) {\n            puts("    root access may be required");\n          }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n            puts("    root access may be required");\n          }" { (expression_statement "puts("    root access may be required");" (call_expression "puts("    root access may be required")" identifier (argument_list "("    root access may be required")" ( (string_literal ""    root access may be required"" " string_content ") ))) ;) })) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (if_statement "if (pcVar21 == (char *)0xffffffff) {\n          puts("Stopping because no sg devices found");\n        }" if (parenthesized_expression "(pcVar21 == (char *)0xffffffff)" ( (binary_expression "pcVar21 == (char *)0xffffffff" identifier == (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puts("Stopping because no sg devices found");\n        }" { (expression_statement "puts("Stopping because no sg devices found");" (call_expression "puts("Stopping because no sg devices found")" identifier (argument_list "("Stopping because no sg devices found")" ( (string_literal ""Stopping because no sg devices found"" " string_content ") ))) ;) })) (if_statement "if ((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)) {\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }" if (parenthesized_expression "((((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7))" ( (binary_expression "(((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)) || (bVar7)" (parenthesized_expression "(((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2))" ( (binary_expression "((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)) &&\n            (scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)" (parenthesized_expression "((((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6))" ( (binary_expression "(((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)) || (bVar6)" (parenthesized_expression "(((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2))" ( (binary_expression "((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)) &&\n              (scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)" (parenthesized_expression "((((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5))" ( (binary_expression "(((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)) || (bVar5)" (parenthesized_expression "(((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2))" ( (binary_expression "((bVar2) || (bVar4)) &&\n                (scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)" (parenthesized_expression "((bVar2) || (bVar4))" ( (binary_expression "(bVar2) || (bVar4)" (parenthesized_expression "(bVar2)" ( identifier )) || (parenthesized_expression "(bVar4)" ( identifier ))) )) && (parenthesized_expression "(scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2)" ( (comma_expression "scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21), bVar2" (call_expression "scan_dev_type("/dev/sd",0x4766,false,1,(int)pcVar21)" identifier (argument_list "("/dev/sd",0x4766,false,1,(int)pcVar21)" ( (string_literal ""/dev/sd"" " string_content ") , number_literal , false , number_literal , (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier) ))) , identifier) ))) )) || (parenthesized_expression "(bVar5)" ( identifier ))) )) && (parenthesized_expression "(scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2)" ( (comma_expression "scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21), bVar2" (call_expression "scan_dev_type("/dev/sr",0x80,true,2,(int)pcVar21)" identifier (argument_list "("/dev/sr",0x80,true,2,(int)pcVar21)" ( (string_literal ""/dev/sr"" " string_content ") , number_literal , true , number_literal , (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier) ))) , identifier) ))) )) || (parenthesized_expression "(bVar6)" ( identifier ))) )) && (parenthesized_expression "(scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2)" ( (comma_expression "scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21), bVar2" (call_expression "scan_dev_type("/dev/scd",0x80,true,4,(int)pcVar21)" identifier (argument_list "("/dev/scd",0x80,true,4,(int)pcVar21)" ( (string_literal ""/dev/scd"" " string_content ") , number_literal , true , number_literal , (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier) ))) , identifier) ))) )) || (parenthesized_expression "(bVar7)" ( identifier ))) )) (compound_statement "{\n          scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);\n        }" { (expression_statement "scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21);" (call_expression "scan_dev_type("/dev/nst",0x80,true,3,(int)pcVar21)" identifier (argument_list "("/dev/nst",0x80,true,3,(int)pcVar21)" ( (string_literal ""/dev/nst"" " string_content ") , number_literal , true , number_literal , (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (if_statement "if ((bVar8) || (bVar2)) {\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }" if (parenthesized_expression "((bVar8) || (bVar2))" ( (binary_expression "(bVar8) || (bVar2)" (parenthesized_expression "(bVar8)" ( identifier )) || (parenthesized_expression "(bVar2)" ( identifier ))) )) (compound_statement "{\n          scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);\n        }" { (expression_statement "scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21);" (call_expression "scan_dev_type("/dev/osst",0x80,true,5,(int)pcVar21)" identifier (argument_list "("/dev/osst",0x80,true,5,(int)pcVar21)" ( (string_literal ""/dev/osst"" " string_content ") , number_literal , true , number_literal , (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (if_statement "if (pcVar21 == (char *)0xffffffff) goto LAB_0001193f;" if (parenthesized_expression "(pcVar21 == (char *)0xffffffff)" ( (binary_expression "pcVar21 == (char *)0xffffffff" identifier == (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001193f;" goto statement_identifier ;)) (expression_statement "pmVar24 = map_arr;" (assignment_expression "pmVar24 = map_arr" identifier = identifier) ;) (expression_statement "pcVar16 = "  some error";" (assignment_expression "pcVar16 = "  some error"" identifier = (string_literal ""  some error"" " string_content ")) ;) (if_statement "if (bVar9) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" { (expression_statement "pcVar16 = "  -3 -3 -3 -3  -3";" (assignment_expression "pcVar16 = "  -3 -3 -3 -3  -3"" identifier = (string_literal ""  -3 -3 -3 -3  -3"" " string_content ")) ;) })) (expression_statement "pcVar17 = "  not present";" (assignment_expression "pcVar17 = "  not present"" identifier = (string_literal ""  not present"" " string_content ")) ;) (if_statement "if (bVar9) {\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          pcVar17 = "  -1 -1 -1 -1  -1";\n        }" { (expression_statement "pcVar17 = "  -1 -1 -1 -1  -1";" (assignment_expression "pcVar17 = "  -1 -1 -1 -1  -1"" identifier = (string_literal ""  -1 -1 -1 -1  -1"" " string_content ")) ;) })) (expression_statement "pcVar18 = "  busy";" (assignment_expression "pcVar18 = "  busy"" identifier = (string_literal ""  busy"" " string_content ")) ;) (if_statement "if (bVar9) {\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          pcVar18 = "  -2 -2 -2 -2  -2";\n        }" { (expression_statement "pcVar18 = "  -2 -2 -2 -2  -2";" (assignment_expression "pcVar18 = "  -2 -2 -2 -2  -2"" identifier = (string_literal ""  -2 -2 -2 -2  -2"" " string_content ")) ;) })) (expression_statement "leadin = (char *)0x0;" (assignment_expression "leadin = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011770;" goto statement_identifier ;) }))) }))) (expression_statement "local_fc = local_fc + 0x48;" (assignment_expression "local_fc = local_fc + 0x48" identifier = (binary_expression "local_fc + 0x48" identifier + number_literal)) ;) (expression_statement "local_f8 = pcVar16;" (assignment_expression "local_f8 = pcVar16" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "iVar11 = 0xf;" (assignment_expression "iVar11 = 0xf" identifier = number_literal) ;) (expression_statement "__snprintf_chk(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14);" (call_expression "__snprintf_chk(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14)" identifier (argument_list "(ebuff,0x100,1,0x100,"Error closing %s ",local_100,iVar14,iVar14)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""Error closing %s "" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror("sg_map: close error");" (call_expression "perror("sg_map: close error")" identifier (argument_list "("sg_map: close error")" ( (string_literal ""sg_map: close error"" " string_content ") ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) (labeled_statement "LAB_00011770:\n  do {\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }\n    leadin = leadin + 1;\n    pmVar24 = pmVar24 + 1;\n  } while (pcVar21 + 1 != leadin);" statement_identifier : (do_statement "do {\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }\n    leadin = leadin + 1;\n    pmVar24 = pmVar24 + 1;\n  } while (pcVar21 + 1 != leadin);" do (compound_statement "{\n    if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }\n    leadin = leadin + 1;\n    pmVar24 = pmVar24 + 1;\n  }" { (if_statement "if (has_sysfs_sg == 0) {\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }\n    else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }" if (parenthesized_expression "(has_sysfs_sg == 0)" ( (binary_expression "has_sysfs_sg == 0" identifier == number_literal) )) (compound_statement "{\n      make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar30 = &DAT_0001318b;\n      pcVar19 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar11 = pmVar24->active;\n      if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }\n      putchar(10);\n    }" { (expression_statement "make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0);" (call_expression "make_dev_name(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0)" identifier (argument_list "(local_64,leadin,(uint)local_101,(_Bool)in_stack_fffffed0)" ( identifier , identifier , (cast_expression "(uint)local_101" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(_Bool)in_stack_fffffed0" ( (type_descriptor "_Bool" type_identifier) ) identifier) ))) ;) (labeled_statement "LAB_000117a1:\n      local_f4 = local_64;" statement_identifier : (expression_statement "local_f4 = local_64;" (assignment_expression "local_f4 = local_64" identifier = identifier) ;)) (expression_statement "puVar30 = &DAT_0001318b;" (assignment_expression "puVar30 = &DAT_0001318b" identifier = (pointer_expression "&DAT_0001318b" & identifier)) ;) (expression_statement "pcVar19 = local_f4;" (assignment_expression "pcVar19 = local_f4" identifier = identifier) ;) (expression_statement "__printf_chk(1,&DAT_0001318b,local_f4);" (call_expression "__printf_chk(1,&DAT_0001318b,local_f4)" identifier (argument_list "(1,&DAT_0001318b,local_f4)" ( number_literal , (pointer_expression "&DAT_0001318b" & identifier) , identifier ))) ;) (expression_statement "iVar11 = pmVar24->active;" (assignment_expression "iVar11 = pmVar24->active" identifier = (field_expression "pmVar24->active" identifier -> field_identifier)) ;) (if_statement "if (iVar11 == -1) {\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }\n      else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" if (parenthesized_expression "(iVar11 == -1)" ( (binary_expression "iVar11 == -1" identifier == number_literal) )) (compound_statement "{\n        __printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);\n      }" { (expression_statement "__printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00);" (call_expression "__printf_chk(1,pcVar17,extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "(1,pcVar17,extraout_ECX_00,extraout_ECX_00)" ( number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" else (if_statement "if (iVar11 < 0) {\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }\n      else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n        if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }\n      }" { (if_statement "if (iVar11 == -2) {\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }\n        else {\nLAB_000119e2:\n          puts("  bad logic");\n        }" if (parenthesized_expression "(iVar11 == -2)" ( (binary_expression "iVar11 == -2" identifier == number_literal) )) (compound_statement "{\n          __printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);\n        }" { (expression_statement "__printf_chk(1,pcVar18,0xfffffffe,0xfffffffe);" (call_expression "__printf_chk(1,pcVar18,0xfffffffe,0xfffffffe)" identifier (argument_list "(1,pcVar18,0xfffffffe,0xfffffffe)" ( number_literal , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\nLAB_000119e2:\n          puts("  bad logic");\n        }" else (compound_statement "{\nLAB_000119e2:\n          puts("  bad logic");\n        }" { (labeled_statement "LAB_000119e2:\n          puts("  bad logic");" statement_identifier : (expression_statement "puts("  bad logic");" (call_expression "puts("  bad logic")" identifier (argument_list "("  bad logic")" ( (string_literal ""  bad logic"" " string_content ") ))) ;)) }))) }) (else_clause "else if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" else (if_statement "if (iVar11 == 0) {\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }\n      else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n      }" { (expression_statement "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);" (call_expression "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX)" identifier (argument_list "(1,pcVar16,extraout_EDX,extraout_EDX)" ( number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" else (compound_statement "{\n        if (iVar11 != 1) goto LAB_000119e2;\n        if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }\n        if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }\n        if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }\n      }" { (if_statement "if (iVar11 != 1) goto LAB_000119e2;" if (parenthesized_expression "(iVar11 != 1)" ( (binary_expression "iVar11 != 1" identifier != number_literal) )) (goto_statement "goto LAB_000119e2;" goto statement_identifier ;)) (if_statement "if (bVar9) {\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;\n          puVar30 = (undefined *)(pmVar24->sg_dat).lun;\n          __printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);\n        }" { (expression_statement "pcVar19 = (char *)(pmVar24->sg_dat).scsi_type;" (assignment_expression "pcVar19 = (char *)(pmVar24->sg_dat).scsi_type" identifier = (cast_expression "(char *)(pmVar24->sg_dat).scsi_type" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(pmVar24->sg_dat).scsi_type" (parenthesized_expression "(pmVar24->sg_dat)" ( (field_expression "pmVar24->sg_dat" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "puVar30 = (undefined *)(pmVar24->sg_dat).lun;" (assignment_expression "puVar30 = (undefined *)(pmVar24->sg_dat).lun" identifier = (cast_expression "(undefined *)(pmVar24->sg_dat).lun" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pmVar24->sg_dat).lun" (parenthesized_expression "(pmVar24->sg_dat)" ( (field_expression "pmVar24->sg_dat" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "__printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1);" (call_expression "__printf_chk(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1)" identifier (argument_list "(1,"  %d %d %d %d  %d",(pmVar24->sg_dat).host_no,(pmVar24->sg_dat).channel,\n                       (pmVar24->sg_dat).scsi_id,puVar30,pcVar19,1)" ( number_literal , (string_literal ""  %d %d %d %d  %d"" " string_content ") , (field_expression "(pmVar24->sg_dat).host_no" (parenthesized_expression "(pmVar24->sg_dat)" ( (field_expression "pmVar24->sg_dat" identifier -> field_identifier) )) . field_identifier) , (field_expression "(pmVar24->sg_dat).channel" (parenthesized_expression "(pmVar24->sg_dat)" ( (field_expression "pmVar24->sg_dat" identifier -> field_identifier) )) . field_identifier) , (field_expression "(pmVar24->sg_dat).scsi_id" (parenthesized_expression "(pmVar24->sg_dat)" ( (field_expression "pmVar24->sg_dat" identifier -> field_identifier) )) . field_identifier) , identifier , identifier , number_literal ))) ;) })) (if_statement "if (pmVar24->lin_dev_type - 1U < 5) {\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }" if (parenthesized_expression "(pmVar24->lin_dev_type - 1U < 5)" ( (binary_expression "pmVar24->lin_dev_type - 1U < 5" (binary_expression "pmVar24->lin_dev_type - 1U" (field_expression "pmVar24->lin_dev_type" identifier -> field_identifier) - number_literal) < number_literal) )) (compound_statement "{\n          switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }\n          make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);\n          puVar30 = &DAT_00013189;\n          __printf_chk(1,&DAT_00013189,local_f4);\n          pcVar19 = local_f4;\n        }" { (switch_statement "switch(pmVar24->lin_dev_type) {\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }" switch (parenthesized_expression "(pmVar24->lin_dev_type)" ( (field_expression "pmVar24->lin_dev_type" identifier -> field_identifier) )) (compound_statement "{\n          case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;\n          case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;\n          case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;\n          case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;\n          case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;\n          }" { (case_statement "case 1:\n            pcVar19 = "/dev/sd";\n            do_numeric = false;\n            break;" case number_literal : (expression_statement "pcVar19 = "/dev/sd";" (assignment_expression "pcVar19 = "/dev/sd"" identifier = (string_literal ""/dev/sd"" " string_content ")) ;) (expression_statement "do_numeric = false;" (assignment_expression "do_numeric = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n            pcVar19 = "/dev/sr";\n            do_numeric = true;\n            break;" case number_literal : (expression_statement "pcVar19 = "/dev/sr";" (assignment_expression "pcVar19 = "/dev/sr"" identifier = (string_literal ""/dev/sr"" " string_content ")) ;) (expression_statement "do_numeric = true;" (assignment_expression "do_numeric = true" identifier = true) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n            pcVar19 = "/dev/nst";\n            do_numeric = true;\n            break;" case number_literal : (expression_statement "pcVar19 = "/dev/nst";" (assignment_expression "pcVar19 = "/dev/nst"" identifier = (string_literal ""/dev/nst"" " string_content ")) ;) (expression_statement "do_numeric = true;" (assignment_expression "do_numeric = true" identifier = true) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n            pcVar19 = "/dev/scd";\n            do_numeric = true;\n            break;" case number_literal : (expression_statement "pcVar19 = "/dev/scd";" (assignment_expression "pcVar19 = "/dev/scd"" identifier = (string_literal ""/dev/scd"" " string_content ")) ;) (expression_statement "do_numeric = true;" (assignment_expression "do_numeric = true" identifier = true) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n            pcVar19 = "/dev/osst";\n            do_numeric = true;" case number_literal : (expression_statement "pcVar19 = "/dev/osst";" (assignment_expression "pcVar19 = "/dev/osst"" identifier = (string_literal ""/dev/osst"" " string_content ")) ;) (expression_statement "do_numeric = true;" (assignment_expression "do_numeric = true" identifier = true) ;)) })) (expression_statement "make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric);" (call_expression "make_dev_name(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric)" identifier (argument_list "(local_f4,pcVar19,pmVar24->oth_dev_num,do_numeric)" ( identifier , identifier , (field_expression "pmVar24->oth_dev_num" identifier -> field_identifier) , identifier ))) ;) (expression_statement "puVar30 = &DAT_00013189;" (assignment_expression "puVar30 = &DAT_00013189" identifier = (pointer_expression "&DAT_00013189" & identifier)) ;) (expression_statement "__printf_chk(1,&DAT_00013189,local_f4);" (call_expression "__printf_chk(1,&DAT_00013189,local_f4)" identifier (argument_list "(1,&DAT_00013189,local_f4)" ( number_literal , (pointer_expression "&DAT_00013189" & identifier) , identifier ))) ;) (expression_statement "pcVar19 = local_f4;" (assignment_expression "pcVar19 = local_f4" identifier = identifier) ;) })) (if_statement "if (bVar3) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n          __printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);\n        }" { (expression_statement "__printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19);" (call_expression "__printf_chk(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19)" identifier (argument_list "(1,"  %.8s  %.16s  %.4s",pmVar24->vendor,pmVar24->product,pmVar24->revision,\n                       puVar30,pcVar19)" ( number_literal , (string_literal ""  %.8s  %.16s  %.4s"" " string_content ") , (field_expression "pmVar24->vendor" identifier -> field_identifier) , (field_expression "pmVar24->product" identifier -> field_identifier) , (field_expression "pmVar24->revision" identifier -> field_identifier) , identifier , identifier ))) ;) })) }))))))) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) }) (else_clause "else if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }" else (if_statement "if (leadin[0x5d160] != '\0') {\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }" if (parenthesized_expression "(leadin[0x5d160] != '\0')" ( (binary_expression "leadin[0x5d160] != '\0'" (subscript_expression "leadin[0x5d160]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);\n      goto LAB_000117a1;\n    }" { (expression_statement "make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0);" (call_expression "make_dev_name(local_64,leadin,1,(_Bool)in_stack_fffffed0)" identifier (argument_list "(local_64,leadin,1,(_Bool)in_stack_fffffed0)" ( identifier , identifier , number_literal , (cast_expression "(_Bool)in_stack_fffffed0" ( (type_descriptor "_Bool" type_identifier) ) identifier) ))) ;) (goto_statement "goto LAB_000117a1;" goto statement_identifier ;) })))) (expression_statement "leadin = leadin + 1;" (assignment_expression "leadin = leadin + 1" identifier = (binary_expression "leadin + 1" identifier + number_literal)) ;) (expression_statement "pmVar24 = pmVar24 + 1;" (assignment_expression "pmVar24 = pmVar24 + 1" identifier = (binary_expression "pmVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar21 + 1 != leadin)" ( (binary_expression "pcVar21 + 1 != leadin" (binary_expression "pcVar21 + 1" identifier + number_literal) != identifier) )) ;)) (labeled_statement "LAB_0001193f:\n  iVar11 = 0;" statement_identifier : (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar11;\n  }" statement_identifier : (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar11;\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    return iVar11;\n  }" { (return_statement "return iVar11;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined4 FUN_000111d0(uint param_1,int param_2)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_00012680();\n}\n\n" (function_definition "undefined4 FUN_000111d0(uint param_1,int param_2)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_00012680();\n}" type_identifier (function_declarator "FUN_000111d0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_00012680();\n}" { (declaration "dirent64 **ppdVar1;" type_identifier (pointer_declarator "**ppdVar1" * (pointer_declarator "*ppdVar1" * identifier)) ;) (declaration "byte *__s2;" type_identifier (pointer_declarator "*__s2" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "byte *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "undefined *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "char *pcVar32;" primitive_type (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int local_114;" primitive_type identifier ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "char *local_100;" primitive_type (pointer_declarator "*local_100" * identifier) ;) (declaration "undefined4 *local_fc;" type_identifier (pointer_declarator "*local_fc" * identifier) ;) (declaration "int local_f8;" primitive_type identifier ;) (declaration "char *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "dirent64 **local_ec;" type_identifier (pointer_declarator "**local_ec" * (pointer_declarator "*local_ec" * identifier)) ;) (declaration "stat64 local_e8;" type_identifier identifier ;) (declaration "undefined1 local_88 [8];" type_identifier (array_declarator "local_88 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78 [4];" type_identifier (array_declarator "local_78 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "char local_64 [64];" primitive_type (array_declarator "local_64 [64]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (expression_statement "iVar11 = param_2;" (assignment_expression "iVar11 = param_2" identifier = identifier) ;) (expression_statement "uVar2 = param_1;" (assignment_expression "uVar2 = param_1" identifier = identifier) ;) (expression_statement "bVar30 = 0;" (assignment_expression "bVar30 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_24 = *(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 "bVar27 = param_1 == 0;" (assignment_expression "bVar27 = param_1 == 0" identifier = (binary_expression "param_1 == 0" identifier == number_literal)) ;) (expression_statement "bVar29 = param_1 == 1;" (assignment_expression "bVar29 = param_1 == 1" identifier = (binary_expression "param_1 == 1" identifier == number_literal)) ;) (if_statement "if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" if (parenthesized_expression "((int)param_1 < 2)" ( (binary_expression "(int)param_1 < 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }" { (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" else (compound_statement "{\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" { (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (do_statement "do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);" do (compound_statement "{\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "__s2 = *(byte **)(iVar11 + uVar18 * 4);" (assignment_expression "__s2 = *(byte **)(iVar11 + uVar18 * 4)" identifier = (pointer_expression "*(byte **)(iVar11 + uVar18 * 4)" * (cast_expression "(byte **)(iVar11 + uVar18 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + uVar18 * 4)" ( (binary_expression "iVar11 + uVar18 * 4" identifier + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) ;) (expression_statement "pbVar22 = &DAT_0001303b;" (assignment_expression "pbVar22 = &DAT_0001303b" identifier = (pointer_expression "&DAT_0001303b" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);" do (compound_statement "{\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar22 < *pbVar25;" (assignment_expression "bVar27 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar29 = *pbVar22 == *pbVar25;" (assignment_expression "bVar29 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar27 && !bVar29) == bVar27;" (assignment_expression "bVar27 = (!bVar27 && !bVar29) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar29) == bVar27" (parenthesized_expression "(!bVar27 && !bVar29)" ( (binary_expression "!bVar27 && !bVar29" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_0001303e;" (assignment_expression "pbVar22 = &DAT_0001303e" identifier = (pointer_expression "&DAT_0001303e" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);" do (compound_statement "{\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar22 < *pbVar25;" (assignment_expression "bVar28 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar28 && !bVar27) == bVar28;" (assignment_expression "bVar27 = (!bVar28 && !bVar27) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar27) == bVar28" (parenthesized_expression "(!bVar28 && !bVar27)" ( (binary_expression "!bVar28 && !bVar27" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_00013041;" (assignment_expression "pbVar22 = &DAT_00013041" identifier = (pointer_expression "&DAT_00013041" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);" do (compound_statement "{\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar29 = *pbVar22 < *pbVar25;" (assignment_expression "bVar29 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar29 && !bVar27) == bVar29;" (assignment_expression "bVar27 = (!bVar29 && !bVar27) == bVar29" identifier = (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" ( (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n            bVar10 = true;\n          }" { (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) }) (else_clause "else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_00013044;" (assignment_expression "pbVar22 = &DAT_00013044" identifier = (pointer_expression "&DAT_00013044" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);" do (compound_statement "{\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar22 < *pbVar25;" (assignment_expression "bVar28 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar27 = (!bVar28 && !bVar27) == bVar28;" (assignment_expression "bVar27 = (!bVar28 && !bVar27) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar27) == bVar28" (parenthesized_expression "(!bVar28 && !bVar27)" ( (binary_expression "!bVar28 && !bVar27" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n              bVar4 = true;\n            }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" else (compound_statement "{\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" { (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" identifier = number_literal) ;) (expression_statement "pbVar22 = &DAT_00013047;" (assignment_expression "pbVar22 = &DAT_00013047" identifier = (pointer_expression "&DAT_00013047" & identifier)) ;) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" identifier = identifier) ;) (do_statement "do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);" do (compound_statement "{\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              }" { (expression_statement "pbVar21 = pbVar22;" (assignment_expression "pbVar21 = pbVar22" identifier = identifier) ;) (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar29 = *pbVar22 < *pbVar25;" (assignment_expression "bVar29 = *pbVar22 < *pbVar25" identifier = (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" identifier = (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (if_statement "if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" if (parenthesized_expression "((!bVar29 && !bVar27) == bVar29)" ( (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" ( (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier) )) (compound_statement "{\n                bVar5 = true;\n                bVar3 = false;\n              }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" { (expression_statement "iVar17 = strcmp("-st",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-st",(char *)__s2)" identifier = (call_expression "strcmp("-st",(char *)__s2)" identifier (argument_list "("-st",(char *)__s2)" ( (string_literal ""-st"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }" { (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" else (compound_statement "{\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" { (expression_statement "iVar17 = strcmp("-sr",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-sr",(char *)__s2)" identifier = (call_expression "strcmp("-sr",(char *)__s2)" identifier (argument_list "("-sr",(char *)__s2)" ( (string_literal ""-sr"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                    bVar6 = true;\n                    bVar3 = false;\n                  }" { (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" else (compound_statement "{\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" { (expression_statement "iVar17 = strcmp("-scd",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-scd",(char *)__s2)" identifier = (call_expression "strcmp("-scd",(char *)__s2)" identifier (argument_list "("-scd",(char *)__s2)" ( (string_literal ""-scd"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }" { (expression_statement "iVar11 = strcmp("-V",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-V",(char *)__s2)" identifier = (call_expression "strcmp("-V",(char *)__s2)" identifier (argument_list "("-V",(char *)__s2)" ( (string_literal ""-V"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }" { (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" identifier (argument_list "(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" ( (pointer_expression "*(undefined4 *)PTR_stderr_00014fec" * (cast_expression "(undefined4 *)PTR_stderr_00014fec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (string_literal ""Version string: %s\n"" " string_content escape_sequence ") , (string_literal ""1.12 20171010"" " string_content ") ))) ;) (expression_statement "exit(0);" (call_expression "exit(0)" identifier (argument_list "(0)" ( number_literal ))) ;) })) (expression_statement "pbVar22 = __s2;" (assignment_expression "pbVar22 = __s2" identifier = identifier) ;) (expression_statement "pbVar25 = pbVar21;" (assignment_expression "pbVar25 = pbVar21" identifier = identifier) ;) (expression_statement "iVar11 = strcmp("-?",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-?",(char *)__s2)" identifier = (call_expression "strcmp("-?",(char *)__s2)" identifier (argument_list "("-?",(char *)__s2)" ( (string_literal ""-?"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }" { (labeled_statement "LAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";" statement_identifier : (expression_statement "pcVar16 = "Show mapping from sg devices to other scsi device names\n";" (assignment_expression "pcVar16 = "Show mapping from sg devices to other scsi device names\n"" identifier = (string_literal ""Show mapping from sg devices to other scsi device names\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" else (compound_statement "{\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" { (expression_statement "pbVar21 = (byte *)0x2;" (assignment_expression "pbVar21 = (byte *)0x2" identifier = (cast_expression "(byte *)0x2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar22 = __s2;" (assignment_expression "pbVar22 = __s2" identifier = identifier) ;) (expression_statement "pbVar25 = extraout_ECX_01;" (assignment_expression "pbVar25 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "iVar11 = strncmp("-h",(char *)__s2,2);" (assignment_expression "iVar11 = strncmp("-h",(char *)__s2,2)" identifier = (call_expression "strncmp("-h",(char *)__s2,2)" identifier (argument_list "("-h",(char *)__s2,2)" ( (string_literal ""-h"" " string_content ") , (cast_expression "(char *)__s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_00011d70;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011d70;" goto statement_identifier ;)) (if_statement "if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }" if (parenthesized_expression "(*__s2 == 0x2d)" ( (binary_expression "*__s2 == 0x2d" (pointer_expression "*__s2" * identifier) == number_literal) )) (compound_statement "{\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);" (call_expression "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01)" identifier (argument_list "(1,"Unknown switch: %s\n",__s2,extraout_EDX_01)" ( number_literal , (string_literal ""Unknown switch: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "FUN_00011fa0();" (call_expression "FUN_00011fa0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (expression_statement "pcVar16 = "Unknown argument";" (assignment_expression "pcVar16 = "Unknown argument"" identifier = (string_literal ""Unknown argument"" " string_content ")) ;) }))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "puts(pcVar16);" (call_expression "puts(pcVar16)" identifier (argument_list "(pcVar16)" ( identifier ))) ;) (expression_statement "FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);" (call_expression "FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25)" identifier (argument_list "(pcVar16,pbVar22,pbVar21,pbVar25)" ( identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }))) }))) }))) }))) }))) })) })) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar27 = uVar2 < uVar18;" (assignment_expression "bVar27 = uVar2 < uVar18" identifier = (binary_expression "uVar2 < uVar18" identifier < identifier)) ;) (expression_statement "bVar29 = uVar2 == uVar18;" (assignment_expression "bVar29 = uVar2 == uVar18" identifier = (binary_expression "uVar2 == uVar18" identifier == identifier)) ;) }) while (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) ;) }))) (expression_statement "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8)" identifier = (call_expression "__xstat64(3,"/sys/class/scsi_generic",&local_e8)" identifier (argument_list "(3,"/sys/class/scsi_generic",&local_e8)" ( number_literal , (string_literal ""/sys/class/scsi_generic"" " string_content ") , (pointer_expression "&local_e8" & identifier) )))) ;) (if_statement "if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }" if (parenthesized_expression "((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000))" ( (binary_expression "(-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)" (parenthesized_expression "(-1 < iVar11)" ( (binary_expression "-1 < iVar11" number_literal < identifier) )) && (parenthesized_expression "((local_e8.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(local_e8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_e8.st_mode & 0xf000)" ( (binary_expression "local_e8.st_mode & 0xf000" (field_expression "local_e8.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }" { (expression_statement "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);" (assignment_expression "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" identifier = (cast_expression "(char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" identifier (argument_list "("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" ( (string_literal ""/sys/class/scsi_generic"" " string_content ") , (pointer_expression "&local_ec" & identifier) , identifier , (cast_expression "(__cmp *)0x0" ( (type_descriptor "__cmp *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" if (parenthesized_expression "((int)local_f4 < 0)" ( (binary_expression "(int)local_f4 < 0" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }" { (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_f4 = (char *)-*piVar15;" (assignment_expression "local_f4 = (char *)-*piVar15" identifier = (cast_expression "(char *)-*piVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (unary_expression "-*piVar15" - (pointer_expression "*piVar15" * identifier)))) ;) }) (else_clause "else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" else (compound_statement "{\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" { (if_statement "if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" if (parenthesized_expression "(local_f4 != (char *)0x0)" ( (binary_expression "local_f4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);" do (compound_statement "{\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        }" { (expression_statement "ppdVar1 = local_ec + iVar11;" (assignment_expression "ppdVar1 = local_ec + iVar11" identifier = (binary_expression "local_ec + iVar11" identifier + identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "free(*ppdVar1);" (call_expression "free(*ppdVar1)" identifier (argument_list "(*ppdVar1)" ( (pointer_expression "*ppdVar1" * identifier) ))) ;) }) while (parenthesized_expression "(local_f4 != (char *)iVar11)" ( (binary_expression "local_f4 != (char *)iVar11" identifier != (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "free(local_ec);" (call_expression "free(local_ec)" identifier (argument_list "(local_ec)" ( identifier ))) ;) }))) (expression_statement "DAT_0005d140 = (int)local_f4;" (assignment_expression "DAT_0005d140 = (int)local_f4" identifier = (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8)" identifier = (call_expression "__xstat64(3,"/dev/.devfsd",&local_e8)" identifier (argument_list "(3,"/dev/.devfsd",&local_e8)" ( number_literal , (string_literal ""/dev/.devfsd"" " string_content ") , (pointer_expression "&local_e8" & identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    puts("# Note: the devfs pseudo file system is present");\n  }" { (expression_statement "puts("# Note: the devfs pseudo file system is present");" (call_expression "puts("# Note: the devfs pseudo file system is present")" identifier (argument_list "("# Note: the devfs pseudo file system is present")" ( (string_literal ""# Note: the devfs pseudo file system is present"" " string_content ") ))) ;) })) (expression_statement "local_fc = &DAT_0001514c;" (assignment_expression "local_fc = &DAT_0001514c" identifier = (pointer_expression "&DAT_0001514c" & identifier)) ;) (expression_statement "iVar11 = -1;" (assignment_expression "iVar11 = -1" identifier = number_literal) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (expression_statement "local_114 = 0;" (assignment_expression "local_114 = 0" identifier = number_literal) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (do_statement "do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );" do (compound_statement "{\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  }" { (expression_statement "iVar17 = local_f8 + 1;" (assignment_expression "iVar17 = local_f8 + 1" identifier = (binary_expression "local_f8 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" if (parenthesized_expression "(DAT_0005d140 == 0)" ( (binary_expression "DAT_0005d140 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011449:\n      local_100 = local_64;" statement_identifier : (expression_statement "local_100 = local_64;" (assignment_expression "local_100 = local_64" identifier = identifier) ;)) (expression_statement "iVar12 = open64(local_100,0x800);" (assignment_expression "iVar12 = open64(local_100,0x800)" identifier = (call_expression "open64(local_100,0x800)" identifier (argument_list "(local_100,0x800)" ( identifier , number_literal )))) ;) (if_statement "if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" { (expression_statement "puVar13 = (uint *)__errno_location();" (assignment_expression "puVar13 = (uint *)__errno_location()" identifier = (cast_expression "(uint *)__errno_location()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (if_statement "if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" if (parenthesized_expression "(uVar2 == 0x10)" ( (binary_expression "uVar2 == 0x10" identifier == number_literal) )) (compound_statement "{\n          local_fc[-3] = 0xfffffffe;\n        }" { (expression_statement "local_fc[-3] = 0xfffffffe;" (assignment_expression "local_fc[-3] = 0xfffffffe" (subscript_expression "local_fc[-3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" else (compound_statement "{\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" { (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" identifier = (binary_expression "local_108 + 1" identifier + number_literal)) ;) (if_statement "if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" if (parenthesized_expression "(((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13))" ( (binary_expression "((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)" (parenthesized_expression "((uVar2 & 0xfffffffb) == 2)" ( (binary_expression "(uVar2 & 0xfffffffb) == 2" (parenthesized_expression "(uVar2 & 0xfffffffb)" ( (binary_expression "uVar2 & 0xfffffffb" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar2 == 0x13)" ( (binary_expression "uVar2 == 0x13" identifier == number_literal) ))) )) (compound_statement "{\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }" { (expression_statement "local_114 = local_114 + 1;" (assignment_expression "local_114 = local_114 + 1" identifier = (binary_expression "local_114 + 1" identifier + number_literal)) ;) (expression_statement "local_fc[-3] = 0xffffffff;" (assignment_expression "local_fc[-3] = 0xffffffff" (subscript_expression "local_fc[-3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" else (compound_statement "{\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" { (if_statement "if (uVar2 == 0xd) {\n              bVar27 = true;\n            }" if (parenthesized_expression "(uVar2 == 0xd)" ( (binary_expression "uVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n              bVar27 = true;\n            }" { (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) })) (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100)" identifier (argument_list "(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100)" ( (pointer_expression "&DAT_00015040" & identifier) , number_literal , number_literal , number_literal , (string_literal ""Error opening %s "" " string_content ") , identifier ))) ;) (expression_statement "perror(&DAT_00015040);" (call_expression "perror(&DAT_00015040)" identifier (argument_list "(&DAT_00015040)" ( (pointer_expression "&DAT_00015040" & identifier) ))) ;) }))) }))) (goto_statement "goto joined_r0x0001166b;" goto statement_identifier ;) })) (expression_statement "iVar14 = ioctl(iVar12,0x2276,local_fc);" (assignment_expression "iVar14 = ioctl(iVar12,0x2276,local_fc)" identifier = (call_expression "ioctl(iVar12,0x2276,local_fc)" identifier (argument_list "(iVar12,0x2276,local_fc)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }" { (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" identifier (argument_list "(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" ( (pointer_expression "&DAT_00015040" & identifier) , number_literal , number_literal , number_literal , (string_literal ""device %s failed on sg ioctl, skip"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror(&DAT_00015040);" (call_expression "perror(&DAT_00015040)" identifier (argument_list "(&DAT_00015040)" ( (pointer_expression "&DAT_00015040" & identifier) ))) ;) (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" identifier = (binary_expression "local_108 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" else (compound_statement "{\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" { (if_statement "if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }" if (parenthesized_expression "((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0))" ( (binary_expression "(bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)" (parenthesized_expression "(bVar4)" ( identifier )) && (parenthesized_expression "(iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)" ( (comma_expression "iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0" (assignment_expression "iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0)" identifier = (call_expression "sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0)" identifier (argument_list "(iVar12,0,0,0,local_88,0x24,1,0)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , number_literal )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }" { (expression_statement "local_fc[8] = local_80;" (assignment_expression "local_fc[8] = local_80" (subscript_expression "local_fc[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_fc[9] = local_7c;" (assignment_expression "local_fc[9] = local_7c" (subscript_expression "local_fc[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar23 = local_78;" (assignment_expression "puVar23 = local_78" identifier = identifier) ;) (expression_statement "puVar26 = local_fc + 10;" (assignment_expression "puVar26 = local_fc + 10" identifier = (binary_expression "local_fc + 10" identifier + number_literal)) ;) (for_statement "for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }" for ( (assignment_expression "iVar11 = 4" identifier = number_literal) ; (binary_expression "iVar11 != 0" identifier != number_literal) ; (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }" { (expression_statement "*puVar26 = *puVar23;" (assignment_expression "*puVar26 = *puVar23" (pointer_expression "*puVar26" * identifier) = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar23 = puVar23 + (uint)bVar30 * -2 + 1;" (assignment_expression "puVar23 = puVar23 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "puVar23 + (uint)bVar30 * -2 + 1" (binary_expression "puVar23 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar30 * -2 + 1" (binary_expression "puVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_fc[0xe] = local_68;" (assignment_expression "local_fc[0xe] = local_68" (subscript_expression "local_fc[0xe]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "local_fc[-3] = 1;" (assignment_expression "local_fc[-3] = 1" (subscript_expression "local_fc[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_fc[-1] = 0xffffffff;" (assignment_expression "local_fc[-1] = 0xffffffff" (subscript_expression "local_fc[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = local_f8;" (assignment_expression "iVar11 = local_f8" identifier = identifier) ;) }))) (expression_statement "iVar12 = close(iVar12);" (assignment_expression "iVar12 = close(iVar12)" identifier = (call_expression "close(iVar12)" identifier (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;" if (parenthesized_expression "((0xfff < iVar17) || (4 < local_108))" ( (binary_expression "(0xfff < iVar17) || (4 < local_108)" (parenthesized_expression "(0xfff < iVar17)" ( (binary_expression "0xfff < iVar17" number_literal < identifier) )) || (parenthesized_expression "(4 < local_108)" ( (binary_expression "4 < local_108" number_literal < identifier) ))) )) (goto_statement "goto LAB_00011671;" goto statement_identifier ;)) (if_statement "if (iVar12 < 0) break;" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" else (compound_statement "{\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" { (if_statement "if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }" if (parenthesized_expression "((&DAT_0005d160)[local_f8] != '\0')" ( (binary_expression "(&DAT_0005d160)[local_f8] != '\0'" (subscript_expression "(&DAT_0005d160)[local_f8]" (parenthesized_expression "(&DAT_0005d160)" ( (pointer_expression "&DAT_0005d160" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000124a0();\n        goto LAB_00011449;\n      }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011449;" goto statement_identifier ;) })) (labeled_statement "joined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" statement_identifier : (if_statement "if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" if (parenthesized_expression "((4 < local_108) || (0xfff < iVar17))" ( (binary_expression "(4 < local_108) || (0xfff < iVar17)" (parenthesized_expression "(4 < local_108)" ( (binary_expression "4 < local_108" number_literal < identifier) )) || (parenthesized_expression "(0xfff < iVar17)" ( (binary_expression "0xfff < iVar17" number_literal < identifier) ))) )) (compound_statement "{\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" { (labeled_statement "LAB_00011671:\n        iVar17 = 4;" statement_identifier : (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" identifier = number_literal) ;)) (if_statement "if (3 < local_114) {\n          iVar17 = local_114;\n        }" if (parenthesized_expression "(3 < local_114)" ( (binary_expression "3 < local_114" number_literal < identifier) )) (compound_statement "{\n          iVar17 = local_114;\n        }" { (expression_statement "iVar17 = local_114;" (assignment_expression "iVar17 = local_114" identifier = identifier) ;) })) (if_statement "if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" if (parenthesized_expression "(iVar17 < local_108)" ( (binary_expression "iVar17 < local_108" identifier < identifier) )) (compound_statement "{\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" { (expression_statement "uVar24 = 0xf;" (assignment_expression "uVar24 = 0xf" identifier = number_literal) ;) (expression_statement "puts("Stopping because there are too many error");" (call_expression "puts("Stopping because there are too many error")" identifier (argument_list "("Stopping because there are too many error")" ( (string_literal ""Stopping because there are too many error"" " string_content ") ))) ;) (if_statement "if (bVar27) {\n            puts("    root access may be required");\n          }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n            puts("    root access may be required");\n          }" { (expression_statement "puts("    root access may be required");" (call_expression "puts("    root access may be required")" identifier (argument_list "("    root access may be required")" ( (string_literal ""    root access may be required"" " string_content ") ))) ;) })) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) })) (if_statement "if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }" if (parenthesized_expression "(iVar11 == -1)" ( (binary_expression "iVar11 == -1" identifier == number_literal) )) (compound_statement "{\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }" { (expression_statement "iVar17 = puts("Stopping because no sg devices found");" (assignment_expression "iVar17 = puts("Stopping because no sg devices found")" identifier = (call_expression "puts("Stopping because no sg devices found")" identifier (argument_list "("Stopping because no sg devices found")" ( (string_literal ""Stopping because no sg devices found"" " string_content ") )))) ;) (expression_statement "local_114 = extraout_EDX_00;" (assignment_expression "local_114 = extraout_EDX_00" identifier = identifier) ;) })) (if_statement "if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }" if (parenthesized_expression "((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8))" ( (binary_expression "(((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)" (parenthesized_expression "(((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3))" ( (binary_expression "((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)" (parenthesized_expression "((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7))" ( (binary_expression "(((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)" (parenthesized_expression "(((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3))" ( (binary_expression "((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)" (parenthesized_expression "((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6))" ( (binary_expression "(((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)" (parenthesized_expression "(((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3))" ( (binary_expression "((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)" (parenthesized_expression "((bVar3) || (bVar5))" ( (binary_expression "(bVar3) || (bVar5)" (parenthesized_expression "(bVar3)" ( identifier )) || (parenthesized_expression "(bVar5)" ( identifier ))) )) && (parenthesized_expression "(iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)" ( (comma_expression "iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3" (assignment_expression "iVar17 = FUN_000121f0(1,iVar11,local_114,local_114)" identifier = (call_expression "FUN_000121f0(1,iVar11,local_114,local_114)" identifier (argument_list "(1,iVar11,local_114,local_114)" ( number_literal , identifier , identifier , identifier )))) , identifier) ))) )) || (parenthesized_expression "(bVar6)" ( identifier ))) )) && (parenthesized_expression "(iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)" ( (comma_expression "iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3" (assignment_expression "iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17)" identifier = (call_expression "FUN_000121f0(2,iVar11,iVar17,iVar17)" identifier (argument_list "(2,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier )))) , identifier) ))) )) || (parenthesized_expression "(bVar7)" ( identifier ))) )) && (parenthesized_expression "(iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)" ( (comma_expression "iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3" (assignment_expression "iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17)" identifier = (call_expression "FUN_000121f0(4,iVar11,iVar17,iVar17)" identifier (argument_list "(4,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier )))) , identifier) ))) )) || (parenthesized_expression "(bVar8)" ( identifier ))) )) (compound_statement "{\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }" { (expression_statement "iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);" (assignment_expression "iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17)" identifier = (call_expression "FUN_000121f0(3,iVar11,iVar17,iVar17)" identifier (argument_list "(3,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier )))) ;) })) (if_statement "if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }" if (parenthesized_expression "((bVar9) || (bVar3))" ( (binary_expression "(bVar9) || (bVar3)" (parenthesized_expression "(bVar9)" ( identifier )) || (parenthesized_expression "(bVar3)" ( identifier ))) )) (compound_statement "{\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }" { (expression_statement "FUN_000121f0(5,iVar11,iVar17,iVar17);" (call_expression "FUN_000121f0(5,iVar11,iVar17,iVar17)" identifier (argument_list "(5,iVar11,iVar17,iVar17)" ( number_literal , identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar11 == -1) goto LAB_0001193f;" if (parenthesized_expression "(iVar11 == -1)" ( (binary_expression "iVar11 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0001193f;" goto statement_identifier ;)) (expression_statement "piVar15 = &DAT_00015140;" (assignment_expression "piVar15 = &DAT_00015140" identifier = (pointer_expression "&DAT_00015140" & identifier)) ;) (expression_statement "pcVar16 = "  some error";" (assignment_expression "pcVar16 = "  some error"" identifier = (string_literal ""  some error"" " string_content ")) ;) (if_statement "if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" { (expression_statement "pcVar16 = "  -3 -3 -3 -3  -3";" (assignment_expression "pcVar16 = "  -3 -3 -3 -3  -3"" identifier = (string_literal ""  -3 -3 -3 -3  -3"" " string_content ")) ;) })) (expression_statement "pcVar19 = "  not present";" (assignment_expression "pcVar19 = "  not present"" identifier = (string_literal ""  not present"" " string_content ")) ;) (if_statement "if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }" { (expression_statement "pcVar19 = "  -1 -1 -1 -1  -1";" (assignment_expression "pcVar19 = "  -1 -1 -1 -1  -1"" identifier = (string_literal ""  -1 -1 -1 -1  -1"" " string_content ")) ;) })) (expression_statement "pcVar20 = "  busy";" (assignment_expression "pcVar20 = "  busy"" identifier = (string_literal ""  busy"" " string_content ")) ;) (if_statement "if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }" { (expression_statement "pcVar20 = "  -2 -2 -2 -2  -2";" (assignment_expression "pcVar20 = "  -2 -2 -2 -2  -2"" identifier = (string_literal ""  -2 -2 -2 -2  -2"" " string_content ")) ;) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00011770;" goto statement_identifier ;) }))) }))) (expression_statement "local_fc = local_fc + 0x12;" (assignment_expression "local_fc = local_fc + 0x12" identifier = (binary_expression "local_fc + 0x12" identifier + number_literal)) ;) (expression_statement "local_f8 = iVar17;" (assignment_expression "local_f8 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "uVar24 = 0xf;" (assignment_expression "uVar24 = 0xf" identifier = number_literal) ;) (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12)" identifier (argument_list "(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12)" ( (pointer_expression "&DAT_00015040" & identifier) , number_literal , number_literal , number_literal , (string_literal ""Error closing %s "" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror("sg_map: close error");" (call_expression "perror("sg_map: close error")" identifier (argument_list "("sg_map: close error")" ( (string_literal ""sg_map: close error"" " string_content ") ))) ;) (goto_statement "goto LAB_00011620;" goto statement_identifier ;) (labeled_statement "LAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);" statement_identifier : (do_statement "do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);" do (compound_statement "{\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  }" { (if_statement "if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" if (parenthesized_expression "(DAT_0005d140 == 0)" ( (binary_expression "DAT_0005d140 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000117a1:\n      local_f4 = local_64;" statement_identifier : (expression_statement "local_f4 = local_64;" (assignment_expression "local_f4 = local_64" identifier = identifier) ;)) (expression_statement "puVar31 = &DAT_0001318b;" (assignment_expression "puVar31 = &DAT_0001318b" identifier = (pointer_expression "&DAT_0001318b" & identifier)) ;) (expression_statement "pcVar32 = local_f4;" (assignment_expression "pcVar32 = local_f4" identifier = identifier) ;) (expression_statement "__printf_chk(1,&DAT_0001318b,local_f4);" (call_expression "__printf_chk(1,&DAT_0001318b,local_f4)" identifier (argument_list "(1,&DAT_0001318b,local_f4)" ( number_literal , (pointer_expression "&DAT_0001318b" & identifier) , identifier ))) ;) (expression_statement "iVar12 = *piVar15;" (assignment_expression "iVar12 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (if_statement "if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" if (parenthesized_expression "(iVar12 == -1)" ( (binary_expression "iVar12 == -1" identifier == number_literal) )) (compound_statement "{\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }" { (expression_statement "__printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);" (call_expression "__printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "(1,pcVar19,extraout_ECX_00,extraout_ECX_00)" ( number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" else (compound_statement "{\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" { (if_statement "if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }" { (if_statement "if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }" if (parenthesized_expression "(iVar12 == -2)" ( (binary_expression "iVar12 == -2" identifier == number_literal) )) (compound_statement "{\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }" { (expression_statement "__printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);" (call_expression "__printf_chk(1,pcVar20,0xfffffffe,0xfffffffe)" identifier (argument_list "(1,pcVar20,0xfffffffe,0xfffffffe)" ( number_literal , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\nLAB_000119e2:\n            puts("  bad logic");\n          }" else (compound_statement "{\nLAB_000119e2:\n            puts("  bad logic");\n          }" { (labeled_statement "LAB_000119e2:\n            puts("  bad logic");" statement_identifier : (expression_statement "puts("  bad logic");" (call_expression "puts("  bad logic")" identifier (argument_list "("  bad logic")" ( (string_literal ""  bad logic"" " string_content ") ))) ;)) }))) (goto_statement "goto LAB_00011920;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }" { (expression_statement "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);" (call_expression "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX)" identifier (argument_list "(1,pcVar16,extraout_EDX,extraout_EDX)" ( number_literal , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011920;" goto statement_identifier ;) })) (if_statement "if (iVar12 != 1) goto LAB_000119e2;" if (parenthesized_expression "(iVar12 != 1)" ( (binary_expression "iVar12 != 1" identifier != number_literal) )) (goto_statement "goto LAB_000119e2;" goto statement_identifier ;)) (if_statement "if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }" { (expression_statement "pcVar32 = (char *)piVar15[7];" (assignment_expression "pcVar32 = (char *)piVar15[7]" identifier = (cast_expression "(char *)piVar15[7]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar31 = (undefined *)piVar15[6];" (assignment_expression "puVar31 = (undefined *)piVar15[6]" identifier = (cast_expression "(undefined *)piVar15[6]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[6]" identifier [ number_literal ]))) ;) (expression_statement "__printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);" (call_expression "__printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1)" identifier (argument_list "(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1)" ( number_literal , (string_literal ""  %d %d %d %d  %d"" " string_content ") , (subscript_expression "piVar15[3]" identifier [ number_literal ]) , (subscript_expression "piVar15[4]" identifier [ number_literal ]) , (subscript_expression "piVar15[5]" identifier [ number_literal ]) , identifier , identifier , number_literal ))) ;) })) (switch_statement "switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }" switch (parenthesized_expression "(piVar15[1])" ( (subscript_expression "piVar15[1]" identifier [ number_literal ]) )) (compound_statement "{\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }" { (case_statement "case 1:\n          uVar24 = 0;\n          break;" case number_literal : (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          uVar24 = 1;\n          break;" case number_literal : (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n          goto LAB_000119b0;" default : (goto_statement "goto LAB_000119b0;" goto statement_identifier ;)) })) (expression_statement "FUN_00012070(uVar24);" (call_expression "FUN_00012070(uVar24)" identifier (argument_list "(uVar24)" ( identifier ))) ;) (expression_statement "puVar31 = &UNK_00013189;" (assignment_expression "puVar31 = &UNK_00013189" identifier = (pointer_expression "&UNK_00013189" & identifier)) ;) (expression_statement "__printf_chk(1,&UNK_00013189,local_f4);" (call_expression "__printf_chk(1,&UNK_00013189,local_f4)" identifier (argument_list "(1,&UNK_00013189,local_f4)" ( number_literal , (pointer_expression "&UNK_00013189" & identifier) , identifier ))) ;) (expression_statement "pcVar32 = local_f4;" (assignment_expression "pcVar32 = local_f4" identifier = identifier) ;) (labeled_statement "LAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" statement_identifier : (if_statement "if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" { (expression_statement "__printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);" (call_expression "__printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32)" identifier (argument_list "(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32)" ( number_literal , (string_literal ""  %.8s  %.16s  %.4s"" " string_content ") , (binary_expression "piVar15 + 0xb" identifier + number_literal) , (binary_expression "piVar15 + 0xd" identifier + number_literal) , (binary_expression "piVar15 + 0x11" identifier + number_literal) , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_00011920:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }) (else_clause "else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" else (if_statement "if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" if (parenthesized_expression "((&DAT_0005d160)[iVar17] != '\0')" ( (binary_expression "(&DAT_0005d160)[iVar17] != '\0'" (subscript_expression "(&DAT_0005d160)[iVar17]" (parenthesized_expression "(&DAT_0005d160)" ( (pointer_expression "&DAT_0005d160" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" { (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000117a1;" goto statement_identifier ;) })))) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar15 + 0x12;" (assignment_expression "piVar15 = piVar15 + 0x12" identifier = (binary_expression "piVar15 + 0x12" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 + 1 != iVar17)" ( (binary_expression "iVar11 + 1 != iVar17" (binary_expression "iVar11 + 1" identifier + number_literal) != identifier) )) ;)) (labeled_statement "LAB_0001193f:\n  uVar24 = 0;" statement_identifier : (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }" statement_identifier : (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\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    return uVar24;\n  }" { (return_statement "return uVar24;" return identifier ;) }))) (expression_statement "FUN_00012680();" (call_expression "FUN_00012680()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT , (string_literal " string_content escape_sequence ") , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) }))) }))) }))) }))) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) }) while (parenthesized_expression ( (unary_expression ! IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - (pointer_expression * 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 (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , IDENT , LIT , LIT , LIT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (break_statement break ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) || (parenthesized_expression ( IDENT ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) , IDENT) ))) )) || (parenthesized_expression ( IDENT ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) , IDENT) ))) )) || (parenthesized_expression ( IDENT ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) , IDENT) ))) )) || (parenthesized_expression ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) || (parenthesized_expression ( IDENT ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;)) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , LIT ))) ;) })) (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined4 FUN_000111d0(uint param_1,int param_2)\n\n{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_00012680();\n}" (type_identifier "undefined4") (function_declarator "FUN_000111d0(uint param_1,int param_2)" (identifier "FUN_000111d0") (parameter_list "(uint param_1,int param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  dirent64 **ppdVar1;\n  byte *__s2;\n  uint uVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  uint *puVar13;\n  int iVar14;\n  int *piVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  byte *extraout_ECX_01;\n  uint uVar18;\n  char *pcVar19;\n  char *pcVar20;\n  undefined4 extraout_EDX;\n  int extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  byte *pbVar21;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  undefined4 *puVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined *puVar31;\n  char *pcVar32;\n  int local_114;\n  int local_108;\n  char *local_100;\n  undefined4 *local_fc;\n  int local_f8;\n  char *local_f4;\n  dirent64 **local_ec;\n  stat64 local_e8;\n  undefined1 local_88 [8];\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78 [4];\n  undefined4 local_68;\n  char local_64 [64];\n  int local_24;\n  undefined4 *local_18;\n  byte *pbVar22;\n  \n  iVar11 = param_2;\n  uVar2 = param_1;\n  bVar30 = 0;\n  local_18 = &param_1;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  bVar27 = param_1 == 0;\n  bVar29 = param_1 == 1;\n  if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }\n  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);\n  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }\n  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);\n  if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }\n  local_fc = &DAT_0001514c;\n  iVar11 = -1;\n  local_f8 = 0;\n  local_114 = 0;\n  local_108 = 0;\n  bVar27 = false;\n  do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );\n  uVar24 = 0xf;\n  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);\n  perror("sg_map: close error");\n  goto LAB_00011620;\nLAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);\nLAB_0001193f:\n  uVar24 = 0;\nLAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_00012680();\n}" ({ "{") (declaration "dirent64 **ppdVar1;" (type_identifier "dirent64") (pointer_declarator "**ppdVar1" (* "*") (pointer_declarator "*ppdVar1" (* "*") (identifier "ppdVar1"))) (; ";")) (declaration "byte *__s2;" (type_identifier "byte") (pointer_declarator "*__s2" (* "*") (identifier "__s2")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "undefined4 extraout_ECX_00;" (type_identifier "undefined4") (identifier "extraout_ECX_00") (; ";")) (declaration "byte *extraout_ECX_01;" (type_identifier "byte") (pointer_declarator "*extraout_ECX_01" (* "*") (identifier "extraout_ECX_01")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "char *pcVar20;" (primitive_type "char") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "int extraout_EDX_00;" (primitive_type "int") (identifier "extraout_EDX_00") (; ";")) (declaration "undefined4 extraout_EDX_01;" (type_identifier "undefined4") (identifier "extraout_EDX_01") (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined4 uVar24;" (type_identifier "undefined4") (identifier "uVar24") (; ";")) (declaration "byte *pbVar25;" (type_identifier "byte") (pointer_declarator "*pbVar25" (* "*") (identifier "pbVar25")) (; ";")) (declaration "undefined4 *puVar26;" (type_identifier "undefined4") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "bool bVar29;" (primitive_type "bool") (identifier "bVar29") (; ";")) (declaration "byte bVar30;" (type_identifier "byte") (identifier "bVar30") (; ";")) (declaration "undefined *puVar31;" (type_identifier "undefined") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "char *pcVar32;" (primitive_type "char") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "int local_114;" (primitive_type "int") (identifier "local_114") (; ";")) (declaration "int local_108;" (primitive_type "int") (identifier "local_108") (; ";")) (declaration "char *local_100;" (primitive_type "char") (pointer_declarator "*local_100" (* "*") (identifier "local_100")) (; ";")) (declaration "undefined4 *local_fc;" (type_identifier "undefined4") (pointer_declarator "*local_fc" (* "*") (identifier "local_fc")) (; ";")) (declaration "int local_f8;" (primitive_type "int") (identifier "local_f8") (; ";")) (declaration "char *local_f4;" (primitive_type "char") (pointer_declarator "*local_f4" (* "*") (identifier "local_f4")) (; ";")) (declaration "dirent64 **local_ec;" (type_identifier "dirent64") (pointer_declarator "**local_ec" (* "*") (pointer_declarator "*local_ec" (* "*") (identifier "local_ec"))) (; ";")) (declaration "stat64 local_e8;" (type_identifier "stat64") (identifier "local_e8") (; ";")) (declaration "undefined1 local_88 [8];" (type_identifier "undefined1") (array_declarator "local_88 [8]" (identifier "local_88") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "undefined4 local_78 [4];" (type_identifier "undefined4") (array_declarator "local_78 [4]" (identifier "local_78") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "char local_64 [64];" (primitive_type "char") (array_declarator "local_64 [64]" (identifier "local_64") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (expression_statement "iVar11 = param_2;" (assignment_expression "iVar11 = param_2" (identifier "iVar11") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uVar2 = param_1;" (assignment_expression "uVar2 = param_1" (identifier "uVar2") (= "=") (identifier "param_1")) (; ";")) (expression_statement "bVar30 = 0;" (assignment_expression "bVar30 = 0" (identifier "bVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" (identifier "local_18") (= "=") (pointer_expression "&param_1" (& "&") (identifier "param_1"))) (; ";")) (expression_statement "local_24 = *(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 "bVar27 = param_1 == 0;" (assignment_expression "bVar27 = param_1 == 0" (identifier "bVar27") (= "=") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar29 = param_1 == 1;" (assignment_expression "bVar29 = param_1 == 1" (identifier "bVar29") (= "=") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1"))) (; ";")) (if_statement "if ((int)param_1 < 2) {\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }\n  else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" (if "if") (parenthesized_expression "((int)param_1 < 2)" (( "(") (binary_expression "(int)param_1 < 2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    bVar8 = false;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n  }" ({ "{") (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" (else "else") (compound_statement "{\n    bVar8 = false;\n    uVar18 = 1;\n    bVar6 = false;\n    bVar5 = false;\n    bVar7 = false;\n    bVar9 = false;\n    bVar4 = false;\n    bVar10 = false;\n    bVar3 = true;\n    do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);\n  }" ({ "{") (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (do_statement "do {\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    } while (!bVar29);" (do "do") (compound_statement "{\n      iVar17 = 3;\n      __s2 = *(byte **)(iVar11 + uVar18 * 4);\n      pbVar22 = &DAT_0001303b;\n      pbVar25 = __s2;\n      do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar28 = false;\n      bVar27 = (!bVar27 && !bVar29) == bVar27;\n      if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      uVar18 = uVar18 + 1;\n      bVar27 = uVar2 < uVar18;\n      bVar29 = uVar2 == uVar18;\n    }" ({ "{") (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" (identifier "iVar17") (= "=") (number_literal "3")) (; ";")) (expression_statement "__s2 = *(byte **)(iVar11 + uVar18 * 4);" (assignment_expression "__s2 = *(byte **)(iVar11 + uVar18 * 4)" (identifier "__s2") (= "=") (pointer_expression "*(byte **)(iVar11 + uVar18 * 4)" (* "*") (cast_expression "(byte **)(iVar11 + uVar18 * 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + uVar18 * 4)" (( "(") (binary_expression "iVar11 + uVar18 * 4" (identifier "iVar11") (+ "+") (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "pbVar22 = &DAT_0001303b;" (assignment_expression "pbVar22 = &DAT_0001303b" (identifier "pbVar22") (= "=") (pointer_expression "&DAT_0001303b" (& "&") (identifier "DAT_0001303b"))) (; ";")) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" (identifier "pbVar25") (= "=") (identifier "__s2")) (; ";")) (do_statement "do {\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);" (do "do") (compound_statement "{\n        if (iVar17 == 0) break;\n        iVar17 = iVar17 + -1;\n        bVar27 = *pbVar22 < *pbVar25;\n        bVar29 = *pbVar22 == *pbVar25;\n        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar22 < *pbVar25;" (assignment_expression "bVar27 = *pbVar22 < *pbVar25" (identifier "bVar27") (= "=") (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar29 = *pbVar22 == *pbVar25;" (assignment_expression "bVar29 = *pbVar22 == *pbVar25" (identifier "bVar29") (= "=") (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar29)" (( "(") (identifier "bVar29") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar27 = (!bVar27 && !bVar29) == bVar27;" (assignment_expression "bVar27 = (!bVar27 && !bVar29) == bVar27" (identifier "bVar27") (= "=") (binary_expression "(!bVar27 && !bVar29) == bVar27" (parenthesized_expression "(!bVar27 && !bVar29)" (( "(") (binary_expression "!bVar27 && !bVar29" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar29" (! "!") (identifier "bVar29"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar27) {\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (compound_statement "{\n        iVar17 = 3;\n        pbVar22 = &DAT_0001303e;\n        pbVar25 = __s2;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);\n        bVar29 = false;\n        bVar27 = (!bVar28 && !bVar27) == bVar28;\n        if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" (identifier "iVar17") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar22 = &DAT_0001303e;" (assignment_expression "pbVar22 = &DAT_0001303e" (identifier "pbVar22") (= "=") (pointer_expression "&DAT_0001303e" (& "&") (identifier "DAT_0001303e"))) (; ";")) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" (identifier "pbVar25") (= "=") (identifier "__s2")) (; ";")) (do_statement "do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        } while (bVar27);" (do "do") (compound_statement "{\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          bVar28 = *pbVar22 < *pbVar25;\n          bVar27 = *pbVar22 == *pbVar25;\n          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar22 < *pbVar25;" (assignment_expression "bVar28 = *pbVar22 < *pbVar25" (identifier "bVar28") (= "=") (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" (identifier "bVar27") (= "=") (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "bVar27 = (!bVar28 && !bVar27) == bVar28;" (assignment_expression "bVar27 = (!bVar28 && !bVar27) == bVar28" (identifier "bVar27") (= "=") (binary_expression "(!bVar28 && !bVar27) == bVar28" (parenthesized_expression "(!bVar28 && !bVar27)" (( "(") (binary_expression "!bVar28 && !bVar27" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar27" (! "!") (identifier "bVar27"))) () ")")) (== "==") (identifier "bVar28"))) (; ";")) (if_statement "if (!bVar27) {\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (compound_statement "{\n          iVar17 = 3;\n          pbVar22 = &DAT_00013041;\n          pbVar25 = __s2;\n          do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);\n          bVar28 = false;\n          bVar27 = (!bVar29 && !bVar27) == bVar29;\n          if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" (identifier "iVar17") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar22 = &DAT_00013041;" (assignment_expression "pbVar22 = &DAT_00013041" (identifier "pbVar22") (= "=") (pointer_expression "&DAT_00013041" (& "&") (identifier "DAT_00013041"))) (; ";")) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" (identifier "pbVar25") (= "=") (identifier "__s2")) (; ";")) (do_statement "do {\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          } while (bVar27);" (do "do") (compound_statement "{\n            if (iVar17 == 0) break;\n            iVar17 = iVar17 + -1;\n            bVar29 = *pbVar22 < *pbVar25;\n            bVar27 = *pbVar22 == *pbVar25;\n            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar29 = *pbVar22 < *pbVar25;" (assignment_expression "bVar29 = *pbVar22 < *pbVar25" (identifier "bVar29") (= "=") (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" (identifier "bVar27") (= "=") (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar27 = (!bVar29 && !bVar27) == bVar29;" (assignment_expression "bVar27 = (!bVar29 && !bVar27) == bVar29" (identifier "bVar27") (= "=") (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" (( "(") (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" (! "!") (identifier "bVar29")) (&& "&&") (unary_expression "!bVar27" (! "!") (identifier "bVar27"))) () ")")) (== "==") (identifier "bVar29"))) (; ";")) (if_statement "if (bVar27) {\n            bVar10 = true;\n          }\n          else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n            bVar10 = true;\n          }" ({ "{") (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" (identifier "bVar10") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            iVar17 = 3;\n            pbVar22 = &DAT_00013044;\n            pbVar25 = __s2;\n            do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);\n            bVar29 = false;\n            bVar27 = (!bVar28 && !bVar27) == bVar28;\n            if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "iVar17 = 3;" (assignment_expression "iVar17 = 3" (identifier "iVar17") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar22 = &DAT_00013044;" (assignment_expression "pbVar22 = &DAT_00013044" (identifier "pbVar22") (= "=") (pointer_expression "&DAT_00013044" (& "&") (identifier "DAT_00013044"))) (; ";")) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" (identifier "pbVar25") (= "=") (identifier "__s2")) (; ";")) (do_statement "do {\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            } while (bVar27);" (do "do") (compound_statement "{\n              if (iVar17 == 0) break;\n              iVar17 = iVar17 + -1;\n              bVar28 = *pbVar22 < *pbVar25;\n              bVar27 = *pbVar22 == *pbVar25;\n              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;\n              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar22 < *pbVar25;" (assignment_expression "bVar28 = *pbVar22 < *pbVar25" (identifier "bVar28") (= "=") (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" (identifier "bVar27") (= "=") (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "bVar27 = (!bVar28 && !bVar27) == bVar28;" (assignment_expression "bVar27 = (!bVar28 && !bVar27) == bVar28" (identifier "bVar27") (= "=") (binary_expression "(!bVar28 && !bVar27) == bVar28" (parenthesized_expression "(!bVar28 && !bVar27)" (( "(") (binary_expression "!bVar28 && !bVar27" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar27" (! "!") (identifier "bVar27"))) () ")")) (== "==") (identifier "bVar28"))) (; ";")) (if_statement "if (bVar27) {\n              bVar4 = true;\n            }\n            else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n              bVar4 = true;\n            }" ({ "{") (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" (else "else") (compound_statement "{\n              iVar17 = 4;\n              pbVar22 = &DAT_00013047;\n              pbVar25 = __s2;\n              do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);\n              if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" (identifier "iVar17") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar22 = &DAT_00013047;" (assignment_expression "pbVar22 = &DAT_00013047" (identifier "pbVar22") (= "=") (pointer_expression "&DAT_00013047" (& "&") (identifier "DAT_00013047"))) (; ";")) (expression_statement "pbVar25 = __s2;" (assignment_expression "pbVar25 = __s2" (identifier "pbVar25") (= "=") (identifier "__s2")) (; ";")) (do_statement "do {\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              } while (bVar27);" (do "do") (compound_statement "{\n                pbVar21 = pbVar22;\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;\n                bVar29 = *pbVar22 < *pbVar25;\n                bVar27 = *pbVar22 == *pbVar25;\n                pbVar22 = pbVar21;\n                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;\n              }" ({ "{") (expression_statement "pbVar21 = pbVar22;" (assignment_expression "pbVar21 = pbVar22" (identifier "pbVar21") (= "=") (identifier "pbVar22")) (; ";")) (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar22 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar30 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar29 = *pbVar22 < *pbVar25;" (assignment_expression "bVar29 = *pbVar22 < *pbVar25" (identifier "bVar29") (= "=") (binary_expression "*pbVar22 < *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar27 = *pbVar22 == *pbVar25;" (assignment_expression "bVar27 = *pbVar22 == *pbVar25" (identifier "bVar27") (= "=") (binary_expression "*pbVar22 == *pbVar25" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" (identifier "pbVar22") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar30 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (; ";")) (if_statement "if ((!bVar29 && !bVar27) == bVar29) {\n                bVar5 = true;\n                bVar3 = false;\n              }\n              else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "((!bVar29 && !bVar27) == bVar29)" (( "(") (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" (( "(") (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" (! "!") (identifier "bVar29")) (&& "&&") (unary_expression "!bVar27" (! "!") (identifier "bVar27"))) () ")")) (== "==") (identifier "bVar29")) () ")")) (compound_statement "{\n                bVar5 = true;\n                bVar3 = false;\n              }" ({ "{") (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar17 = strcmp("-st",(char *)__s2);\n                if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar17 = strcmp("-st",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-st",(char *)__s2)" (identifier "iVar17") (= "=") (call_expression "strcmp("-st",(char *)__s2)" (identifier "strcmp") (argument_list "("-st",(char *)__s2)" (( "(") (string_literal ""-st"" (" """) (string_content "-st") (" """)) (, ",") (cast_expression "(char *)__s2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s2")) () ")")))) (; ";")) (if_statement "if (iVar17 == 0) {\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }\n                else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  bVar8 = true;\n                  bVar9 = true;\n                  bVar3 = false;\n                }" ({ "{") (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" (identifier "bVar8") (= "=") (true "true")) (; ";")) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" (identifier "bVar9") (= "=") (true "true")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar17 = strcmp("-sr",(char *)__s2);\n                  if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }\n                }" ({ "{") (expression_statement "iVar17 = strcmp("-sr",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-sr",(char *)__s2)" (identifier "iVar17") (= "=") (call_expression "strcmp("-sr",(char *)__s2)" (identifier "strcmp") (argument_list "("-sr",(char *)__s2)" (( "(") (string_literal ""-sr"" (" """) (string_content "-sr") (" """)) (, ",") (cast_expression "(char *)__s2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s2")) () ")")))) (; ";")) (if_statement "if (iVar17 == 0) {\n                    bVar6 = true;\n                    bVar3 = false;\n                  }\n                  else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    bVar6 = true;\n                    bVar3 = false;\n                  }" ({ "{") (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" (identifier "bVar6") (= "=") (true "true")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" (else "else") (compound_statement "{\n                    iVar17 = strcmp("-scd",(char *)__s2);\n                    if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }\n                    bVar7 = true;\n                    bVar3 = false;\n                  }" ({ "{") (expression_statement "iVar17 = strcmp("-scd",(char *)__s2);" (assignment_expression "iVar17 = strcmp("-scd",(char *)__s2)" (identifier "iVar17") (= "=") (call_expression "strcmp("-scd",(char *)__s2)" (identifier "strcmp") (argument_list "("-scd",(char *)__s2)" (( "(") (string_literal ""-scd"" (" """) (string_content "-scd") (" """)) (, ",") (cast_expression "(char *)__s2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s2")) () ")")))) (; ";")) (if_statement "if (iVar17 != 0) {\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      iVar11 = strcmp("-V",(char *)__s2);\n                      if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }\n                      pbVar22 = __s2;\n                      pbVar25 = pbVar21;\n                      iVar11 = strcmp("-?",(char *)__s2);\n                      if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }\n                      uVar24 = 1;\n                      puts(pcVar16);\n                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);\n                      goto LAB_00011620;\n                    }" ({ "{") (expression_statement "iVar11 = strcmp("-V",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-V",(char *)__s2)" (identifier "iVar11") (= "=") (call_expression "strcmp("-V",(char *)__s2)" (identifier "strcmp") (argument_list "("-V",(char *)__s2)" (( "(") (string_literal ""-V"" (" """) (string_content "-V") (" """)) (, ",") (cast_expression "(char *)__s2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s2")) () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");\n                    \n                        exit(0);\n                      }" ({ "{") (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010");" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" (identifier "__fprintf_chk") (argument_list "(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",\n                                      "1.12 20171010")" (( "(") (pointer_expression "*(undefined4 *)PTR_stderr_00014fec" (* "*") (cast_expression "(undefined4 *)PTR_stderr_00014fec" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_00014fec"))) (, ",") (number_literal "1") (, ",") (string_literal ""Version string: %s\n"" (" """) (string_content "Version string: %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""1.12 20171010"" (" """) (string_content "1.12 20171010") (" """)) () ")"))) (; ";")) (expression_statement "exit(0);" (call_expression "exit(0)" (identifier "exit") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar22 = __s2;" (assignment_expression "pbVar22 = __s2" (identifier "pbVar22") (= "=") (identifier "__s2")) (; ";")) (expression_statement "pbVar25 = pbVar21;" (assignment_expression "pbVar25 = pbVar21" (identifier "pbVar25") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "iVar11 = strcmp("-?",(char *)__s2);" (assignment_expression "iVar11 = strcmp("-?",(char *)__s2)" (identifier "iVar11") (= "=") (call_expression "strcmp("-?",(char *)__s2)" (identifier "strcmp") (argument_list "("-?",(char *)__s2)" (( "(") (string_literal ""-?"" (" """) (string_content "-?") (" """)) (, ",") (cast_expression "(char *)__s2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s2")) () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }\n                      else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";\n                      }" ({ "{") (labeled_statement "LAB_00011d70:\n                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";" (statement_identifier "LAB_00011d70") (: ":") (expression_statement "pcVar16 = "Show mapping from sg devices to other scsi device names\n";" (assignment_expression "pcVar16 = "Show mapping from sg devices to other scsi device names\n"" (identifier "pcVar16") (= "=") (string_literal ""Show mapping from sg devices to other scsi device names\n"" (" """) (string_content "Show mapping from sg devices to other scsi device names") (escape_sequence "\n") (" """))) (; ";"))) (} "}")) (else_clause "else {\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" (else "else") (compound_statement "{\n                        pbVar21 = (byte *)0x2;\n                        pbVar22 = __s2;\n                        pbVar25 = extraout_ECX_01;\n                        iVar11 = strncmp("-h",(char *)__s2,2);\n                        if (iVar11 == 0) goto LAB_00011d70;\n                        if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }\n                        pcVar16 = "Unknown argument";\n                      }" ({ "{") (expression_statement "pbVar21 = (byte *)0x2;" (assignment_expression "pbVar21 = (byte *)0x2" (identifier "pbVar21") (= "=") (cast_expression "(byte *)0x2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "pbVar22 = __s2;" (assignment_expression "pbVar22 = __s2" (identifier "pbVar22") (= "=") (identifier "__s2")) (; ";")) (expression_statement "pbVar25 = extraout_ECX_01;" (assignment_expression "pbVar25 = extraout_ECX_01" (identifier "pbVar25") (= "=") (identifier "extraout_ECX_01")) (; ";")) (expression_statement "iVar11 = strncmp("-h",(char *)__s2,2);" (assignment_expression "iVar11 = strncmp("-h",(char *)__s2,2)" (identifier "iVar11") (= "=") (call_expression "strncmp("-h",(char *)__s2,2)" (identifier "strncmp") (argument_list "("-h",(char *)__s2,2)" (( "(") (string_literal ""-h"" (" """) (string_content "-h") (" """)) (, ",") (cast_expression "(char *)__s2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s2")) (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_00011d70;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011d70;" (goto "goto") (statement_identifier "LAB_00011d70") (; ";"))) (if_statement "if (*__s2 == 0x2d) {\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }" (if "if") (parenthesized_expression "(*__s2 == 0x2d)" (( "(") (binary_expression "*__s2 == 0x2d" (pointer_expression "*__s2" (* "*") (identifier "__s2")) (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n                          uVar24 = 1;\n                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);\n                          FUN_00011fa0();\n                          goto LAB_00011620;\n                        }" ({ "{") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);" (call_expression "__printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01)" (identifier "__printf_chk") (argument_list "(1,"Unknown switch: %s\n",__s2,extraout_EDX_01)" (( "(") (number_literal "1") (, ",") (string_literal ""Unknown switch: %s\n"" (" """) (string_content "Unknown switch: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "__s2") (, ",") (identifier "extraout_EDX_01") () ")"))) (; ";")) (expression_statement "FUN_00011fa0();" (call_expression "FUN_00011fa0()" (identifier "FUN_00011fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00011620;" (goto "goto") (statement_identifier "LAB_00011620") (; ";")) (} "}"))) (expression_statement "pcVar16 = "Unknown argument";" (assignment_expression "pcVar16 = "Unknown argument"" (identifier "pcVar16") (= "=") (string_literal ""Unknown argument"" (" """) (string_content "Unknown argument") (" """))) (; ";")) (} "}")))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "puts(pcVar16);" (call_expression "puts(pcVar16)" (identifier "puts") (argument_list "(pcVar16)" (( "(") (identifier "pcVar16") () ")"))) (; ";")) (expression_statement "FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);" (call_expression "FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25)" (identifier "FUN_00011fa0") (argument_list "(pcVar16,pbVar22,pbVar21,pbVar25)" (( "(") (identifier "pcVar16") (, ",") (identifier "pbVar22") (, ",") (identifier "pbVar21") (, ",") (identifier "pbVar25") () ")"))) (; ";")) (goto_statement "goto LAB_00011620;" (goto "goto") (statement_identifier "LAB_00011620") (; ";")) (} "}"))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}"))) (} "}"))) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar27 = uVar2 < uVar18;" (assignment_expression "bVar27 = uVar2 < uVar18" (identifier "bVar27") (= "=") (binary_expression "uVar2 < uVar18" (identifier "uVar2") (< "<") (identifier "uVar18"))) (; ";")) (expression_statement "bVar29 = uVar2 == uVar18;" (assignment_expression "bVar29 = uVar2 == uVar18" (identifier "bVar29") (= "=") (binary_expression "uVar2 == uVar18" (identifier "uVar2") (== "==") (identifier "uVar18"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(!bVar29)" (( "(") (unary_expression "!bVar29" (! "!") (identifier "bVar29")) () ")")) (; ";")) (} "}")))) (expression_statement "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8)" (identifier "iVar11") (= "=") (call_expression "__xstat64(3,"/sys/class/scsi_generic",&local_e8)" (identifier "__xstat64") (argument_list "(3,"/sys/class/scsi_generic",&local_e8)" (( "(") (number_literal "3") (, ",") (string_literal ""/sys/class/scsi_generic"" (" """) (string_content "/sys/class/scsi_generic") (" """)) (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) () ")")))) (; ";")) (if_statement "if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }" (if "if") (parenthesized_expression "((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000))" (( "(") (binary_expression "(-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)" (parenthesized_expression "(-1 < iVar11)" (( "(") (binary_expression "-1 < iVar11" (number_literal "-1") (< "<") (identifier "iVar11")) () ")")) (&& "&&") (parenthesized_expression "((local_e8.st_mode & 0xf000) == 0x4000)" (( "(") (binary_expression "(local_e8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_e8.st_mode & 0xf000)" (( "(") (binary_expression "local_e8.st_mode & 0xf000" (field_expression "local_e8.st_mode" (identifier "local_e8") (. ".") (field_identifier "st_mode")) (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000")) () ")"))) () ")")) (compound_statement "{\n    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);\n    if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }\n    DAT_0005d140 = (int)local_f4;\n  }" ({ "{") (expression_statement "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);" (assignment_expression "local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" (identifier "local_f4") (= "=") (cast_expression "(char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" (identifier "scandir64") (argument_list "("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0)" (( "(") (string_literal ""/sys/class/scsi_generic"" (" """) (string_content "/sys/class/scsi_generic") (" """)) (, ",") (pointer_expression "&local_ec" (& "&") (identifier "local_ec")) (, ",") (identifier "FUN_00011f30") (, ",") (cast_expression "(__cmp *)0x0" (( "(") (type_descriptor "__cmp *" (type_identifier "__cmp") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))))) (; ";")) (if_statement "if ((int)local_f4 < 0) {\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }\n    else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" (if "if") (parenthesized_expression "((int)local_f4 < 0)" (( "(") (binary_expression "(int)local_f4 < 0" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar15 = __errno_location();\n      local_f4 = (char *)-*piVar15;\n    }" ({ "{") (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_f4 = (char *)-*piVar15;" (assignment_expression "local_f4 = (char *)-*piVar15" (identifier "local_f4") (= "=") (cast_expression "(char *)-*piVar15" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-*piVar15" (- "-") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))))) (; ";")) (} "}")) (else_clause "else {\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" (else "else") (compound_statement "{\n      if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }\n      free(local_ec);\n    }" ({ "{") (if_statement "if (local_f4 != (char *)0x0) {\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" (if "if") (parenthesized_expression "(local_f4 != (char *)0x0)" (( "(") (binary_expression "local_f4 != (char *)0x0" (identifier "local_f4") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar11 = 0;\n        do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);\n      }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        } while (local_f4 != (char *)iVar11);" (do "do") (compound_statement "{\n          ppdVar1 = local_ec + iVar11;\n          iVar11 = iVar11 + 1;\n          free(*ppdVar1);\n        }" ({ "{") (expression_statement "ppdVar1 = local_ec + iVar11;" (assignment_expression "ppdVar1 = local_ec + iVar11" (identifier "ppdVar1") (= "=") (binary_expression "local_ec + iVar11" (identifier "local_ec") (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "free(*ppdVar1);" (call_expression "free(*ppdVar1)" (identifier "free") (argument_list "(*ppdVar1)" (( "(") (pointer_expression "*ppdVar1" (* "*") (identifier "ppdVar1")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_f4 != (char *)iVar11)" (( "(") (binary_expression "local_f4 != (char *)iVar11" (identifier "local_f4") (!= "!=") (cast_expression "(char *)iVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar11"))) () ")")) (; ";")) (} "}"))) (expression_statement "free(local_ec);" (call_expression "free(local_ec)" (identifier "free") (argument_list "(local_ec)" (( "(") (identifier "local_ec") () ")"))) (; ";")) (} "}")))) (expression_statement "DAT_0005d140 = (int)local_f4;" (assignment_expression "DAT_0005d140 = (int)local_f4" (identifier "DAT_0005d140") (= "=") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4"))) (; ";")) (} "}"))) (expression_statement "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);" (assignment_expression "iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8)" (identifier "iVar11") (= "=") (call_expression "__xstat64(3,"/dev/.devfsd",&local_e8)" (identifier "__xstat64") (argument_list "(3,"/dev/.devfsd",&local_e8)" (( "(") (number_literal "3") (, ",") (string_literal ""/dev/.devfsd"" (" """) (string_content "/dev/.devfsd") (" """)) (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n    puts("# Note: the devfs pseudo file system is present");\n  }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puts("# Note: the devfs pseudo file system is present");\n  }" ({ "{") (expression_statement "puts("# Note: the devfs pseudo file system is present");" (call_expression "puts("# Note: the devfs pseudo file system is present")" (identifier "puts") (argument_list "("# Note: the devfs pseudo file system is present")" (( "(") (string_literal ""# Note: the devfs pseudo file system is present"" (" """) (string_content "# Note: the devfs pseudo file system is present") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_fc = &DAT_0001514c;" (assignment_expression "local_fc = &DAT_0001514c" (identifier "local_fc") (= "=") (pointer_expression "&DAT_0001514c" (& "&") (identifier "DAT_0001514c"))) (; ";")) (expression_statement "iVar11 = -1;" (assignment_expression "iVar11 = -1" (identifier "iVar11") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" (identifier "local_f8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_114 = 0;" (assignment_expression "local_114 = 0" (identifier "local_114") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" (identifier "local_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (do_statement "do {\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  } while( true );" (do "do") (compound_statement "{\n    iVar17 = local_f8 + 1;\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }\n    local_fc = local_fc + 0x12;\n    local_f8 = iVar17;\n  }" ({ "{") (expression_statement "iVar17 = local_f8 + 1;" (assignment_expression "iVar17 = local_f8 + 1" (identifier "iVar17") (= "=") (binary_expression "local_f8 + 1" (identifier "local_f8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }\n    else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_0005d140 == 0)" (( "(") (binary_expression "DAT_0005d140 == 0" (identifier "DAT_0005d140") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000124a0();\nLAB_00011449:\n      local_100 = local_64;\n      iVar12 = open64(local_100,0x800);\n      if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }\n      iVar14 = ioctl(iVar12,0x2276,local_fc);\n      if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }\n      iVar12 = close(iVar12);\n      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;\n      if (iVar12 < 0) break;\n    }" ({ "{") (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" (identifier "FUN_000124a0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00011449:\n      local_100 = local_64;" (statement_identifier "LAB_00011449") (: ":") (expression_statement "local_100 = local_64;" (assignment_expression "local_100 = local_64" (identifier "local_100") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "iVar12 = open64(local_100,0x800);" (assignment_expression "iVar12 = open64(local_100,0x800)" (identifier "iVar12") (= "=") (call_expression "open64(local_100,0x800)" (identifier "open64") (argument_list "(local_100,0x800)" (( "(") (identifier "local_100") (, ",") (number_literal "0x800") () ")")))) (; ";")) (if_statement "if (iVar12 < 0) {\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        puVar13 = (uint *)__errno_location();\n        uVar2 = *puVar13;\n        if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }\n        goto joined_r0x0001166b;\n      }" ({ "{") (expression_statement "puVar13 = (uint *)__errno_location();" (assignment_expression "puVar13 = (uint *)__errno_location()" (identifier "puVar13") (= "=") (cast_expression "(uint *)__errno_location()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" (identifier "uVar2") (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (if_statement "if (uVar2 == 0x10) {\n          local_fc[-3] = 0xfffffffe;\n        }\n        else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" (if "if") (parenthesized_expression "(uVar2 == 0x10)" (( "(") (binary_expression "uVar2 == 0x10" (identifier "uVar2") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n          local_fc[-3] = 0xfffffffe;\n        }" ({ "{") (expression_statement "local_fc[-3] = 0xfffffffe;" (assignment_expression "local_fc[-3] = 0xfffffffe" (subscript_expression "local_fc[-3]" (identifier "local_fc") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0xfffffffe")) (; ";")) (} "}")) (else_clause "else {\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" (else "else") (compound_statement "{\n          local_108 = local_108 + 1;\n          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }\n        }" ({ "{") (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" (identifier "local_108") (= "=") (binary_expression "local_108 + 1" (identifier "local_108") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }\n          else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" (if "if") (parenthesized_expression "(((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13))" (( "(") (binary_expression "((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)" (parenthesized_expression "((uVar2 & 0xfffffffb) == 2)" (( "(") (binary_expression "(uVar2 & 0xfffffffb) == 2" (parenthesized_expression "(uVar2 & 0xfffffffb)" (( "(") (binary_expression "uVar2 & 0xfffffffb" (identifier "uVar2") (& "&") (number_literal "0xfffffffb")) () ")")) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(uVar2 == 0x13)" (( "(") (binary_expression "uVar2 == 0x13" (identifier "uVar2") (== "==") (number_literal "0x13")) () ")"))) () ")")) (compound_statement "{\n            local_114 = local_114 + 1;\n            local_fc[-3] = 0xffffffff;\n          }" ({ "{") (expression_statement "local_114 = local_114 + 1;" (assignment_expression "local_114 = local_114 + 1" (identifier "local_114") (= "=") (binary_expression "local_114 + 1" (identifier "local_114") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_fc[-3] = 0xffffffff;" (assignment_expression "local_fc[-3] = 0xffffffff" (subscript_expression "local_fc[-3]" (identifier "local_fc") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" (else "else") (compound_statement "{\n            if (uVar2 == 0xd) {\n              bVar27 = true;\n            }\n            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);\n            perror(&DAT_00015040);\n          }" ({ "{") (if_statement "if (uVar2 == 0xd) {\n              bVar27 = true;\n            }" (if "if") (parenthesized_expression "(uVar2 == 0xd)" (( "(") (binary_expression "uVar2 == 0xd" (identifier "uVar2") (== "==") (number_literal "0xd")) () ")")) (compound_statement "{\n              bVar27 = true;\n            }" ({ "{") (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" (identifier "bVar27") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100)" (identifier "__snprintf_chk") (argument_list "(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100)" (( "(") (pointer_expression "&DAT_00015040" (& "&") (identifier "DAT_00015040")) (, ",") (number_literal "0x100") (, ",") (number_literal "1") (, ",") (number_literal "0x100") (, ",") (string_literal ""Error opening %s "" (" """) (string_content "Error opening %s ") (" """)) (, ",") (identifier "local_100") () ")"))) (; ";")) (expression_statement "perror(&DAT_00015040);" (call_expression "perror(&DAT_00015040)" (identifier "perror") (argument_list "(&DAT_00015040)" (( "(") (pointer_expression "&DAT_00015040" (& "&") (identifier "DAT_00015040")) () ")"))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto joined_r0x0001166b;" (goto "goto") (statement_identifier "joined_r0x0001166b") (; ";")) (} "}"))) (expression_statement "iVar14 = ioctl(iVar12,0x2276,local_fc);" (assignment_expression "iVar14 = ioctl(iVar12,0x2276,local_fc)" (identifier "iVar14") (= "=") (call_expression "ioctl(iVar12,0x2276,local_fc)" (identifier "ioctl") (argument_list "(iVar12,0x2276,local_fc)" (( "(") (identifier "iVar12") (, ",") (number_literal "0x2276") (, ",") (identifier "local_fc") () ")")))) (; ";")) (if_statement "if (iVar14 < 0) {\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }\n      else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" (if "if") (parenthesized_expression "(iVar14 < 0)" (( "(") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);\n        perror(&DAT_00015040);\n        local_108 = local_108 + 1;\n      }" ({ "{") (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" (identifier "__snprintf_chk") (argument_list "(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,\n                       extraout_ECX,extraout_ECX)" (( "(") (pointer_expression "&DAT_00015040" (& "&") (identifier "DAT_00015040")) (, ",") (number_literal "0x100") (, ",") (number_literal "1") (, ",") (number_literal "0x100") (, ",") (string_literal ""device %s failed on sg ioctl, skip"" (" """) (string_content "device %s failed on sg ioctl, skip") (" """)) (, ",") (identifier "local_100") (, ",") (identifier "extraout_ECX") (, ",") (identifier "extraout_ECX") () ")"))) (; ";")) (expression_statement "perror(&DAT_00015040);" (call_expression "perror(&DAT_00015040)" (identifier "perror") (argument_list "(&DAT_00015040)" (( "(") (pointer_expression "&DAT_00015040" (& "&") (identifier "DAT_00015040")) () ")"))) (; ";")) (expression_statement "local_108 = local_108 + 1;" (assignment_expression "local_108 = local_108 + 1" (identifier "local_108") (= "=") (binary_expression "local_108 + 1" (identifier "local_108") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" (else "else") (compound_statement "{\n        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }\n        local_fc[-3] = 1;\n        local_fc[-1] = 0xffffffff;\n        iVar11 = local_f8;\n      }" ({ "{") (if_statement "if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }" (if "if") (parenthesized_expression "((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0))" (( "(") (binary_expression "(bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)" (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (&& "&&") (parenthesized_expression "(iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)" (( "(") (comma_expression "iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0" (assignment_expression "iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0)" (identifier "iVar11") (= "=") (call_expression "sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0)" (identifier "sg_ll_inquiry") (argument_list "(iVar12,0,0,0,local_88,0x24,1,0)" (( "(") (identifier "iVar12") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_88") (, ",") (number_literal "0x24") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          local_fc[8] = local_80;\n          local_fc[9] = local_7c;\n          puVar23 = local_78;\n          puVar26 = local_fc + 10;\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }\n          local_fc[0xe] = local_68;\n        }" ({ "{") (expression_statement "local_fc[8] = local_80;" (assignment_expression "local_fc[8] = local_80" (subscript_expression "local_fc[8]" (identifier "local_fc") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "local_80")) (; ";")) (expression_statement "local_fc[9] = local_7c;" (assignment_expression "local_fc[9] = local_7c" (subscript_expression "local_fc[9]" (identifier "local_fc") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "puVar23 = local_78;" (assignment_expression "puVar23 = local_78" (identifier "puVar23") (= "=") (identifier "local_78")) (; ";")) (expression_statement "puVar26 = local_fc + 10;" (assignment_expression "puVar26 = local_fc + 10" (identifier "puVar26") (= "=") (binary_expression "local_fc + 10" (identifier "local_fc") (+ "+") (number_literal "10"))) (; ";")) (for_statement "for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar11 = 4" (identifier "iVar11") (= "=") (number_literal "4")) (; ";") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar26 = *puVar23;\n            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;\n            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;\n          }" ({ "{") (expression_statement "*puVar26 = *puVar23;" (assignment_expression "*puVar26 = *puVar23" (pointer_expression "*puVar26" (* "*") (identifier "puVar26")) (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (expression_statement "puVar23 = puVar23 + (uint)bVar30 * -2 + 1;" (assignment_expression "puVar23 = puVar23 + (uint)bVar30 * -2 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + (uint)bVar30 * -2 + 1" (binary_expression "puVar23 + (uint)bVar30 * -2" (identifier "puVar23") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar26 = puVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar30 * -2 + 1" (identifier "puVar26") (= "=") (binary_expression "puVar26 + (uint)bVar30 * -2 + 1" (binary_expression "puVar26 + (uint)bVar30 * -2" (identifier "puVar26") (+ "+") (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_fc[0xe] = local_68;" (assignment_expression "local_fc[0xe] = local_68" (subscript_expression "local_fc[0xe]" (identifier "local_fc") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "local_68")) (; ";")) (} "}"))) (expression_statement "local_fc[-3] = 1;" (assignment_expression "local_fc[-3] = 1" (subscript_expression "local_fc[-3]" (identifier "local_fc") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_fc[-1] = 0xffffffff;" (assignment_expression "local_fc[-1] = 0xffffffff" (subscript_expression "local_fc[-1]" (identifier "local_fc") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar11 = local_f8;" (assignment_expression "iVar11 = local_f8" (identifier "iVar11") (= "=") (identifier "local_f8")) (; ";")) (} "}")))) (expression_statement "iVar12 = close(iVar12);" (assignment_expression "iVar12 = close(iVar12)" (identifier "iVar12") (= "=") (call_expression "close(iVar12)" (identifier "close") (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")")))) (; ";")) (if_statement "if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;" (if "if") (parenthesized_expression "((0xfff < iVar17) || (4 < local_108))" (( "(") (binary_expression "(0xfff < iVar17) || (4 < local_108)" (parenthesized_expression "(0xfff < iVar17)" (( "(") (binary_expression "0xfff < iVar17" (number_literal "0xfff") (< "<") (identifier "iVar17")) () ")")) (|| "||") (parenthesized_expression "(4 < local_108)" (( "(") (binary_expression "4 < local_108" (number_literal "4") (< "<") (identifier "local_108")) () ")"))) () ")")) (goto_statement "goto LAB_00011671;" (goto "goto") (statement_identifier "LAB_00011671") (; ";"))) (if_statement "if (iVar12 < 0) break;" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (else_clause "else {\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" (else "else") (compound_statement "{\n      if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }\njoined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }\n    }" ({ "{") (if_statement "if ((&DAT_0005d160)[local_f8] != '\0') {\n        FUN_000124a0();\n        goto LAB_00011449;\n      }" (if "if") (parenthesized_expression "((&DAT_0005d160)[local_f8] != '\0')" (( "(") (binary_expression "(&DAT_0005d160)[local_f8] != '\0'" (subscript_expression "(&DAT_0005d160)[local_f8]" (parenthesized_expression "(&DAT_0005d160)" (( "(") (pointer_expression "&DAT_0005d160" (& "&") (identifier "DAT_0005d160")) () ")")) ([ "[") (identifier "local_f8") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        FUN_000124a0();\n        goto LAB_00011449;\n      }" ({ "{") (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" (identifier "FUN_000124a0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00011449;" (goto "goto") (statement_identifier "LAB_00011449") (; ";")) (} "}"))) (labeled_statement "joined_r0x0001166b:\n      if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" (statement_identifier "joined_r0x0001166b") (: ":") (if_statement "if ((4 < local_108) || (0xfff < iVar17)) {\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" (if "if") (parenthesized_expression "((4 < local_108) || (0xfff < iVar17))" (( "(") (binary_expression "(4 < local_108) || (0xfff < iVar17)" (parenthesized_expression "(4 < local_108)" (( "(") (binary_expression "4 < local_108" (number_literal "4") (< "<") (identifier "local_108")) () ")")) (|| "||") (parenthesized_expression "(0xfff < iVar17)" (( "(") (binary_expression "0xfff < iVar17" (number_literal "0xfff") (< "<") (identifier "iVar17")) () ")"))) () ")")) (compound_statement "{\nLAB_00011671:\n        iVar17 = 4;\n        if (3 < local_114) {\n          iVar17 = local_114;\n        }\n        if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }\n        if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }\n        if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }\n        if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }\n        if (iVar11 == -1) goto LAB_0001193f;\n        piVar15 = &DAT_00015140;\n        pcVar16 = "  some error";\n        if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }\n        pcVar19 = "  not present";\n        if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }\n        pcVar20 = "  busy";\n        if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }\n        iVar17 = 0;\n        goto LAB_00011770;\n      }" ({ "{") (labeled_statement "LAB_00011671:\n        iVar17 = 4;" (statement_identifier "LAB_00011671") (: ":") (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" (identifier "iVar17") (= "=") (number_literal "4")) (; ";"))) (if_statement "if (3 < local_114) {\n          iVar17 = local_114;\n        }" (if "if") (parenthesized_expression "(3 < local_114)" (( "(") (binary_expression "3 < local_114" (number_literal "3") (< "<") (identifier "local_114")) () ")")) (compound_statement "{\n          iVar17 = local_114;\n        }" ({ "{") (expression_statement "iVar17 = local_114;" (assignment_expression "iVar17 = local_114" (identifier "iVar17") (= "=") (identifier "local_114")) (; ";")) (} "}"))) (if_statement "if (iVar17 < local_108) {\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" (if "if") (parenthesized_expression "(iVar17 < local_108)" (( "(") (binary_expression "iVar17 < local_108" (identifier "iVar17") (< "<") (identifier "local_108")) () ")")) (compound_statement "{\n          uVar24 = 0xf;\n          puts("Stopping because there are too many error");\n          if (bVar27) {\n            puts("    root access may be required");\n          }\n          goto LAB_00011620;\n        }" ({ "{") (expression_statement "uVar24 = 0xf;" (assignment_expression "uVar24 = 0xf" (identifier "uVar24") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "puts("Stopping because there are too many error");" (call_expression "puts("Stopping because there are too many error")" (identifier "puts") (argument_list "("Stopping because there are too many error")" (( "(") (string_literal ""Stopping because there are too many error"" (" """) (string_content "Stopping because there are too many error") (" """)) () ")"))) (; ";")) (if_statement "if (bVar27) {\n            puts("    root access may be required");\n          }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n            puts("    root access may be required");\n          }" ({ "{") (expression_statement "puts("    root access may be required");" (call_expression "puts("    root access may be required")" (identifier "puts") (argument_list "("    root access may be required")" (( "(") (string_literal ""    root access may be required"" (" """) (string_content "    root access may be required") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00011620;" (goto "goto") (statement_identifier "LAB_00011620") (; ";")) (} "}"))) (if_statement "if (iVar11 == -1) {\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }" (if "if") (parenthesized_expression "(iVar11 == -1)" (( "(") (binary_expression "iVar11 == -1" (identifier "iVar11") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n          iVar17 = puts("Stopping because no sg devices found");\n          local_114 = extraout_EDX_00;\n        }" ({ "{") (expression_statement "iVar17 = puts("Stopping because no sg devices found");" (assignment_expression "iVar17 = puts("Stopping because no sg devices found")" (identifier "iVar17") (= "=") (call_expression "puts("Stopping because no sg devices found")" (identifier "puts") (argument_list "("Stopping because no sg devices found")" (( "(") (string_literal ""Stopping because no sg devices found"" (" """) (string_content "Stopping because no sg devices found") (" """)) () ")")))) (; ";")) (expression_statement "local_114 = extraout_EDX_00;" (assignment_expression "local_114 = extraout_EDX_00" (identifier "local_114") (= "=") (identifier "extraout_EDX_00")) (; ";")) (} "}"))) (if_statement "if ((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }" (if "if") (parenthesized_expression "((((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8))" (( "(") (binary_expression "(((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)" (parenthesized_expression "(((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3))" (( "(") (binary_expression "((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&\n            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)" (parenthesized_expression "((((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7))" (( "(") (binary_expression "(((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)" (parenthesized_expression "(((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3))" (( "(") (binary_expression "((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&\n              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)" (parenthesized_expression "((((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6))" (( "(") (binary_expression "(((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)" (parenthesized_expression "(((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3))" (( "(") (binary_expression "((bVar3) || (bVar5)) &&\n                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)" (parenthesized_expression "((bVar3) || (bVar5))" (( "(") (binary_expression "(bVar3) || (bVar5)" (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (|| "||") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)" (( "(") (comma_expression "iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3" (assignment_expression "iVar17 = FUN_000121f0(1,iVar11,local_114,local_114)" (identifier "iVar17") (= "=") (call_expression "FUN_000121f0(1,iVar11,local_114,local_114)" (identifier "FUN_000121f0") (argument_list "(1,iVar11,local_114,local_114)" (( "(") (number_literal "1") (, ",") (identifier "iVar11") (, ",") (identifier "local_114") (, ",") (identifier "local_114") () ")")))) (, ",") (identifier "bVar3")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)" (( "(") (comma_expression "iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3" (assignment_expression "iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17)" (identifier "iVar17") (= "=") (call_expression "FUN_000121f0(2,iVar11,iVar17,iVar17)" (identifier "FUN_000121f0") (argument_list "(2,iVar11,iVar17,iVar17)" (( "(") (number_literal "2") (, ",") (identifier "iVar11") (, ",") (identifier "iVar17") (, ",") (identifier "iVar17") () ")")))) (, ",") (identifier "bVar3")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)" (( "(") (comma_expression "iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3" (assignment_expression "iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17)" (identifier "iVar17") (= "=") (call_expression "FUN_000121f0(4,iVar11,iVar17,iVar17)" (identifier "FUN_000121f0") (argument_list "(4,iVar11,iVar17,iVar17)" (( "(") (number_literal "4") (, ",") (identifier "iVar11") (, ",") (identifier "iVar17") (, ",") (identifier "iVar17") () ")")))) (, ",") (identifier "bVar3")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")"))) () ")")) (compound_statement "{\n          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);\n        }" ({ "{") (expression_statement "iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);" (assignment_expression "iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17)" (identifier "iVar17") (= "=") (call_expression "FUN_000121f0(3,iVar11,iVar17,iVar17)" (identifier "FUN_000121f0") (argument_list "(3,iVar11,iVar17,iVar17)" (( "(") (number_literal "3") (, ",") (identifier "iVar11") (, ",") (identifier "iVar17") (, ",") (identifier "iVar17") () ")")))) (; ";")) (} "}"))) (if_statement "if ((bVar9) || (bVar3)) {\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }" (if "if") (parenthesized_expression "((bVar9) || (bVar3))" (( "(") (binary_expression "(bVar9) || (bVar3)" (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (|| "||") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")"))) () ")")) (compound_statement "{\n          FUN_000121f0(5,iVar11,iVar17,iVar17);\n        }" ({ "{") (expression_statement "FUN_000121f0(5,iVar11,iVar17,iVar17);" (call_expression "FUN_000121f0(5,iVar11,iVar17,iVar17)" (identifier "FUN_000121f0") (argument_list "(5,iVar11,iVar17,iVar17)" (( "(") (number_literal "5") (, ",") (identifier "iVar11") (, ",") (identifier "iVar17") (, ",") (identifier "iVar17") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar11 == -1) goto LAB_0001193f;" (if "if") (parenthesized_expression "(iVar11 == -1)" (( "(") (binary_expression "iVar11 == -1" (identifier "iVar11") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001193f;" (goto "goto") (statement_identifier "LAB_0001193f") (; ";"))) (expression_statement "piVar15 = &DAT_00015140;" (assignment_expression "piVar15 = &DAT_00015140" (identifier "piVar15") (= "=") (pointer_expression "&DAT_00015140" (& "&") (identifier "DAT_00015140"))) (; ";")) (expression_statement "pcVar16 = "  some error";" (assignment_expression "pcVar16 = "  some error"" (identifier "pcVar16") (= "=") (string_literal ""  some error"" (" """) (string_content "  some error") (" """))) (; ";")) (if_statement "if (bVar10) {\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n          pcVar16 = "  -3 -3 -3 -3  -3";\n        }" ({ "{") (expression_statement "pcVar16 = "  -3 -3 -3 -3  -3";" (assignment_expression "pcVar16 = "  -3 -3 -3 -3  -3"" (identifier "pcVar16") (= "=") (string_literal ""  -3 -3 -3 -3  -3"" (" """) (string_content "  -3 -3 -3 -3  -3") (" """))) (; ";")) (} "}"))) (expression_statement "pcVar19 = "  not present";" (assignment_expression "pcVar19 = "  not present"" (identifier "pcVar19") (= "=") (string_literal ""  not present"" (" """) (string_content "  not present") (" """))) (; ";")) (if_statement "if (bVar10) {\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n          pcVar19 = "  -1 -1 -1 -1  -1";\n        }" ({ "{") (expression_statement "pcVar19 = "  -1 -1 -1 -1  -1";" (assignment_expression "pcVar19 = "  -1 -1 -1 -1  -1"" (identifier "pcVar19") (= "=") (string_literal ""  -1 -1 -1 -1  -1"" (" """) (string_content "  -1 -1 -1 -1  -1") (" """))) (; ";")) (} "}"))) (expression_statement "pcVar20 = "  busy";" (assignment_expression "pcVar20 = "  busy"" (identifier "pcVar20") (= "=") (string_literal ""  busy"" (" """) (string_content "  busy") (" """))) (; ";")) (if_statement "if (bVar10) {\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n          pcVar20 = "  -2 -2 -2 -2  -2";\n        }" ({ "{") (expression_statement "pcVar20 = "  -2 -2 -2 -2  -2";" (assignment_expression "pcVar20 = "  -2 -2 -2 -2  -2"" (identifier "pcVar20") (= "=") (string_literal ""  -2 -2 -2 -2  -2"" (" """) (string_content "  -2 -2 -2 -2  -2") (" """))) (; ";")) (} "}"))) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00011770;" (goto "goto") (statement_identifier "LAB_00011770") (; ";")) (} "}")))) (} "}")))) (expression_statement "local_fc = local_fc + 0x12;" (assignment_expression "local_fc = local_fc + 0x12" (identifier "local_fc") (= "=") (binary_expression "local_fc + 0x12" (identifier "local_fc") (+ "+") (number_literal "0x12"))) (; ";")) (expression_statement "local_f8 = iVar17;" (assignment_expression "local_f8 = iVar17" (identifier "local_f8") (= "=") (identifier "iVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (expression_statement "uVar24 = 0xf;" (assignment_expression "uVar24 = 0xf" (identifier "uVar24") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);" (call_expression "__snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12)" (identifier "__snprintf_chk") (argument_list "(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12)" (( "(") (pointer_expression "&DAT_00015040" (& "&") (identifier "DAT_00015040")) (, ",") (number_literal "0x100") (, ",") (number_literal "1") (, ",") (number_literal "0x100") (, ",") (string_literal ""Error closing %s "" (" """) (string_content "Error closing %s ") (" """)) (, ",") (identifier "local_100") (, ",") (identifier "iVar12") (, ",") (identifier "iVar12") () ")"))) (; ";")) (expression_statement "perror("sg_map: close error");" (call_expression "perror("sg_map: close error")" (identifier "perror") (argument_list "("sg_map: close error")" (( "(") (string_literal ""sg_map: close error"" (" """) (string_content "sg_map: close error") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011620;" (goto "goto") (statement_identifier "LAB_00011620") (; ";")) (labeled_statement "LAB_00011770:\n  do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);" (statement_identifier "LAB_00011770") (: ":") (do_statement "do {\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  } while (iVar11 + 1 != iVar17);" (do "do") (compound_statement "{\n    if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }\n    iVar17 = iVar17 + 1;\n    piVar15 = piVar15 + 0x12;\n  }" ({ "{") (if_statement "if (DAT_0005d140 == 0) {\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }\n    else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" (if "if") (parenthesized_expression "(DAT_0005d140 == 0)" (( "(") (binary_expression "DAT_0005d140 == 0" (identifier "DAT_0005d140") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000124a0();\nLAB_000117a1:\n      local_f4 = local_64;\n      puVar31 = &DAT_0001318b;\n      pcVar32 = local_f4;\n      __printf_chk(1,&DAT_0001318b,local_f4);\n      iVar12 = *piVar15;\n      if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }\nLAB_00011920:\n      putchar(10);\n    }" ({ "{") (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" (identifier "FUN_000124a0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000117a1:\n      local_f4 = local_64;" (statement_identifier "LAB_000117a1") (: ":") (expression_statement "local_f4 = local_64;" (assignment_expression "local_f4 = local_64" (identifier "local_f4") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "puVar31 = &DAT_0001318b;" (assignment_expression "puVar31 = &DAT_0001318b" (identifier "puVar31") (= "=") (pointer_expression "&DAT_0001318b" (& "&") (identifier "DAT_0001318b"))) (; ";")) (expression_statement "pcVar32 = local_f4;" (assignment_expression "pcVar32 = local_f4" (identifier "pcVar32") (= "=") (identifier "local_f4")) (; ";")) (expression_statement "__printf_chk(1,&DAT_0001318b,local_f4);" (call_expression "__printf_chk(1,&DAT_0001318b,local_f4)" (identifier "__printf_chk") (argument_list "(1,&DAT_0001318b,local_f4)" (( "(") (number_literal "1") (, ",") (pointer_expression "&DAT_0001318b" (& "&") (identifier "DAT_0001318b")) (, ",") (identifier "local_f4") () ")"))) (; ";")) (expression_statement "iVar12 = *piVar15;" (assignment_expression "iVar12 = *piVar15" (identifier "iVar12") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (if_statement "if (iVar12 == -1) {\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" (if "if") (parenthesized_expression "(iVar12 == -1)" (( "(") (binary_expression "iVar12 == -1" (identifier "iVar12") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);\n      }" ({ "{") (expression_statement "__printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);" (call_expression "__printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00)" (identifier "__printf_chk") (argument_list "(1,pcVar19,extraout_ECX_00,extraout_ECX_00)" (( "(") (number_literal "1") (, ",") (identifier "pcVar19") (, ",") (identifier "extraout_ECX_00") (, ",") (identifier "extraout_ECX_00") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }\n        if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }\n        if (iVar12 != 1) goto LAB_000119e2;\n        if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }\n        switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }\n        FUN_00012070(uVar24);\n        puVar31 = &UNK_00013189;\n        __printf_chk(1,&UNK_00013189,local_f4);\n        pcVar32 = local_f4;\nLAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }\n      }" ({ "{") (if_statement "if (iVar12 < 0) {\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }\n          goto LAB_00011920;\n        }" ({ "{") (if_statement "if (iVar12 == -2) {\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }\n          else {\nLAB_000119e2:\n            puts("  bad logic");\n          }" (if "if") (parenthesized_expression "(iVar12 == -2)" (( "(") (binary_expression "iVar12 == -2" (identifier "iVar12") (== "==") (number_literal "-2")) () ")")) (compound_statement "{\n            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);\n          }" ({ "{") (expression_statement "__printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);" (call_expression "__printf_chk(1,pcVar20,0xfffffffe,0xfffffffe)" (identifier "__printf_chk") (argument_list "(1,pcVar20,0xfffffffe,0xfffffffe)" (( "(") (number_literal "1") (, ",") (identifier "pcVar20") (, ",") (number_literal "0xfffffffe") (, ",") (number_literal "0xfffffffe") () ")"))) (; ";")) (} "}")) (else_clause "else {\nLAB_000119e2:\n            puts("  bad logic");\n          }" (else "else") (compound_statement "{\nLAB_000119e2:\n            puts("  bad logic");\n          }" ({ "{") (labeled_statement "LAB_000119e2:\n            puts("  bad logic");" (statement_identifier "LAB_000119e2") (: ":") (expression_statement "puts("  bad logic");" (call_expression "puts("  bad logic")" (identifier "puts") (argument_list "("  bad logic")" (( "(") (string_literal ""  bad logic"" (" """) (string_content "  bad logic") (" """)) () ")"))) (; ";"))) (} "}")))) (goto_statement "goto LAB_00011920;" (goto "goto") (statement_identifier "LAB_00011920") (; ";")) (} "}"))) (if_statement "if (iVar12 == 0) {\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);\n          goto LAB_00011920;\n        }" ({ "{") (expression_statement "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);" (call_expression "__printf_chk(1,pcVar16,extraout_EDX,extraout_EDX)" (identifier "__printf_chk") (argument_list "(1,pcVar16,extraout_EDX,extraout_EDX)" (( "(") (number_literal "1") (, ",") (identifier "pcVar16") (, ",") (identifier "extraout_EDX") (, ",") (identifier "extraout_EDX") () ")"))) (; ";")) (goto_statement "goto LAB_00011920;" (goto "goto") (statement_identifier "LAB_00011920") (; ";")) (} "}"))) (if_statement "if (iVar12 != 1) goto LAB_000119e2;" (if "if") (parenthesized_expression "(iVar12 != 1)" (( "(") (binary_expression "iVar12 != 1" (identifier "iVar12") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_000119e2;" (goto "goto") (statement_identifier "LAB_000119e2") (; ";"))) (if_statement "if (bVar10) {\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n          pcVar32 = (char *)piVar15[7];\n          puVar31 = (undefined *)piVar15[6];\n          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);\n        }" ({ "{") (expression_statement "pcVar32 = (char *)piVar15[7];" (assignment_expression "pcVar32 = (char *)piVar15[7]" (identifier "pcVar32") (= "=") (cast_expression "(char *)piVar15[7]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "puVar31 = (undefined *)piVar15[6];" (assignment_expression "puVar31 = (undefined *)piVar15[6]" (identifier "puVar31") (= "=") (cast_expression "(undefined *)piVar15[6]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar15[6]" (identifier "piVar15") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "__printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);" (call_expression "__printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1)" (identifier "__printf_chk") (argument_list "(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1)" (( "(") (number_literal "1") (, ",") (string_literal ""  %d %d %d %d  %d"" (" """) (string_content "  %d %d %d %d  %d") (" """)) (, ",") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "puVar31") (, ",") (identifier "pcVar32") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (switch_statement "switch(piVar15[1]) {\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }" (switch "switch") (parenthesized_expression "(piVar15[1])" (( "(") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) () ")")) (compound_statement "{\n        case 1:\n          uVar24 = 0;\n          break;\n        case 2:\n          uVar24 = 1;\n          break;\n        case 3:\n          uVar24 = 1;\n          break;\n        case 4:\n          uVar24 = 1;\n          break;\n        case 5:\n          uVar24 = 1;\n          break;\n        default:\n          goto LAB_000119b0;\n        }" ({ "{") (case_statement "case 1:\n          uVar24 = 0;\n          break;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n          uVar24 = 1;\n          break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n          uVar24 = 1;\n          break;" (case "case") (number_literal "3") (: ":") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n          uVar24 = 1;\n          break;" (case "case") (number_literal "4") (: ":") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n          uVar24 = 1;\n          break;" (case "case") (number_literal "5") (: ":") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n          goto LAB_000119b0;" (default "default") (: ":") (goto_statement "goto LAB_000119b0;" (goto "goto") (statement_identifier "LAB_000119b0") (; ";"))) (} "}"))) (expression_statement "FUN_00012070(uVar24);" (call_expression "FUN_00012070(uVar24)" (identifier "FUN_00012070") (argument_list "(uVar24)" (( "(") (identifier "uVar24") () ")"))) (; ";")) (expression_statement "puVar31 = &UNK_00013189;" (assignment_expression "puVar31 = &UNK_00013189" (identifier "puVar31") (= "=") (pointer_expression "&UNK_00013189" (& "&") (identifier "UNK_00013189"))) (; ";")) (expression_statement "__printf_chk(1,&UNK_00013189,local_f4);" (call_expression "__printf_chk(1,&UNK_00013189,local_f4)" (identifier "__printf_chk") (argument_list "(1,&UNK_00013189,local_f4)" (( "(") (number_literal "1") (, ",") (pointer_expression "&UNK_00013189" (& "&") (identifier "UNK_00013189")) (, ",") (identifier "local_f4") () ")"))) (; ";")) (expression_statement "pcVar32 = local_f4;" (assignment_expression "pcVar32 = local_f4" (identifier "pcVar32") (= "=") (identifier "local_f4")) (; ";")) (labeled_statement "LAB_000119b0:\n        if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" (statement_identifier "LAB_000119b0") (: ":") (if_statement "if (bVar4) {\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);\n        }" ({ "{") (expression_statement "__printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32);" (call_expression "__printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32)" (identifier "__printf_chk") (argument_list "(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,\n                       pcVar32)" (( "(") (number_literal "1") (, ",") (string_literal ""  %.8s  %.16s  %.4s"" (" """) (string_content "  %.8s  %.16s  %.4s") (" """)) (, ",") (binary_expression "piVar15 + 0xb" (identifier "piVar15") (+ "+") (number_literal "0xb")) (, ",") (binary_expression "piVar15 + 0xd" (identifier "piVar15") (+ "+") (number_literal "0xd")) (, ",") (binary_expression "piVar15 + 0x11" (identifier "piVar15") (+ "+") (number_literal "0x11")) (, ",") (identifier "puVar31") (, ",") (identifier "pcVar32") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00011920:\n      putchar(10);" (statement_identifier "LAB_00011920") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (} "}")) (else_clause "else if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" (else "else") (if_statement "if ((&DAT_0005d160)[iVar17] != '\0') {\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" (if "if") (parenthesized_expression "((&DAT_0005d160)[iVar17] != '\0')" (( "(") (binary_expression "(&DAT_0005d160)[iVar17] != '\0'" (subscript_expression "(&DAT_0005d160)[iVar17]" (parenthesized_expression "(&DAT_0005d160)" (( "(") (pointer_expression "&DAT_0005d160" (& "&") (identifier "DAT_0005d160")) () ")")) ([ "[") (identifier "iVar17") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_000124a0();\n      goto LAB_000117a1;\n    }" ({ "{") (expression_statement "FUN_000124a0();" (call_expression "FUN_000124a0()" (identifier "FUN_000124a0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000117a1;" (goto "goto") (statement_identifier "LAB_000117a1") (; ";")) (} "}"))))) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar15 = piVar15 + 0x12;" (assignment_expression "piVar15 = piVar15 + 0x12" (identifier "piVar15") (= "=") (binary_expression "piVar15 + 0x12" (identifier "piVar15") (+ "+") (number_literal "0x12"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 + 1 != iVar17)" (( "(") (binary_expression "iVar11 + 1 != iVar17" (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (!= "!=") (identifier "iVar17")) () ")")) (; ";"))) (labeled_statement "LAB_0001193f:\n  uVar24 = 0;" (statement_identifier "LAB_0001193f") (: ":") (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_00011620:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }" (statement_identifier "LAB_00011620") (: ":") (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\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    return uVar24;\n  }" ({ "{") (return_statement "return uVar24;" (return "return") (identifier "uVar24") (; ";")) (} "}")))) (expression_statement "FUN_00012680();" (call_expression "FUN_00012680()" (identifier "FUN_00012680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

int function_1(int var_2,char **argv)

{
  type_1 **ppdVar1;
  type_2 *__s2;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  char **ppcVar10;
  int var_10;
  type_3 *puVar12;
  int *piVar13;
  int var_3;
  type_4 extraout_ECX;
  type_4 extraout_ECX_00;
  type_3 var_17;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  type_4 extraout_EDX;
  char *pcVar19;
  type_4 extraout_EDX_00;
  type_2 *var_4;
  char *var_38;
  char *var_41;
  type_4 *var_35;
  type_2 *var_5;
  type_5 *var_42;
  type_4 *var_36;
  int var_1;
  bool var_6;
  bool var_7;
  bool var_8;
  type_2 bVar29;
  type_6 do_numeric;
  type_7 *puVar30;
  type_8 in_stack_fffffed0;
  int var_30;
  int var_29;
  type_2 local_101;
  char *local_100;
  int var_28;
  char *var_24;
  char *var_21;
  type_1 **var_22;
  type_9 local_e8;
  type_8 local_88 [8];
  type_4 local_80;
  type_4 local_7c;
  type_4 local_78 [4];
  type_4 local_68;
  char local_64 [64];
  int var_43;
  int *local_18;
  
  ppcVar10 = argv;
  var_10 = var_2;
  bVar29 = 0;
  local_18 = &var_2;
  var_43 = *(int *)(var_1 + 0x14);
  var_6 = var_2 == 0;
  var_8 = var_2 == 1;
  if (var_2 < 2) {
    bVar7 = false;
    bVar5 = false;
    bVar4 = false;
    bVar6 = false;
    bVar8 = false;
    local_101 = 1;
    bVar3 = false;
    bVar9 = false;
    bVar2 = true;
  }
  else {
    bVar7 = false;
    var_17 = 1;
    bVar5 = false;
    bVar4 = false;
    bVar6 = false;
    bVar8 = false;
    local_101 = 1;
    bVar3 = false;
    bVar9 = false;
    bVar2 = true;
    do {
      var_3 = 3;
      __s2 = (type_2 *)ppcVar10[var_17];
      var_4 = &DAT_0001303b;
      var_5 = __s2;
      do {
        if (var_3 == 0) break;
        var_3 = var_3 + -1;
        var_6 = *var_4 < *var_5;
        var_8 = *var_4 == *var_5;
        var_4 = var_4 + (type_3)bVar29 * -2 + 1;
        var_5 = var_5 + (type_3)bVar29 * -2 + 1;
      } while (var_8);
      var_7 = false;
      var_6 = (!var_6 && !var_8) == var_6;
      if (var_6) {
        local_101 = 1;
      }
      else {
        var_3 = 3;
        var_4 = &DAT_0001303e;
        var_5 = __s2;
        do {
          if (var_3 == 0) break;
          var_3 = var_3 + -1;
          var_7 = *var_4 < *var_5;
          var_6 = *var_4 == *var_5;
          var_4 = var_4 + (type_3)bVar29 * -2 + 1;
          var_5 = var_5 + (type_3)bVar29 * -2 + 1;
        } while (var_6);
        var_8 = false;
        var_6 = (!var_7 && !var_6) == var_7;
        if (var_6) {
          local_101 = 0;
        }
        else {
          var_3 = 3;
          var_4 = &DAT_00013041;
          var_5 = __s2;
          do {
            if (var_3 == 0) break;
            var_3 = var_3 + -1;
            var_8 = *var_4 < *var_5;
            var_6 = *var_4 == *var_5;
            var_4 = var_4 + (type_3)bVar29 * -2 + 1;
            var_5 = var_5 + (type_3)bVar29 * -2 + 1;
          } while (var_6);
          var_7 = false;
          var_6 = (!var_8 && !var_6) == var_8;
          if (var_6) {
            bVar9 = true;
          }
          else {
            var_3 = 3;
            var_4 = &DAT_00013044;
            var_5 = __s2;
            do {
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_7 = *var_4 < *var_5;
              var_6 = *var_4 == *var_5;
              var_4 = var_4 + (type_3)bVar29 * -2 + 1;
              var_5 = var_5 + (type_3)bVar29 * -2 + 1;
            } while (var_6);
            var_8 = false;
            var_6 = (!var_7 && !var_6) == var_7;
            if (var_6) {
              bVar3 = true;
            }
            else {
              var_3 = 4;
              var_4 = &DAT_00013047;
              var_5 = __s2;
              do {
                if (var_3 == 0) break;
                var_3 = var_3 + -1;
                var_8 = *var_4 < *var_5;
                var_6 = *var_4 == *var_5;
                var_4 = var_4 + (type_3)bVar29 * -2 + 1;
                var_5 = var_5 + (type_3)bVar29 * -2 + 1;
              } while (var_6);
              if ((!var_8 && !var_6) == var_8) {
                bVar4 = true;
                bVar2 = false;
              }
              else {
                var_3 = var_9("-st",(char *)__s2);
                if (var_3 == 0) {
                  bVar7 = true;
                  bVar8 = true;
                  bVar2 = false;
                }
                else {
                  var_3 = var_9("-sr",(char *)__s2);
                  if (var_3 == 0) {
                    bVar5 = true;
                    bVar2 = false;
                  }
                  else {
                    var_3 = var_9("-scd",(char *)__s2);
                    if (var_3 != 0) {
                      var_10 = var_9("-V",(char *)__s2);
                      if (var_10 == 0) {
                        var_11(*(type_4 *)PTR_stderr_00014fec,1,"Version string: %s\n",
                                      "1.12 20171010");
                    /* WARNING: Subroutine does not return */
                        var_12(0);
                      }
                      var_10 = var_9("-?",(char *)__s2);
                      if ((var_10 == 0) || (var_10 = var_13("-h",(char *)__s2,2), var_10 == 0)) {
                        var_38 = "Show mapping from sg devices to other scsi device names\n";
                      }
                      else {
                        if (*__s2 == 0x2d) {
                          var_10 = 1;
                          var_14(1,"Unknown switch: %s\n",__s2,extraout_EDX_00);
                          var_15();
                          goto LAB_00011620;
                        }
                        var_38 = "Unknown argument";
                      }
                      var_10 = 1;
                      var_16(var_38);
                      var_15();
                      goto LAB_00011620;
                    }
                    bVar6 = true;
                    bVar2 = false;
                  }
                }
              }
            }
          }
        }
      }
      var_17 = var_17 + 1;
      var_6 = (type_3)var_10 < var_17;
      var_8 = var_10 == var_17;
    } while (!var_8);
  }
  var_10 = var_18(3,"/sys/class/scsi_generic",&local_e8);
  if ((-1 < var_10) && ((local_e8.st_mode & 0xf000) == 0x4000)) {
    var_21 = (char *)var_19("/sys/class/scsi_generic",&var_22,scandir_select,(type_10 *)0x0);
    if ((int)var_21 < 0) {
      piVar13 = var_20();
      var_21 = (char *)-*piVar13;
    }
    else {
      if (var_21 != (char *)0x0) {
        var_10 = 0;
        do {
          ppdVar1 = var_22 + var_10;
          var_10 = var_10 + 1;
          var_23(*ppdVar1);
        } while (var_21 != (char *)var_10);
      }
      var_23(var_22);
    }
    var_25 = (int)var_21;
  }
  var_10 = var_18(3,"/dev/.devfsd",&local_e8);
  if (var_10 == 0) {
    var_16("# Note: the devfs pseudo file system is present");
  }
  var_28 = 0x1514c;
  var_38 = (char *)0xffffffff;
  var_24 = (char *)0x0;
  var_30 = 0;
  var_29 = 0;
  var_6 = false;
  do {
    pcVar16 = var_24 + 1;
    if (var_25 == 0) {
      var_26(local_64,var_24,(type_3)local_101,(type_6)in_stack_fffffed0);
LAB_00011449:
      local_100 = local_64;
      var_10 = var_27(local_100,0x800);
      if (var_10 < 0) {
        puVar12 = (type_3 *)var_20();
        var_17 = *puVar12;
        if (var_17 == 0x10) {
          *(type_4 *)(var_28 + -0xc) = 0xfffffffe;
        }
        else {
          var_29 = var_29 + 1;
          if (((var_17 & 0xfffffffb) == 2) || (var_17 == 0x13)) {
            var_30 = var_30 + 1;
            *(type_4 *)(var_28 + -0xc) = 0xffffffff;
          }
          else {
            if (var_17 == 0xd) {
              var_6 = true;
            }
            var_31(ebuff,0x100,1,0x100,"Error opening %s ",local_100);
            var_32(ebuff);
          }
        }
        goto joined_r0x0001166b;
      }
      var_3 = var_33(var_10,0x2276,var_28);
      if (var_3 < 0) {
        var_31(ebuff,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,
                       extraout_ECX,extraout_ECX);
        var_32(ebuff);
        var_29 = var_29 + 1;
      }
      else {
        if ((bVar3) && (var_3 = var_34(var_10,0,0,0,local_88,0x24,1,0), var_3 == 0)) {
          *(type_4 *)(var_28 + 0x20) = local_80;
          *(type_4 *)(var_28 + 0x24) = local_7c;
          var_35 = local_78;
          var_36 = (type_4 *)(var_28 + 0x28);
          for (var_3 = 4; var_3 != 0; var_3 = var_3 + -1) {
            *var_36 = *var_35;
            var_35 = var_35 + (type_3)bVar29 * -2 + 1;
            var_36 = var_36 + (type_3)bVar29 * -2 + 1;
          }
          *(type_4 *)(var_28 + 0x38) = local_68;
        }
        *(type_4 *)(var_28 + -0xc) = 1;
        *(type_4 *)(var_28 + -4) = 0xffffffff;
        var_38 = var_24;
      }
      var_3 = var_37(var_10);
      if ((0xfff < (int)pcVar16) || (4 < var_29)) goto LAB_00011671;
      if (var_3 < 0) break;
    }
    else {
      if (var_24[0x5d160] != '\0') {
        var_26(local_64,var_24,1,(type_6)in_stack_fffffed0);
        goto LAB_00011449;
      }
joined_r0x0001166b:
      if ((4 < var_29) || (0xfff < (int)pcVar16)) {
LAB_00011671:
        var_10 = 4;
        if (3 < var_30) {
          var_10 = var_30;
        }
        if (var_10 < var_29) {
          var_10 = 0xf;
          var_16("Stopping because there are too many error");
          if (var_6) {
            var_16("    root access may be required");
          }
          goto LAB_00011620;
        }
        if (var_38 == (char *)0xffffffff) {
          var_16("Stopping because no sg devices found");
        }
        if ((((((((bVar2) || (bVar4)) &&
                (var_39("/dev/sd",0x4766,false,1,(int)var_38), bVar2)) || (bVar5)) &&
              (var_39("/dev/sr",0x80,true,2,(int)var_38), bVar2)) || (bVar6)) &&
            (var_39("/dev/scd",0x80,true,4,(int)var_38), bVar2)) || (bVar7)) {
          var_39("/dev/nst",0x80,true,3,(int)var_38);
        }
        if ((bVar8) || (bVar2)) {
          var_39("/dev/osst",0x80,true,5,(int)var_38);
        }
        if (var_38 == (char *)0xffffffff) goto LAB_0001193f;
        var_42 = map_arr;
        pcVar16 = "  some error";
        if (bVar9) {
          pcVar16 = "  -3 -3 -3 -3  -3";
        }
        pcVar17 = "  not present";
        if (bVar9) {
          pcVar17 = "  -1 -1 -1 -1  -1";
        }
        pcVar18 = "  busy";
        if (bVar9) {
          pcVar18 = "  -2 -2 -2 -2  -2";
        }
        var_41 = (char *)0x0;
        goto LAB_00011770;
      }
    }
    var_28 = var_28 + 0x48;
    var_24 = pcVar16;
  } while( true );
  var_10 = 0xf;
  var_31(ebuff,0x100,1,0x100,"Error closing %s ",local_100,var_3,var_3);
  var_32("sg_map: close error");
  goto LAB_00011620;
LAB_00011770:
  do {
    if (var_25 == 0) {
      var_26(local_64,var_41,(type_3)local_101,(type_6)in_stack_fffffed0);
LAB_000117a1:
      var_21 = local_64;
      puVar30 = &DAT_0001318b;
      pcVar19 = var_21;
      var_14(1,&DAT_0001318b,var_21);
      var_10 = var_42->active;
      if (var_10 == -1) {
        var_14(1,pcVar17,extraout_ECX_00,extraout_ECX_00);
      }
      else if (var_10 < 0) {
        if (var_10 == -2) {
          var_14(1,pcVar18,0xfffffffe,0xfffffffe);
        }
        else {
LAB_000119e2:
          var_16("  bad logic");
        }
      }
      else if (var_10 == 0) {
        var_14(1,pcVar16,extraout_EDX,extraout_EDX);
      }
      else {
        if (var_10 != 1) goto LAB_000119e2;
        if (bVar9) {
          pcVar19 = (char *)(var_42->sg_dat).scsi_type;
          puVar30 = (type_7 *)(var_42->sg_dat).lun;
          var_14(1,"  %d %d %d %d  %d",(var_42->sg_dat).host_no,(var_42->sg_dat).channel,
                       (var_42->sg_dat).scsi_id,puVar30,pcVar19,1);
        }
        if (var_42->lin_dev_type - 1U < 5) {
          switch(var_42->lin_dev_type) {
          case 1:
            pcVar19 = "/dev/sd";
            do_numeric = false;
            break;
          case 2:
            pcVar19 = "/dev/sr";
            do_numeric = true;
            break;
          case 3:
            pcVar19 = "/dev/nst";
            do_numeric = true;
            break;
          case 4:
            pcVar19 = "/dev/scd";
            do_numeric = true;
            break;
          case 5:
            pcVar19 = "/dev/osst";
            do_numeric = true;
          }
          var_26(var_21,pcVar19,var_42->oth_dev_num,do_numeric);
          puVar30 = &DAT_00013189;
          var_14(1,&DAT_00013189,var_21);
          pcVar19 = var_21;
        }
        if (bVar3) {
          var_14(1,"  %.8s  %.16s  %.4s",var_42->vendor,var_42->product,var_42->revision,
                       puVar30,pcVar19);
        }
      }
      var_40(10);
    }
    else if (var_41[0x5d160] != '\0') {
      var_26(local_64,var_41,1,(type_6)in_stack_fffffed0);
      goto LAB_000117a1;
    }
    var_41 = var_41 + 1;
    var_42 = var_42 + 1;
  } while (var_38 + 1 != var_41);
LAB_0001193f:
  var_10 = 0;
LAB_00011620:
  if (var_43 == *(int *)(var_1 + 0x14)) {
    return var_10;
  }
                    /* WARNING: Subroutine does not return */
  var_44();
}


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

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

undefined4 MASKED(uint param_1,int param_2)

{
  dirent64 **ppdVar1;
  byte *__s2;
  uint uVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  int iVar11;
  int iVar12;
  uint *puVar13;
  int iVar14;
  int *piVar15;
  char *pcVar16;
  int iVar17;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  byte *extraout_ECX_01;
  uint uVar18;
  char *pcVar19;
  char *pcVar20;
  undefined4 extraout_EDX;
  int extraout_EDX_00;
  undefined4 extraout_EDX_01;
  byte *pbVar21;
  undefined4 *puVar23;
  undefined4 uVar24;
  byte *pbVar25;
  undefined4 *puVar26;
  int in_GS_OFFSET;
  bool bVar27;
  bool bVar28;
  bool bVar29;
  byte bVar30;
  undefined *puVar31;
  char *pcVar32;
  int local_114;
  int local_108;
  char *local_100;
  undefined4 *local_fc;
  int local_f8;
  char *local_f4;
  dirent64 **local_ec;
  stat64 local_e8;
  undefined1 local_88 [8];
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78 [4];
  undefined4 local_68;
  char local_64 [64];
  int local_24;
  undefined4 *local_18;
  byte *pbVar22;
  
  iVar11 = param_2;
  uVar2 = param_1;
  bVar30 = 0;
  local_18 = &param_1;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  bVar27 = param_1 == 0;
  bVar29 = param_1 == 1;
  if ((int)param_1 < 2) {
    bVar8 = false;
    bVar6 = false;
    bVar5 = false;
    bVar7 = false;
    bVar9 = false;
    bVar4 = false;
    bVar10 = false;
    bVar3 = true;
  }
  else {
    bVar8 = false;
    uVar18 = 1;
    bVar6 = false;
    bVar5 = false;
    bVar7 = false;
    bVar9 = false;
    bVar4 = false;
    bVar10 = false;
    bVar3 = true;
    do {
      iVar17 = 3;
      __s2 = *(byte **)(iVar11 + uVar18 * 4);
      pbVar22 = &DAT_0001303b;
      pbVar25 = __s2;
      do {
        if (iVar17 == 0) break;
        iVar17 = iVar17 + -1;
        bVar27 = *pbVar22 < *pbVar25;
        bVar29 = *pbVar22 == *pbVar25;
        pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
        pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
      } while (bVar29);
      bVar28 = false;
      bVar27 = (!bVar27 && !bVar29) == bVar27;
      if (!bVar27) {
        iVar17 = 3;
        pbVar22 = &DAT_0001303e;
        pbVar25 = __s2;
        do {
          if (iVar17 == 0) break;
          iVar17 = iVar17 + -1;
          bVar28 = *pbVar22 < *pbVar25;
          bVar27 = *pbVar22 == *pbVar25;
          pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
          pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
        } while (bVar27);
        bVar29 = false;
        bVar27 = (!bVar28 && !bVar27) == bVar28;
        if (!bVar27) {
          iVar17 = 3;
          pbVar22 = &DAT_00013041;
          pbVar25 = __s2;
          do {
            if (iVar17 == 0) break;
            iVar17 = iVar17 + -1;
            bVar29 = *pbVar22 < *pbVar25;
            bVar27 = *pbVar22 == *pbVar25;
            pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
            pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
          } while (bVar27);
          bVar28 = false;
          bVar27 = (!bVar29 && !bVar27) == bVar29;
          if (bVar27) {
            bVar10 = true;
          }
          else {
            iVar17 = 3;
            pbVar22 = &DAT_00013044;
            pbVar25 = __s2;
            do {
              if (iVar17 == 0) break;
              iVar17 = iVar17 + -1;
              bVar28 = *pbVar22 < *pbVar25;
              bVar27 = *pbVar22 == *pbVar25;
              pbVar22 = pbVar22 + (uint)bVar30 * -2 + 1;
              pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
            } while (bVar27);
            bVar29 = false;
            bVar27 = (!bVar28 && !bVar27) == bVar28;
            if (bVar27) {
              bVar4 = true;
            }
            else {
              iVar17 = 4;
              pbVar22 = &DAT_00013047;
              pbVar25 = __s2;
              do {
                pbVar21 = pbVar22;
                if (iVar17 == 0) break;
                iVar17 = iVar17 + -1;
                pbVar21 = pbVar22 + (uint)bVar30 * -2 + 1;
                bVar29 = *pbVar22 < *pbVar25;
                bVar27 = *pbVar22 == *pbVar25;
                pbVar22 = pbVar21;
                pbVar25 = pbVar25 + (uint)bVar30 * -2 + 1;
              } while (bVar27);
              if ((!bVar29 && !bVar27) == bVar29) {
                bVar5 = true;
                bVar3 = false;
              }
              else {
                iVar17 = strcmp("-st",(char *)__s2);
                if (iVar17 == 0) {
                  bVar8 = true;
                  bVar9 = true;
                  bVar3 = false;
                }
                else {
                  iVar17 = strcmp("-sr",(char *)__s2);
                  if (iVar17 == 0) {
                    bVar6 = true;
                    bVar3 = false;
                  }
                  else {
                    iVar17 = strcmp("-scd",(char *)__s2);
                    if (iVar17 != 0) {
                      iVar11 = strcmp("-V",(char *)__s2);
                      if (iVar11 == 0) {
                        __fprintf_chk(*(undefined4 *)PTR_stderr_00014fec,1,"Version string: %s\n",
                                      "1.12 20171010");
                    /* WARNING: Subroutine does not return */
                        exit(0);
                      }
                      pbVar22 = __s2;
                      pbVar25 = pbVar21;
                      iVar11 = strcmp("-?",(char *)__s2);
                      if (iVar11 == 0) {
LAB_00011d70:
                        pcVar16 = "Show mapping from sg devices to other scsi device names\n";
                      }
                      else {
                        pbVar21 = (byte *)0x2;
                        pbVar22 = __s2;
                        pbVar25 = extraout_ECX_01;
                        iVar11 = strncmp("-h",(char *)__s2,2);
                        if (iVar11 == 0) goto LAB_00011d70;
                        if (*__s2 == 0x2d) {
                          uVar24 = 1;
                          __printf_chk(1,"Unknown switch: %s\n",__s2,extraout_EDX_01);
                          FUN_00011fa0();
                          goto LAB_00011620;
                        }
                        pcVar16 = "Unknown argument";
                      }
                      uVar24 = 1;
                      puts(pcVar16);
                      FUN_00011fa0(pcVar16,pbVar22,pbVar21,pbVar25);
                      goto LAB_00011620;
                    }
                    bVar7 = true;
                    bVar3 = false;
                  }
                }
              }
            }
          }
        }
      }
      uVar18 = uVar18 + 1;
      bVar27 = uVar2 < uVar18;
      bVar29 = uVar2 == uVar18;
    } while (!bVar29);
  }
  iVar11 = __xstat64(3,"/sys/class/scsi_generic",&local_e8);
  if ((-1 < iVar11) && ((local_e8.st_mode & 0xf000) == 0x4000)) {
    local_f4 = (char *)scandir64("/sys/class/scsi_generic",&local_ec,FUN_00011f30,(__cmp *)0x0);
    if ((int)local_f4 < 0) {
      piVar15 = __errno_location();
      local_f4 = (char *)-*piVar15;
    }
    else {
      if (local_f4 != (char *)0x0) {
        iVar11 = 0;
        do {
          ppdVar1 = local_ec + iVar11;
          iVar11 = iVar11 + 1;
          free(*ppdVar1);
        } while (local_f4 != (char *)iVar11);
      }
      free(local_ec);
    }
    DAT_0005d140 = (int)local_f4;
  }
  iVar11 = __xstat64(3,"/dev/.devfsd",&local_e8);
  if (iVar11 == 0) {
    puts("# Note: the devfs pseudo file system is present");
  }
  local_fc = &DAT_0001514c;
  iVar11 = -1;
  local_f8 = 0;
  local_114 = 0;
  local_108 = 0;
  bVar27 = false;
  do {
    iVar17 = local_f8 + 1;
    if (DAT_0005d140 == 0) {
      FUN_000124a0();
LAB_00011449:
      local_100 = local_64;
      iVar12 = open64(local_100,0x800);
      if (iVar12 < 0) {
        puVar13 = (uint *)__errno_location();
        uVar2 = *puVar13;
        if (uVar2 == 0x10) {
          local_fc[-3] = 0xfffffffe;
        }
        else {
          local_108 = local_108 + 1;
          if (((uVar2 & 0xfffffffb) == 2) || (uVar2 == 0x13)) {
            local_114 = local_114 + 1;
            local_fc[-3] = 0xffffffff;
          }
          else {
            if (uVar2 == 0xd) {
              bVar27 = true;
            }
            __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error opening %s ",local_100);
            perror(&DAT_00015040);
          }
        }
        goto joined_r0x0001166b;
      }
      iVar14 = ioctl(iVar12,0x2276,local_fc);
      if (iVar14 < 0) {
        __snprintf_chk(&DAT_00015040,0x100,1,0x100,"device %s failed on sg ioctl, skip",local_100,
                       extraout_ECX,extraout_ECX);
        perror(&DAT_00015040);
        local_108 = local_108 + 1;
      }
      else {
        if ((bVar4) && (iVar11 = sg_ll_inquiry(iVar12,0,0,0,local_88,0x24,1,0), iVar11 == 0)) {
          local_fc[8] = local_80;
          local_fc[9] = local_7c;
          puVar23 = local_78;
          puVar26 = local_fc + 10;
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar26 = *puVar23;
            puVar23 = puVar23 + (uint)bVar30 * -2 + 1;
            puVar26 = puVar26 + (uint)bVar30 * -2 + 1;
          }
          local_fc[0xe] = local_68;
        }
        local_fc[-3] = 1;
        local_fc[-1] = 0xffffffff;
        iVar11 = local_f8;
      }
      iVar12 = close(iVar12);
      if ((0xfff < iVar17) || (4 < local_108)) goto LAB_00011671;
      if (iVar12 < 0) break;
    }
    else {
      if ((&DAT_0005d160)[local_f8] != '\0') {
        FUN_000124a0();
        goto LAB_00011449;
      }
joined_r0x0001166b:
      if ((4 < local_108) || (0xfff < iVar17)) {
LAB_00011671:
        iVar17 = 4;
        if (3 < local_114) {
          iVar17 = local_114;
        }
        if (iVar17 < local_108) {
          uVar24 = 0xf;
          puts("Stopping because there are too many error");
          if (bVar27) {
            puts("    root access may be required");
          }
          goto LAB_00011620;
        }
        if (iVar11 == -1) {
          iVar17 = puts("Stopping because no sg devices found");
          local_114 = extraout_EDX_00;
        }
        if ((((((((bVar3) || (bVar5)) &&
                (iVar17 = FUN_000121f0(1,iVar11,local_114,local_114), bVar3)) || (bVar6)) &&
              (iVar17 = FUN_000121f0(2,iVar11,iVar17,iVar17), bVar3)) || (bVar7)) &&
            (iVar17 = FUN_000121f0(4,iVar11,iVar17,iVar17), bVar3)) || (bVar8)) {
          iVar17 = FUN_000121f0(3,iVar11,iVar17,iVar17);
        }
        if ((bVar9) || (bVar3)) {
          FUN_000121f0(5,iVar11,iVar17,iVar17);
        }
        if (iVar11 == -1) goto LAB_0001193f;
        piVar15 = &DAT_00015140;
        pcVar16 = "  some error";
        if (bVar10) {
          pcVar16 = "  -3 -3 -3 -3  -3";
        }
        pcVar19 = "  not present";
        if (bVar10) {
          pcVar19 = "  -1 -1 -1 -1  -1";
        }
        pcVar20 = "  busy";
        if (bVar10) {
          pcVar20 = "  -2 -2 -2 -2  -2";
        }
        iVar17 = 0;
        goto LAB_00011770;
      }
    }
    local_fc = local_fc + 0x12;
    local_f8 = iVar17;
  } while( true );
  uVar24 = 0xf;
  __snprintf_chk(&DAT_00015040,0x100,1,0x100,"Error closing %s ",local_100,iVar12,iVar12);
  perror("sg_map: close error");
  goto LAB_00011620;
LAB_00011770:
  do {
    if (DAT_0005d140 == 0) {
      FUN_000124a0();
LAB_000117a1:
      local_f4 = local_64;
      puVar31 = &DAT_0001318b;
      pcVar32 = local_f4;
      __printf_chk(1,&DAT_0001318b,local_f4);
      iVar12 = *piVar15;
      if (iVar12 == -1) {
        __printf_chk(1,pcVar19,extraout_ECX_00,extraout_ECX_00);
      }
      else {
        if (iVar12 < 0) {
          if (iVar12 == -2) {
            __printf_chk(1,pcVar20,0xfffffffe,0xfffffffe);
          }
          else {
LAB_000119e2:
            puts("  bad logic");
          }
          goto LAB_00011920;
        }
        if (iVar12 == 0) {
          __printf_chk(1,pcVar16,extraout_EDX,extraout_EDX);
          goto LAB_00011920;
        }
        if (iVar12 != 1) goto LAB_000119e2;
        if (bVar10) {
          pcVar32 = (char *)piVar15[7];
          puVar31 = (undefined *)piVar15[6];
          __printf_chk(1,"  %d %d %d %d  %d",piVar15[3],piVar15[4],piVar15[5],puVar31,pcVar32,1);
        }
        switch(piVar15[1]) {
        case 1:
          uVar24 = 0;
          break;
        case 2:
          uVar24 = 1;
          break;
        case 3:
          uVar24 = 1;
          break;
        case 4:
          uVar24 = 1;
          break;
        case 5:
          uVar24 = 1;
          break;
        default:
          goto LAB_000119b0;
        }
        FUN_00012070(uVar24);
        puVar31 = &UNK_00013189;
        __printf_chk(1,&UNK_00013189,local_f4);
        pcVar32 = local_f4;
LAB_000119b0:
        if (bVar4) {
          __printf_chk(1,"  %.8s  %.16s  %.4s",piVar15 + 0xb,piVar15 + 0xd,piVar15 + 0x11,puVar31,
                       pcVar32);
        }
      }
LAB_00011920:
      putchar(10);
    }
    else if ((&DAT_0005d160)[iVar17] != '\0') {
      FUN_000124a0();
      goto LAB_000117a1;
    }
    iVar17 = iVar17 + 1;
    piVar15 = piVar15 + 0x12;
  } while (iVar11 + 1 != iVar17);
LAB_0001193f:
  uVar24 = 0;
LAB_00011620:
  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar24;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00012680();
}

