
/* WARNING: Type propagation algorithm not settling */

_Bool head_lines(char *filename,int fd,uintmax_t lines_to_write)

{
  char cVar1;
  undefined *puVar2;
  undefined *puVar3;
  int *piVar4;
  stat *psVar5;
  byte extraout_var;
  stat *psVar6;
  int iVar7;
  _Bool _Var16;
  stat *psVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  undefined1 uVar17;
  uint uVar11;
  size_t sVar12;
  int iVar13;
  Copy_fd_status err;
  int *piVar14;
  int iVar15;
  char *pcVar18;
  int *piVar19;
  int iVar20;
  stat *psVar21;
  int *piVar22;
  int iVar23;
  stat *in_a2;
  stat *psVar24;
  stat *in_a3;
  stat *psVar25;
  stat *unaff_s0;
  stat *unaff_s1;
  undefined4 uVar26;
  stat *unaff_s2;
  size_t count;
  stat *unaff_s3;
  undefined1 *puVar27;
  stat *psVar28;
  int iVar29;
  stat *unaff_s4;
  code *filename_00;
  undefined *unaff_s5;
  undefined *puVar30;
  int *piVar31;
  stat *unaff_s7;
  code *pcVar32;
  stat *unaff_s8;
  code *pcVar33;
  code *pcVar34;
  code *pcVar35;
  off_t oVar36;
  int aiStackY_622c [14];
  undefined4 uStackY_61f4;
  stat *psStackY_61f0;
  stat *psStackY_61ec;
  size_t sStackY_61e8;
  stat *psStackY_61e4;
  code *pcStackY_61e0;
  code *pcStackY_61dc;
  char *pcVar37;
  char acStack_619d [8193];
  int iStack_419c;
  stat *psStack_4198;
  stat *psStack_4194;
  stat *psStack_4190;
  undefined1 *puStack_418c;
  stat *psStack_4188;
  undefined *puStack_4184;
  int *piStack_4180;
  stat *psStack_417c;
  stat *psStack_4178;
  code *pcStack_4174;
  code *pcStack_4160;
  stat *psStack_415c;
  int iStack_4158;
  stat *psStack_4154;
  stat *psStack_4150;
  code *pcStack_414c;
  undefined *puStack_4138;
  char *pcStack_412c;
  stat asStack_4124 [51];
  char *pcStack_2124;
  stat *psStack_2120;
  stat *psStack_211c;
  stat *psStack_2118;
  stat *psStack_2114;
  stat *psStack_2110;
  undefined *puStack_210c;
  undefined *puStack_2108;
  stat *psStack_2104;
  stat *psStack_2100;
  code *pcStack_20fc;
  stat st;
  char buffer [8192];
  
  puVar3 = PTR___stack_chk_guard_0002d2dc;
  puVar2 = PTR_0002d104;
  puVar30 = PTR_DAT_0002d0f8;
  pcVar18 = *(char **)PTR___stack_chk_guard_0002d2dc;
  psVar21 = (stat *)fd;
  psStack_2110 = unaff_s4;
  if (in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0) {
LAB_00013598:
    _Var16 = true;
  }
  else {
    unaff_s7 = (stat *)buffer;
    psVar24 = (stat *)0x2000;
    unaff_s3 = (stat *)0xffffffff;
    psVar21 = unaff_s7;
    psVar25 = in_a3;
    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);
    unaff_s5 = puVar2 + 0x3118;
    unaff_s8 = in_a2;
    unaff_s1 = in_a3;
    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,
          psVar6 != (stat *)0xffffffff) {
      if (psVar6 == (stat *)0x0) goto LAB_00013598;
      unaff_s0 = (stat *)0x0;
      do {
        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);
        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);
        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&
           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),
           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {
          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);
          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);
          in_a2 = unaff_s3;
          in_a3 = unaff_s1;
          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);
          if (iVar7 < 0) {
            in_a2 = &st;
            iVar7 = fd;
            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);
            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {
              in_a2 = unaff_s3;
              in_a3 = unaff_s1;
              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);
            }
          }
          psVar21 = unaff_s0;
          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);
          _Var16 = true;
          goto LAB_00013464;
        }
      } while (psVar6 != unaff_s0);
      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);
      psVar24 = (stat *)0x2000;
      psVar21 = unaff_s7;
      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);
      psVar25 = in_a3;
    }
    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();
    unaff_s0 = (stat *)*puVar9;
    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);
    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);
    psVar21 = unaff_s0;
    in_a2 = unaff_s1;
    (*(code *)PTR_error_0002d2a0)(0);
    _Var16 = false;
  }
LAB_00013464:
  if (pcVar18 == *(char **)puVar3) {
    return _Var16;
  }
  pcVar33 = head_bytes;
  puVar30 = PTR___stack_chk_fail_0002d2c4;
  (*(code *)PTR___stack_chk_fail_0002d2c4)();
  puStack_4138 = puVar30 + 0x21b24;
  puStack_2108 = puVar3;
  piVar31 = *(int **)(puVar30 + 0x19d30);
  pcStack_2124 = (char *)*piVar31;
  puVar27 = *(undefined1 **)(puVar30 + 0x19b58);
  psVar6 = psVar21;
  psVar25 = psStack_2110;
  puVar30 = unaff_s5;
  psVar24 = unaff_s7;
  pcStack_412c = pcVar18;
  psStack_2120 = unaff_s0;
  psStack_211c = unaff_s1;
  psStack_2118 = unaff_s2;
  psStack_2114 = unaff_s3;
  puStack_210c = unaff_s5;
  psStack_2104 = unaff_s7;
  psStack_2100 = unaff_s8;
  pcStack_20fc = pcVar33;
  if (in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0) {
    psVar24 = asStack_4124;
    puVar30 = (undefined *)0xffffffff;
    puVar27 = &DAT_00003118 + (int)puVar27;
    psVar28 = in_a3;
    psVar8 = (stat *)0x2000;
    psVar5 = in_a2;
    do {
      unaff_s8 = psVar5;
      unaff_s2 = psVar8;
      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {
        unaff_s2 = psVar28;
      }
      psVar6 = psVar24;
      in_a2 = unaff_s2;
      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);
      psVar25 = psVar21;
      if (psVar8 == (stat *)0xffffffff) {
        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();
        unaff_s0 = (stat *)*puVar9;
        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))
                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);
        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);
        psVar6 = unaff_s0;
        in_a2 = unaff_s1;
        (**(code **)(puStack_4138 + -0x7e30))(0);
        _Var16 = false;
        goto LAB_000136f4;
      }
      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);
      unaff_s1 = psVar28;
      if (psVar8 == (stat *)0x0) break;
      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));
      xwrite_stdout((char *)psVar24,(size_t)psVar8);
      psVar6 = psVar8;
      unaff_s1 = unaff_s0;
      psVar28 = unaff_s0;
      psVar8 = unaff_s2;
      psVar5 = unaff_s8;
    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);
  }
  _Var16 = true;
LAB_000136f4:
  if (pcStack_2124 == (char *)*piVar31) {
    return _Var16;
  }
  pcVar33 = *(code **)(puStack_4138 + -0x7e0c);
  pcVar34 = diagnose_copy_fd_failure;
  pcVar18 = pcStack_2124;
  (*pcVar33)();
  pcStack_4160 = pcVar33 + 0x21994;
  psStack_4154 = unaff_s0;
  psStack_4150 = unaff_s1;
  pcStack_414c = pcVar34;
  if (pcVar18 == (char *)0x1) {
    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();
    uVar26 = *puVar9;
    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);
    pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);
                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);
    return (_Bool)uVar17;
  }
  if (pcVar18 == (char *)0x2) {
    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();
    uVar26 = *puVar9;
    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);
    pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);
                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);
    return (_Bool)uVar17;
  }
  pcVar34 = *(code **)(pcVar33 + 0x19ae0);
  pcVar35 = elide_tail_lines_seekable;
  psVar21 = psVar6;
  (*pcVar34)();
  pcVar33 = pcStack_4160;
  piVar22 = *(int **)(pcVar34 + 0x19a7c);
  uVar11 = (uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff;
  iStack_419c = *piVar22;
  if ((int)((iStack_4158 - (int)pcStack_4160) -
           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0) {
    uVar11 = (uVar11 - 1 | 0xffffe000) + 1;
  }
  count = 0x2000;
  if (uVar11 != 0) {
    count = uVar11;
  }
  psVar28 = (stat *)((int)psStack_4154 - count);
  pcVar32 = (code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4));
  filename_00 = (code *)(iStack_4158 - (uint)(psStack_4154 < psVar28));
  psStack_4198 = psVar6;
  psStack_4194 = unaff_s1;
  psStack_4190 = unaff_s2;
  puStack_418c = puVar27;
  psStack_4188 = psVar25;
  puStack_4184 = puVar30;
  piStack_4180 = piVar31;
  psStack_417c = psVar24;
  psStack_4178 = unaff_s8;
  pcStack_4174 = pcVar35;
  oVar36 = elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00);
  if (-1 < oVar36) {
    unaff_s1 = (stat *)((int)acStack_619d + 1);
    sVar12 = safe_read((int)psVar21,unaff_s1,count);
    if (sVar12 != 0xffffffff) {
      count = (uint)in_a2 | (uint)in_a3;
      psVar6 = psVar28;
      psVar25 = in_a3;
      if (count == 0) {
        iVar7 = *(int *)(pcVar34 + 0x19898);
      }
      else {
        iVar7 = *(int *)(pcVar34 + 0x19898);
        if ((sVar12 != 0) &&
           (iVar7 = *(int *)(pcVar34 + 0x19898),
           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {
          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);
          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));
        }
      }
      do {
        psVar28 = psVar6;
        if (sVar12 != 0) {
          cVar1 = *(char *)(iVar7 + -0x2cdf);
          psVar24 = in_a2;
          do {
            if (count == 0) {
              sVar12 = sVar12 - 1;
              in_a2 = (stat *)((int)psVar24->st_pad1 +
                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));
              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;
            }
            else {
              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);
              in_a2 = psVar24;
              if (iVar13 == 0) break;
              sVar12 = iVar13 - (int)unaff_s1;
              in_a2 = (stat *)((int)psVar24->st_pad1 +
                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));
              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {
LAB_000139ec:
                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);
                if (((int)pcVar33 < (int)filename_00) ||
                   ((in_a2 = psVar24, filename_00 == pcVar33 &&
                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {
                  uVar10 = 0;
                  pcVar37 = pcVar18;
                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);
                  in_a2 = psStack_415c;
                  if (iVar7 < 0) goto LAB_00013b8c;
                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));
                  if (err != COPY_FD_OK) {
                    diagnose_copy_fd_failure(err,pcVar18);
                    _Var16 = false;
                    goto LAB_00013b94;
                  }
                }
                xwrite_stdout((char *)unaff_s1,sVar12 + 1);
                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);
                filename_00 = filename_00 + (uVar11 < sVar12);
                (*pcVar32)(psVar21);
                _Var16 = (_Bool)((byte)~extraout_var >> 7);
                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);
                goto LAB_00013b94;
              }
            }
            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);
            psVar24 = in_a2;
          } while (sVar12 != 0);
        }
        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;
        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);
        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);
        iVar13 = (*pcVar32)(psVar21);
        if (iVar13 < 0) goto LAB_00013b8c;
        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);
        if (sVar12 == 0xffffffff) goto LAB_00013b28;
        _Var16 = true;
        psVar6 = psVar28;
      } while (sVar12 != 0);
      goto LAB_00013b94;
    }
LAB_00013b28:
    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();
    in_a2 = (stat *)*puVar9;
    unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);
    pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);
    (**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);
  }
LAB_00013b8c:
  _Var16 = false;
LAB_00013b94:
  if (iStack_419c == *piVar22) {
    return _Var16;
  }
  pcVar33 = *(code **)(pcVar34 + 0x19a64);
  pcVar35 = usage;
  iVar7 = iStack_419c;
  (*pcVar33)();
  uStackY_61f4 = **(undefined4 **)(pcVar33 + 0x19674);
  pcVar34 = *(code **)(pcVar33 + 0x19660);
  psStackY_61f0 = in_a2;
  psStackY_61ec = unaff_s1;
  sStackY_61e8 = count;
  psStackY_61e4 = psVar28;
  pcStackY_61e0 = filename_00;
  pcStackY_61dc = pcVar35;
  if (iVar7 == 0) goto LAB_00013cf8;
  uVar26 = **(undefined4 **)(pcVar33 + 0x19684);
  uVar10 = (*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5);
  (**(code **)(pcVar33 + 0x195c4))(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));
  do {
    pcVar34 = *(code **)(pcVar33 + 0x19620);
    (*pcVar34)(iVar7);
LAB_00013cf8:
    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);
    uVar10 = (*pcVar34)();
    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);
    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);
    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);
    piVar31 = aiStackY_622c;
    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);
    iVar13 = *(int *)(pcVar33 + 0x19490);
    piVar22 = (int *)(iVar13 + -0x2ff0);
    piVar4 = piVar31;
    do {
      piVar19 = piVar4;
      piVar14 = piVar22;
      piVar22 = piVar14 + 4;
      *piVar19 = *piVar14;
      iVar23 = piVar14[2];
      iVar20 = piVar14[3];
      piVar19[1] = piVar14[1];
      piVar19[2] = iVar23;
      piVar19[3] = iVar20;
      piVar4 = piVar19 + 4;
    } while (piVar22 != (int *)(iVar13 + -0x2fc0));
    iVar13 = piVar14[5];
    iVar20 = *(int *)(pcVar33 + 0x194a0);
    piVar19[4] = *piVar22;
    piVar19[5] = iVar13;
    iVar13 = aiStackY_622c[0];
    while (iVar13 != 0) {
      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);
      if (iVar13 == 0) {
        iVar13 = *(int *)(pcVar33 + 0x194a0);
        goto LAB_00013f44;
      }
      piVar31 = piVar31 + 2;
      iVar13 = *piVar31;
    }
    iVar13 = *(int *)(pcVar33 + 0x194a0);
LAB_00013f44:
    iVar23 = piVar31[1];
    iVar29 = *(int *)(pcVar33 + 0x194a0);
    if (iVar23 == 0) {
      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);
      (**(code **)(pcVar33 + 0x195f0))
                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);
      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);
      if ((iVar13 != 0) &&
         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),
         iVar13 != 0)) {
        iVar23 = iVar20 + -0x4f1c;
        iVar13 = iVar23;
LAB_00014148:
        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);
        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);
        goto LAB_00013fcc;
      }
      iVar23 = iVar20 + -0x4f1c;
      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);
      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);
      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);
      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;
    }
    else {
      uVar10 = (**(code **)(pcVar33 + 0x19660))();
      (**(code **)(pcVar33 + 0x195f0))
                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);
      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);
      if (iVar13 == 0) {
        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;
      }
      else {
        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);
        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;
        if (iVar15 != 0) goto LAB_00014148;
      }
LAB_00013fcc:
      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);
      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);
      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);
      if (iVar23 == iVar13) {
        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;
      }
      else {
        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;
      }
    }
    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);
  } while( true );
}



/* WARNING: Type propagation algorithm not settling */

uint FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)

{
  char cVar1;
  undefined *puVar2;
  undefined *puVar3;
  int *piVar4;
  char *pcVar5;
  char *pcVar6;
  int iVar7;
  uint uVar8;
  char *pcVar9;
  int *piVar10;
  undefined4 *puVar11;
  undefined4 uVar12;
  int *piVar13;
  int iVar14;
  char *pcVar15;
  int *piVar16;
  int iVar17;
  int iVar18;
  char *pcVar19;
  char *unaff_s0;
  char *unaff_s1;
  undefined4 uVar20;
  char *unaff_s2;
  uint uVar21;
  char *unaff_s3;
  int iVar22;
  char *pcVar23;
  char *pcVar24;
  int iVar25;
  char *unaff_s4;
  undefined *unaff_s5;
  undefined *puVar26;
  int *piVar27;
  char *unaff_s7;
  code *pcVar28;
  char *unaff_s8;
  undefined4 uVar29;
  code *pcVar30;
  code *pcVar31;
  code *pcVar32;
  int aiStack_622c [14];
  undefined4 uStack_61f4;
  char *pcStack_61f0;
  char *pcStack_61ec;
  uint uStack_61e8;
  char *pcStack_61e4;
  code *pcStack_61e0;
  code *pcStack_61dc;
  undefined4 uStack_61c8;
  int iStack_61c4;
  code *pcStack_61c0;
  int iStack_61b4;
  code *pcStack_61b0;
  int *piStack_61ac;
  char *pcStack_61a8;
  char *pcStack_61a4;
  char acStack_619d [8193];
  int iStack_419c;
  char *pcStack_4198;
  char *pcStack_4194;
  char *pcStack_4190;
  int iStack_418c;
  char *pcStack_4188;
  undefined *puStack_4184;
  int *piStack_4180;
  char *pcStack_417c;
  char *pcStack_4178;
  code *pcStack_4174;
  code *pcStack_4160;
  char *pcStack_415c;
  int iStack_4158;
  char *pcStack_4154;
  char *pcStack_4150;
  code *pcStack_414c;
  undefined *local_4138;
  int local_412c;
  char acStack_4124 [8192];
  int local_2124;
  char *local_2120;
  char *local_211c;
  char *local_2118;
  char *local_2114;
  char *local_2110;
  undefined *local_210c;
  undefined *local_2108;
  char *local_2104;
  char *local_2100;
  undefined4 local_20fc;
  undefined4 local_20e8;
  undefined4 local_20e4;
  char acStack_20d0 [24];
  uint local_20b8;
  char local_202c [8192];
  int local_2c;
  
  puVar3 = PTR___stack_chk_guard_0002d2dc;
  puVar2 = PTR_0002d104;
  puVar26 = PTR_DAT_0002d0f8;
  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;
  pcVar15 = param_2;
  local_2110 = unaff_s4;
  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {
LAB_00013598:
    uVar8 = 1;
  }
  else {
    unaff_s7 = local_202c;
    pcVar19 = (char *)0x2000;
    unaff_s3 = (char *)0xffffffff;
    pcVar15 = unaff_s7;
    pcVar24 = param_4;
    pcVar6 = (char *)safe_read(param_2);
    unaff_s5 = puVar2 + 0x3118;
    unaff_s8 = param_3;
    unaff_s1 = param_4;
    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,
          pcVar6 != (char *)0xffffffff) {
      if (pcVar6 == (char *)0x0) goto LAB_00013598;
      unaff_s0 = (char *)0x0;
      do {
        unaff_s0 = unaff_s0 + 1;
        pcVar15 = unaff_s1 + -1;
        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&
           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,
           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {
          unaff_s1 = unaff_s0 + -(int)pcVar6;
          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);
          local_20e8 = 1;
          param_3 = unaff_s3;
          param_4 = unaff_s1;
          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);
          if (iVar7 < 0) {
            param_3 = acStack_20d0;
            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);
            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {
              local_20e8 = 1;
              param_3 = unaff_s3;
              param_4 = unaff_s1;
              local_20e4 = param_1;
              FUN_00012fbc(param_2);
            }
          }
          pcVar15 = unaff_s0;
          FUN_00013118(unaff_s7);
          uVar8 = 1;
          goto LAB_00013464;
        }
      } while (pcVar6 != unaff_s0);
      FUN_00013118(unaff_s7,pcVar6);
      pcVar19 = (char *)0x2000;
      pcVar15 = unaff_s7;
      pcVar6 = (char *)safe_read(param_2);
      pcVar24 = param_4;
    }
    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();
    unaff_s0 = (char *)*piVar27;
    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);
    param_4 = (char *)quotearg_style(4,param_1);
    pcVar15 = unaff_s0;
    param_3 = unaff_s1;
    (*(code *)PTR_error_0002d2a0)(0);
    uVar8 = 0;
  }
LAB_00013464:
  if (local_2c == *(int *)puVar3) {
    return uVar8;
  }
  uVar29 = 0x135ac;
  iVar7 = local_2c;
  puVar26 = PTR___stack_chk_fail_0002d2c4;
  (*(code *)PTR___stack_chk_fail_0002d2c4)();
  local_4138 = puVar26 + 0x21b24;
  local_2108 = puVar3;
  piVar27 = *(int **)(puVar26 + 0x19d30);
  local_2124 = *piVar27;
  iVar22 = *(int *)(puVar26 + 0x19b58);
  pcVar6 = pcVar15;
  pcVar24 = local_2110;
  puVar26 = unaff_s5;
  pcVar19 = unaff_s7;
  local_412c = iVar7;
  local_2120 = unaff_s0;
  local_211c = unaff_s1;
  local_2118 = unaff_s2;
  local_2114 = unaff_s3;
  local_210c = unaff_s5;
  local_2104 = unaff_s7;
  local_2100 = unaff_s8;
  local_20fc = uVar29;
  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {
    pcVar19 = acStack_4124;
    puVar26 = (undefined *)0xffffffff;
    iVar22 = iVar22 + 0x3118;
    pcVar23 = param_4;
    pcVar9 = (char *)0x2000;
    pcVar5 = param_3;
    do {
      unaff_s8 = pcVar5;
      unaff_s2 = pcVar9;
      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {
        unaff_s2 = pcVar23;
      }
      pcVar6 = pcVar19;
      param_3 = unaff_s2;
      pcVar9 = (char *)safe_read(pcVar15);
      pcVar24 = pcVar15;
      if (pcVar9 == (char *)0xffffffff) {
        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();
        unaff_s0 = (char *)*piVar10;
        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))
                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);
        param_4 = (char *)quotearg_style(4,local_412c);
        pcVar6 = unaff_s0;
        param_3 = unaff_s1;
        (**(code **)(local_4138 + -0x7e30))(0);
        uVar8 = 0;
        goto LAB_000136f4;
      }
      unaff_s0 = pcVar23 + -(int)pcVar9;
      unaff_s1 = pcVar23;
      if (pcVar9 == (char *)0x0) break;
      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);
      FUN_00013118(pcVar19);
      pcVar6 = pcVar9;
      unaff_s1 = unaff_s0;
      pcVar23 = unaff_s0;
      pcVar9 = unaff_s2;
      pcVar5 = unaff_s8;
    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);
  }
  uVar8 = 1;
LAB_000136f4:
  if (local_2124 == *piVar27) {
    return uVar8;
  }
  pcVar28 = *(code **)(local_4138 + -0x7e0c);
  pcVar30 = FUN_0001373c;
  iVar7 = local_2124;
  (*pcVar28)();
  pcStack_4160 = pcVar28 + 0x21994;
  pcStack_4154 = unaff_s0;
  pcStack_4150 = unaff_s1;
  pcStack_414c = pcVar30;
  if (iVar7 == 1) {
    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();
    uVar20 = *puVar11;
    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);
    uVar12 = quotearg_style(4,pcVar6);
                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);
    return uVar8;
  }
  if (iVar7 == 2) {
    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();
    uVar20 = *puVar11;
    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);
    uVar12 = quotearg_n_style_colon(0,3,pcVar6);
                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);
    return uVar8;
  }
  pcVar30 = *(code **)(pcVar28 + 0x19ae0);
  pcVar31 = FUN_00013860;
  pcVar15 = pcVar6;
  (*pcVar30)();
  pcVar28 = pcStack_4160;
  pcStack_61c0 = pcVar30 + 0x21870;
  pcStack_61a4 = pcStack_415c;
  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);
  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;
  iStack_419c = *piStack_61ac;
  if ((int)((iStack_4158 - (int)pcStack_4160) -
           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {
    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;
  }
  uStack_61c8 = 0;
  uVar21 = 0x2000;
  if (uVar8 != 0) {
    uVar21 = uVar8;
  }
  pcVar23 = pcStack_4154 + -uVar21;
  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);
  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));
  iStack_61c4 = iVar7;
  iStack_61b4 = iVar7;
  pcStack_4198 = pcVar6;
  pcStack_4194 = unaff_s1;
  pcStack_4190 = unaff_s2;
  iStack_418c = iVar22;
  pcStack_4188 = pcVar24;
  puStack_4184 = puVar26;
  piStack_4180 = piVar27;
  pcStack_417c = pcVar19;
  pcStack_4178 = unaff_s8;
  pcStack_4174 = pcVar31;
  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);
  if (-1 < iVar7) {
    unaff_s1 = acStack_619d + 1;
    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);
    if (pcVar6 != (char *)0xffffffff) {
      uVar21 = (uint)param_3 | (uint)param_4;
      pcVar24 = pcVar23;
      pcVar19 = param_4;
      if (uVar21 == 0) {
        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);
      }
      else {
        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);
        if ((pcVar6 != (char *)0x0) &&
           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),
           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {
          pcVar19 = param_4 + -1;
          param_3 = param_3 + ((pcVar19 < param_4) - 1);
        }
      }
      do {
        pcVar31 = pcStack_61c0;
        pcVar23 = pcVar24;
        if (pcVar6 != (char *)0x0) {
          cVar1 = pcStack_61a8[-0x2cdf];
          pcVar9 = param_3;
          do {
            if (uVar21 == 0) {
              pcVar6 = pcVar6 + -1;
              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;
            }
            else {
              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);
              param_3 = pcVar9;
              pcVar31 = pcStack_61c0;
              if (iVar7 == 0) break;
              pcVar6 = (char *)(iVar7 - (int)unaff_s1);
              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {
LAB_000139ec:
                pcStack_61a8 = pcVar6;
                param_3 = pcStack_61a4;
                pcVar6 = pcVar9 + -1;
                if ((int)pcVar28 < (int)pcVar30) {
LAB_000139f8:
                  iStack_61c4 = iStack_61b4;
                  uStack_61c8 = 0;
                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);
                  if (iVar7 < 0) goto LAB_00013b8c;
                  iVar7 = FUN_000131f4(pcVar15);
                  pcVar9 = param_3;
                  if (iVar7 != 0) {
                    FUN_0001373c(iVar7,iStack_61b4);
                    uVar8 = 0;
                    pcVar31 = pcStack_61c0;
                    goto LAB_00013b94;
                  }
LAB_00013a58:
                  pcVar6 = pcStack_61a8 + 1;
                }
                else {
                  if (pcVar30 != pcVar28) goto LAB_00013a58;
                  pcVar6 = pcStack_61a8 + 1;
                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;
                }
                FUN_00013118(unaff_s1,pcVar6);
                pcVar24 = pcStack_61a8 + (int)pcVar24;
                uStack_61c8 = 0;
                iStack_61c4 = iStack_61b4;
                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);
                uVar8 = (*pcStack_61b0)(pcVar15);
                uVar8 = ~uVar8 >> 0x1f;
                param_3 = pcVar9;
                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);
                pcVar31 = pcStack_61c0;
                goto LAB_00013b94;
              }
            }
            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);
            pcVar19 = pcVar19 + -1;
            pcVar9 = param_3;
          } while (pcVar6 != (char *)0x0);
        }
        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;
        pcVar23 = pcVar24 + -0x2000;
        uStack_61c8 = 0;
        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);
        iStack_61c4 = iStack_61b4;
        iVar7 = (*pcStack_61b0)(pcVar15);
        if (iVar7 < 0) goto LAB_00013b8c;
        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);
        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;
        uVar8 = 1;
        pcVar24 = pcVar23;
        pcVar31 = pcStack_61c0;
      } while (pcVar6 != (char *)0x0);
      goto LAB_00013b94;
    }
LAB_00013b28:
    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();
    param_3 = (char *)*puVar11;
    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))
                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);
    uVar29 = quotearg_style(4,iStack_61b4);
    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);
  }
LAB_00013b8c:
  uVar8 = 0;
  pcVar31 = pcStack_61c0;
LAB_00013b94:
  if (iStack_419c == *piStack_61ac) {
    return uVar8;
  }
  pcVar28 = *(code **)(pcVar31 + -0x7e0c);
  pcVar32 = usage;
  iVar7 = iStack_419c;
  (*pcVar28)();
  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);
  pcVar31 = *(code **)(pcVar28 + 0x19660);
  pcStack_61f0 = param_3;
  pcStack_61ec = unaff_s1;
  uStack_61e8 = uVar21;
  pcStack_61e4 = pcVar23;
  pcStack_61e0 = pcVar30;
  pcStack_61dc = pcVar32;
  if (iVar7 == 0) goto LAB_00013cf8;
  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);
  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);
  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));
  do {
    pcVar31 = *(code **)(pcVar28 + 0x19620);
    (*pcVar31)(iVar7);
LAB_00013cf8:
    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);
    uVar29 = (*pcVar31)();
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);
    piVar27 = aiStack_622c;
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    iVar22 = *(int *)(pcVar28 + 0x19490);
    piVar10 = (int *)(iVar22 + -0x2ff0);
    piVar4 = piVar27;
    do {
      piVar16 = piVar4;
      piVar13 = piVar10;
      piVar10 = piVar13 + 4;
      *piVar16 = *piVar13;
      iVar18 = piVar13[2];
      iVar17 = piVar13[3];
      piVar16[1] = piVar13[1];
      piVar16[2] = iVar18;
      piVar16[3] = iVar17;
      piVar4 = piVar16 + 4;
    } while (piVar10 != (int *)(iVar22 + -0x2fc0));
    iVar22 = piVar13[5];
    iVar17 = *(int *)(pcVar28 + 0x194a0);
    piVar16[4] = *piVar10;
    piVar16[5] = iVar22;
    iVar22 = aiStack_622c[0];
    while (iVar22 != 0) {
      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);
      if (iVar22 == 0) {
        iVar22 = *(int *)(pcVar28 + 0x194a0);
        goto LAB_00013f44;
      }
      piVar27 = piVar27 + 2;
      iVar22 = *piVar27;
    }
    iVar22 = *(int *)(pcVar28 + 0x194a0);
LAB_00013f44:
    iVar18 = piVar27[1];
    iVar25 = *(int *)(pcVar28 + 0x194a0);
    if (iVar18 == 0) {
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);
      (**(code **)(pcVar28 + 0x195f0))
                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);
      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);
      if ((iVar22 != 0) &&
         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),
         iVar22 != 0)) {
        iVar18 = iVar17 + -0x4f1c;
        iVar22 = iVar18;
LAB_00014148:
        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);
        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);
        goto LAB_00013fcc;
      }
      iVar18 = iVar17 + -0x4f1c;
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);
      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);
      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;
    }
    else {
      uVar29 = (**(code **)(pcVar28 + 0x19660))();
      (**(code **)(pcVar28 + 0x195f0))
                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);
      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);
      if (iVar22 == 0) {
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;
      }
      else {
        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;
        if (iVar14 != 0) goto LAB_00014148;
      }
LAB_00013fcc:
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);
      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);
      if (iVar18 == iVar22) {
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;
      }
      else {
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;
      }
    }
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);
  } while( true );
}


lui gp,0x2
addiu gp,gp,0x1d8c
addu gp,gp,t9
addiu sp,sp,-0x20f8
or v0,a2,a3
sw s6,0x20e8(sp)
lw s6,-0x7df4(gp)
sw gp,0x18(sp)
sw ra,0x20f4(sp)
sw s8,0x20f0(sp)
sw s7,0x20ec(sp)
sw s5,0x20e4(sp)
sw s4,0x20e0(sp)
sw s3,0x20dc(sp)
sw s2,0x20d8(sp)
sw s1,0x20d4(sp)
sw s0,0x20d0(sp)
sw a0,0x24(sp)
lw v1,0x0(s6)
sw v1,0x20cc(sp)
beq v0,zero,0x00013598
_lw t9,-0x7fb4(gp)
addiu s7,sp,0xcc
lw s5,-0x7fcc(gp)
or s2,a1,zero
or s8,a2,zero
lw s4,-0x7fd8(gp)
li a2,0x2000
or a1,s7,zero
or a0,s2,zero
li s3,-0x1
bal 0x00016b00
_or s1,a3,zero
addiu s5,s5,0x3118
beq v0,s3,0x000134cc
_lw gp,0x18(sp)
beq v0,zero,0x00013598
_lb a0,-0x2cdf(s4)
b 0x000133ec
_or s0,zero,zero
beq v0,s0,0x000134a0
_or a1,v0,zero
addiu s0,s0,0x1
addu v1,s7,s0
lb v1,-0x1(v1)
bne v1,a0,0x000133e4
_addiu v1,s1,-0x1
addiu s8,s8,-0x1
sltu s1,v1,s1
addu s8,s1,s8
or s1,v1,zero
or v1,s8,v1
bne v1,zero,0x000133e4
_lw t9,-0x7e28(gp)
subu s1,s0,v0
li v0,0x1
sltu s3,zero,s1
subu s3,zero,s3
sw v0,0x10(sp)
or a3,s1,zero
or a2,s3,zero
jalr t9
_or a0,s2,zero
bltz v0,0x00013538
_lw gp,0x18(sp)
lw t9,-0x7fcc(gp)
or a1,s0,zero
addiu t9,t9,0x3118
bal 0x00013118
_or a0,s7,zero
li v0,0x1
lw gp,0x18(sp)
lw a0,0x20cc(sp)
lw v1,0x0(s6)
bne a0,v1,0x000135a0
_lw ra,0x20f4(sp)
lw s8,0x20f0(sp)
lw s7,0x20ec(sp)
lw s6,0x20e8(sp)
lw s5,0x20e4(sp)
lw s4,0x20e0(sp)
lw s3,0x20dc(sp)
lw s2,0x20d8(sp)
lw s1,0x20d4(sp)
lw s0,0x20d0(sp)
jr ra
_addiu sp,sp,0x20f8
or t9,s5,zero
bal 0x00013118
_or a0,s7,zero
li a2,0x2000
lw gp,0x18(sp)
or a1,s7,zero
lw t9,-0x7fb4(gp)
bal 0x00016b00
_or a0,s2,zero
bne v0,s3,0x000133d4
_lw gp,0x18(sp)
lw t9,-0x7e6c(gp)
jalr t9
_nop
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
lw s0,0x0(v0)
lw a1,-0x7fc8(gp)
lw t9,-0x7e08(gp)
jalr t9
_addiu a1,a1,-0x4f50
li a0,0x4
lw gp,0x18(sp)
or s1,v0,zero
lw t9,-0x7fb8(gp)
bal 0x00016690
_lw a1,0x24(sp)
or a0,zero,zero
lw gp,0x18(sp)
or a3,v0,zero
or a2,s1,zero
lw t9,-0x7e30(gp)
jalr t9
_or a1,s0,zero
or v0,zero,zero
b 0x00013464
_lw gp,0x18(sp)
lw t9,-0x7e1c(gp)
addiu a2,sp,0x28
li a0,0x3
jalr t9
_or a1,s2,zero
bne v0,zero,0x00013568
_lw gp,0x18(sp)
lw v0,0x40(sp)
ori v1,zero,0x8000
andi v0,v0,0xf000
bne v0,v1,0x0001344c
_lw t9,-0x7fcc(gp)
lw v0,0x24(sp)
or a2,s3,zero
lw t9,-0x7fcc(gp)
or a3,s1,zero
or a0,s2,zero
sw v0,0x14(sp)
li v0,0x1
addiu t9,t9,0x2fbc
bal 0x00012fbc
_sw v0,0x10(sp)
b 0x00013448
_lw gp,0x18(sp)
b 0x00013464
_li v0,0x1
lw t9,-0x7e0c(gp)
jalr t9
_nop
lui gp,0x2
addiu gp,gp,0x1b24
addu gp,gp,t9
addiu sp,sp,-0x2050
or v0,a2,a3
sw s6,0x2040(sp)
lw s6,-0x7df4(gp)
sw gp,0x10(sp)
sw ra,0x204c(sp)
sw s8,0x2048(sp)
sw s7,0x2044(sp)
sw s5,0x203c(sp)
sw s4,0x2038(sp)
sw s3,0x2034(sp)
sw s2,0x2030(sp)
sw s1,0x202c(sp)
sw s0,0x2028(sp)
sw a0,0x1c(sp)
lw v1,0x0(s6)
sw v1,0x2024(sp)
beq v0,zero,0x000136f0
_lw s3,-0x7fcc(gp)
or s8,a2,zero
or s1,a3,zero
or s4,a1,zero
li s2,0x2000
addiu s7,sp,0x24
li s5,-0x1
b 0x00013654
_addiu s3,s3,0x3118
beq v0,zero,0x000136f0
_subu s0,s1,s0
or a1,v0,zero
sltu s1,s1,s0
subu s8,s8,s1
or t9,s3,zero
bal 0x00013118
_or a0,s7,zero
or v0,s8,s0
lw gp,0x10(sp)
beq v0,zero,0x000136f0
_or s1,s0,zero
bne s8,zero,0x00013668
_or a2,s2,zero
sltu v0,s1,s2
movn s2,s1,v0
or a2,s2,zero
lw t9,-0x7fb4(gp)
or a1,s7,zero
bal 0x00016b00
_or a0,s4,zero
lw gp,0x10(sp)
bne v0,s5,0x00013624
_or s0,v0,zero
lw t9,-0x7e6c(gp)
jalr t9
_nop
li a2,0x5
lw gp,0x10(sp)
or a0,zero,zero
lw s0,0x0(v0)
lw a1,-0x7fc8(gp)
lw t9,-0x7e08(gp)
jalr t9
_addiu a1,a1,-0x4f50
li a0,0x4
lw gp,0x10(sp)
or s1,v0,zero
lw t9,-0x7fb8(gp)
bal 0x00016690
_lw a1,0x1c(sp)
or a0,zero,zero
lw gp,0x10(sp)
or a3,v0,zero
or a2,s1,zero
lw t9,-0x7e30(gp)
jalr t9
_or a1,s0,zero
or v0,zero,zero
b 0x000136f4
_lw gp,0x10(sp)
li v0,0x1
lw a0,0x2024(sp)
lw v1,0x0(s6)
bne a0,v1,0x00013730
_lw ra,0x204c(sp)
lw s8,0x2048(sp)
lw s7,0x2044(sp)
lw s6,0x2040(sp)
lw s5,0x203c(sp)
lw s4,0x2038(sp)
lw s3,0x2034(sp)
lw s2,0x2030(sp)
lw s1,0x202c(sp)
lw s0,0x2028(sp)
jr ra
_addiu sp,sp,0x2050
lw t9,-0x7e0c(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nuint FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}\n\n" comment (function_definition "uint FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}" type_identifier (function_declarator "FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)" identifier (parameter_list "(undefined4 param_1,char *param_2,char *param_3,char *param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "char *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "char *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "char *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "char *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "char *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "char *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "char *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int aiStack_622c [14];" primitive_type (array_declarator "aiStack_622c [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_61f4;" type_identifier identifier ;) (declaration "char *pcStack_61f0;" primitive_type (pointer_declarator "*pcStack_61f0" * identifier) ;) (declaration "char *pcStack_61ec;" primitive_type (pointer_declarator "*pcStack_61ec" * identifier) ;) (declaration "uint uStack_61e8;" type_identifier identifier ;) (declaration "char *pcStack_61e4;" primitive_type (pointer_declarator "*pcStack_61e4" * identifier) ;) (declaration "code *pcStack_61e0;" type_identifier (pointer_declarator "*pcStack_61e0" * identifier) ;) (declaration "code *pcStack_61dc;" type_identifier (pointer_declarator "*pcStack_61dc" * identifier) ;) (declaration "undefined4 uStack_61c8;" type_identifier identifier ;) (declaration "int iStack_61c4;" primitive_type identifier ;) (declaration "code *pcStack_61c0;" type_identifier (pointer_declarator "*pcStack_61c0" * identifier) ;) (declaration "int iStack_61b4;" primitive_type identifier ;) (declaration "code *pcStack_61b0;" type_identifier (pointer_declarator "*pcStack_61b0" * identifier) ;) (declaration "int *piStack_61ac;" primitive_type (pointer_declarator "*piStack_61ac" * identifier) ;) (declaration "char *pcStack_61a8;" primitive_type (pointer_declarator "*pcStack_61a8" * identifier) ;) (declaration "char *pcStack_61a4;" primitive_type (pointer_declarator "*pcStack_61a4" * identifier) ;) (declaration "char acStack_619d [8193];" primitive_type (array_declarator "acStack_619d [8193]" identifier [ number_literal ]) ;) (declaration "int iStack_419c;" primitive_type identifier ;) (declaration "char *pcStack_4198;" primitive_type (pointer_declarator "*pcStack_4198" * identifier) ;) (declaration "char *pcStack_4194;" primitive_type (pointer_declarator "*pcStack_4194" * identifier) ;) (declaration "char *pcStack_4190;" primitive_type (pointer_declarator "*pcStack_4190" * identifier) ;) (declaration "int iStack_418c;" primitive_type identifier ;) (declaration "char *pcStack_4188;" primitive_type (pointer_declarator "*pcStack_4188" * identifier) ;) (declaration "undefined *puStack_4184;" type_identifier (pointer_declarator "*puStack_4184" * identifier) ;) (declaration "int *piStack_4180;" primitive_type (pointer_declarator "*piStack_4180" * identifier) ;) (declaration "char *pcStack_417c;" primitive_type (pointer_declarator "*pcStack_417c" * identifier) ;) (declaration "char *pcStack_4178;" primitive_type (pointer_declarator "*pcStack_4178" * identifier) ;) (declaration "code *pcStack_4174;" type_identifier (pointer_declarator "*pcStack_4174" * identifier) ;) (declaration "code *pcStack_4160;" type_identifier (pointer_declarator "*pcStack_4160" * identifier) ;) (declaration "char *pcStack_415c;" primitive_type (pointer_declarator "*pcStack_415c" * identifier) ;) (declaration "int iStack_4158;" primitive_type identifier ;) (declaration "char *pcStack_4154;" primitive_type (pointer_declarator "*pcStack_4154" * identifier) ;) (declaration "char *pcStack_4150;" primitive_type (pointer_declarator "*pcStack_4150" * identifier) ;) (declaration "code *pcStack_414c;" type_identifier (pointer_declarator "*pcStack_414c" * identifier) ;) (declaration "undefined *local_4138;" type_identifier (pointer_declarator "*local_4138" * identifier) ;) (declaration "int local_412c;" primitive_type identifier ;) (declaration "char acStack_4124 [8192];" primitive_type (array_declarator "acStack_4124 [8192]" identifier [ number_literal ]) ;) (declaration "int local_2124;" primitive_type identifier ;) (declaration "char *local_2120;" primitive_type (pointer_declarator "*local_2120" * identifier) ;) (declaration "char *local_211c;" primitive_type (pointer_declarator "*local_211c" * identifier) ;) (declaration "char *local_2118;" primitive_type (pointer_declarator "*local_2118" * identifier) ;) (declaration "char *local_2114;" primitive_type (pointer_declarator "*local_2114" * identifier) ;) (declaration "char *local_2110;" primitive_type (pointer_declarator "*local_2110" * identifier) ;) (declaration "undefined *local_210c;" type_identifier (pointer_declarator "*local_210c" * identifier) ;) (declaration "undefined *local_2108;" type_identifier (pointer_declarator "*local_2108" * identifier) ;) (declaration "char *local_2104;" primitive_type (pointer_declarator "*local_2104" * identifier) ;) (declaration "char *local_2100;" primitive_type (pointer_declarator "*local_2100" * identifier) ;) (declaration "undefined4 local_20fc;" type_identifier identifier ;) (declaration "undefined4 local_20e8;" type_identifier identifier ;) (declaration "undefined4 local_20e4;" type_identifier identifier ;) (declaration "char acStack_20d0 [24];" primitive_type (array_declarator "acStack_20d0 [24]" identifier [ number_literal ]) ;) (declaration "uint local_20b8;" type_identifier identifier ;) (declaration "char local_202c [8192];" primitive_type (array_declarator "local_202c [8192]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0002d2dc" identifier = identifier) ;) (expression_statement "puVar2 = PTR_0002d104;" (assignment_expression "puVar2 = PTR_0002d104" identifier = identifier) ;) (expression_statement "puVar26 = PTR_DAT_0002d0f8;" (assignment_expression "puVar26 = PTR_DAT_0002d0f8" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0002d2dc" * (cast_expression "(int *)PTR___stack_chk_guard_0002d2dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar15 = param_2;" (assignment_expression "pcVar15 = param_2" identifier = identifier) ;) (expression_statement "local_2110 = unaff_s4;" (assignment_expression "local_2110 = unaff_s4" identifier = identifier) ;) (if_statement "if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" if (parenthesized_expression "(param_3 == (char *)0x0 && param_4 == (char *)0x0)" ( (binary_expression "param_3 == (char *)0x0 && param_4 == (char *)0x0" (binary_expression "param_3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "param_4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_00013598:\n    uVar8 = 1;\n  }" { (labeled_statement "LAB_00013598:\n    uVar8 = 1;" statement_identifier : (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" else (compound_statement "{\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" { (expression_statement "unaff_s7 = local_202c;" (assignment_expression "unaff_s7 = local_202c" identifier = identifier) ;) (expression_statement "pcVar19 = (char *)0x2000;" (assignment_expression "pcVar19 = (char *)0x2000" identifier = (cast_expression "(char *)0x2000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = (char *)0xffffffff;" (assignment_expression "unaff_s3 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = unaff_s7;" (assignment_expression "pcVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "pcVar24 = param_4;" (assignment_expression "pcVar24 = param_4" identifier = identifier) ;) (expression_statement "pcVar6 = (char *)safe_read(param_2);" (assignment_expression "pcVar6 = (char *)safe_read(param_2)" identifier = (cast_expression "(char *)safe_read(param_2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (expression_statement "unaff_s5 = puVar2 + 0x3118;" (assignment_expression "unaff_s5 = puVar2 + 0x3118" identifier = (binary_expression "puVar2 + 0x3118" identifier + number_literal)) ;) (expression_statement "unaff_s8 = param_3;" (assignment_expression "unaff_s8 = param_3" identifier = identifier) ;) (expression_statement "unaff_s1 = param_4;" (assignment_expression "unaff_s1 = param_4" identifier = identifier) ;) (while_statement "while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }" while (parenthesized_expression "(param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff)" ( (comma_expression "param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "param_4 = pcVar24" identifier = identifier) , (comma_expression "param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "param_3 = pcVar19" identifier = identifier) , (comma_expression "unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "unaff_s2 = param_2" identifier = identifier) , (comma_expression "local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "local_2110 = puVar26" identifier = identifier) , (binary_expression "pcVar6 != (char *)0xffffffff" identifier != (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))))) )) (compound_statement "{\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }" { (if_statement "if (pcVar6 == (char *)0x0) goto LAB_00013598;" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013598;" goto statement_identifier ;)) (expression_statement "unaff_s0 = (char *)0x0;" (assignment_expression "unaff_s0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);" do (compound_statement "{\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      }" { (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pcVar15 = unaff_s1 + -1;" (assignment_expression "pcVar15 = unaff_s1 + -1" identifier = (binary_expression "unaff_s1 + -1" identifier + number_literal)) ;) (if_statement "if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }" if (parenthesized_expression "(((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0))" ( (binary_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)" (parenthesized_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf])" ( (binary_expression "(&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]" (subscript_expression "(&stack0xffffdfd3)[(int)unaff_s0]" (parenthesized_expression "(&stack0xffffdfd3)" ( (pointer_expression "&stack0xffffdfd3" & identifier) )) [ (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) ]) == (subscript_expression "puVar26[-0x2cdf]" identifier [ number_literal ])) )) && (parenthesized_expression "(unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)" ( (comma_expression "unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (assignment_expression "unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1)" identifier = (binary_expression "unaff_s8 + ((pcVar15 < unaff_s1) - 1)" identifier + (parenthesized_expression "((pcVar15 < unaff_s1) - 1)" ( (binary_expression "(pcVar15 < unaff_s1) - 1" (parenthesized_expression "(pcVar15 < unaff_s1)" ( (binary_expression "pcVar15 < unaff_s1" identifier < identifier) )) - number_literal) )))) , (comma_expression "unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (assignment_expression "unaff_s1 = pcVar15" identifier = identifier) , (binary_expression "unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (compound_statement "{\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }" { (expression_statement "unaff_s1 = unaff_s0 + -(int)pcVar6;" (assignment_expression "unaff_s1 = unaff_s0 + -(int)pcVar6" identifier = (binary_expression "unaff_s0 + -(int)pcVar6" identifier + (unary_expression "-(int)pcVar6" - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);" (assignment_expression "unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0)" identifier = (cast_expression "(char *)-(uint)(unaff_s1 != (char *)0x0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (unary_expression "-(uint)(unaff_s1 != (char *)0x0)" - (call_expression "(uint)(unaff_s1 != (char *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s1 != (char *)0x0)" ( (binary_expression "unaff_s1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))))) ;) (expression_statement "local_20e8 = 1;" (assignment_expression "local_20e8 = 1" identifier = number_literal) ;) (expression_statement "param_3 = unaff_s3;" (assignment_expression "param_3 = unaff_s3" identifier = identifier) ;) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);" (assignment_expression "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2)" identifier = (call_expression "(*(code *)PTR_lseek64_0002d2a8)(param_2)" (parenthesized_expression "(*(code *)PTR_lseek64_0002d2a8)" ( (pointer_expression "*(code *)PTR_lseek64_0002d2a8" * (cast_expression "(code *)PTR_lseek64_0002d2a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }" { (expression_statement "param_3 = acStack_20d0;" (assignment_expression "param_3 = acStack_20d0" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);" (assignment_expression "iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2)" identifier = (call_expression "(*(code *)PTR___fxstat64_0002d2b4)(3,param_2)" (parenthesized_expression "(*(code *)PTR___fxstat64_0002d2b4)" ( (pointer_expression "*(code *)PTR___fxstat64_0002d2b4" * (cast_expression "(code *)PTR___fxstat64_0002d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,param_2)" ( number_literal , identifier )))) ;) (if_statement "if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }" if (parenthesized_expression "((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000))" ( (binary_expression "(iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) || (parenthesized_expression "((local_20b8 & 0xf000) == 0x8000)" ( (binary_expression "(local_20b8 & 0xf000) == 0x8000" (parenthesized_expression "(local_20b8 & 0xf000)" ( (binary_expression "local_20b8 & 0xf000" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }" { (expression_statement "local_20e8 = 1;" (assignment_expression "local_20e8 = 1" identifier = number_literal) ;) (expression_statement "param_3 = unaff_s3;" (assignment_expression "param_3 = unaff_s3" identifier = identifier) ;) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" identifier = identifier) ;) (expression_statement "local_20e4 = param_1;" (assignment_expression "local_20e4 = param_1" identifier = identifier) ;) (expression_statement "FUN_00012fbc(param_2);" (call_expression "FUN_00012fbc(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) })) })) (expression_statement "pcVar15 = unaff_s0;" (assignment_expression "pcVar15 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_00013118(unaff_s7);" (call_expression "FUN_00013118(unaff_s7)" identifier (argument_list "(unaff_s7)" ( identifier ))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00013464;" goto statement_identifier ;) })) }) while (parenthesized_expression "(pcVar6 != unaff_s0)" ( (binary_expression "pcVar6 != unaff_s0" identifier != identifier) )) ;) (expression_statement "FUN_00013118(unaff_s7,pcVar6);" (call_expression "FUN_00013118(unaff_s7,pcVar6)" identifier (argument_list "(unaff_s7,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "pcVar19 = (char *)0x2000;" (assignment_expression "pcVar19 = (char *)0x2000" identifier = (cast_expression "(char *)0x2000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = unaff_s7;" (assignment_expression "pcVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "pcVar6 = (char *)safe_read(param_2);" (assignment_expression "pcVar6 = (char *)safe_read(param_2)" identifier = (cast_expression "(char *)safe_read(param_2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (expression_statement "pcVar24 = param_4;" (assignment_expression "pcVar24 = param_4" identifier = identifier) ;) })) (expression_statement "piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = (char *)*piVar27;" (assignment_expression "unaff_s0 = (char *)*piVar27" identifier = (cast_expression "(char *)*piVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar27" * identifier))) ;) (expression_statement "unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002d2c8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002d2c8" * (cast_expression "(code *)PTR_dcgettext_0002d2c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002d108 + -0x4f50,5)" ( number_literal , (binary_expression "PTR_DAT_0002d108 + -0x4f50" identifier + number_literal) , number_literal ))))) ;) (expression_statement "param_4 = (char *)quotearg_style(4,param_1);" (assignment_expression "param_4 = (char *)quotearg_style(4,param_1)" identifier = (cast_expression "(char *)quotearg_style(4,param_1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "quotearg_style(4,param_1)" identifier (argument_list "(4,param_1)" ( number_literal , identifier ))))) ;) (expression_statement "pcVar15 = unaff_s0;" (assignment_expression "pcVar15 = unaff_s0" identifier = identifier) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "(*(code *)PTR_error_0002d2a0)(0);" (call_expression "(*(code *)PTR_error_0002d2a0)(0)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" ( (pointer_expression "*(code *)PTR_error_0002d2a0" * (cast_expression "(code *)PTR_error_0002d2a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar3)" ( (binary_expression "local_2c == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "uVar29 = 0x135ac;" (assignment_expression "uVar29 = 0x135ac" identifier = number_literal) ;) (expression_statement "iVar7 = local_2c;" (assignment_expression "iVar7 = local_2c" identifier = identifier) ;) (expression_statement "puVar26 = PTR___stack_chk_fail_0002d2c4;" (assignment_expression "puVar26 = PTR___stack_chk_fail_0002d2c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" * (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_4138 = puVar26 + 0x21b24;" (assignment_expression "local_4138 = puVar26 + 0x21b24" identifier = (binary_expression "puVar26 + 0x21b24" identifier + number_literal)) ;) (expression_statement "local_2108 = puVar3;" (assignment_expression "local_2108 = puVar3" identifier = identifier) ;) (expression_statement "piVar27 = *(int **)(puVar26 + 0x19d30);" (assignment_expression "piVar27 = *(int **)(puVar26 + 0x19d30)" identifier = (pointer_expression "*(int **)(puVar26 + 0x19d30)" * (cast_expression "(int **)(puVar26 + 0x19d30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x19d30)" ( (binary_expression "puVar26 + 0x19d30" identifier + number_literal) ))))) ;) (expression_statement "local_2124 = *piVar27;" (assignment_expression "local_2124 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iVar22 = *(int *)(puVar26 + 0x19b58);" (assignment_expression "iVar22 = *(int *)(puVar26 + 0x19b58)" identifier = (pointer_expression "*(int *)(puVar26 + 0x19b58)" * (cast_expression "(int *)(puVar26 + 0x19b58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x19b58)" ( (binary_expression "puVar26 + 0x19b58" identifier + number_literal) ))))) ;) (expression_statement "pcVar6 = pcVar15;" (assignment_expression "pcVar6 = pcVar15" identifier = identifier) ;) (expression_statement "pcVar24 = local_2110;" (assignment_expression "pcVar24 = local_2110" identifier = identifier) ;) (expression_statement "puVar26 = unaff_s5;" (assignment_expression "puVar26 = unaff_s5" identifier = identifier) ;) (expression_statement "pcVar19 = unaff_s7;" (assignment_expression "pcVar19 = unaff_s7" identifier = identifier) ;) (expression_statement "local_412c = iVar7;" (assignment_expression "local_412c = iVar7" identifier = identifier) ;) (expression_statement "local_2120 = unaff_s0;" (assignment_expression "local_2120 = unaff_s0" identifier = identifier) ;) (expression_statement "local_211c = unaff_s1;" (assignment_expression "local_211c = unaff_s1" identifier = identifier) ;) (expression_statement "local_2118 = unaff_s2;" (assignment_expression "local_2118 = unaff_s2" identifier = identifier) ;) (expression_statement "local_2114 = unaff_s3;" (assignment_expression "local_2114 = unaff_s3" identifier = identifier) ;) (expression_statement "local_210c = unaff_s5;" (assignment_expression "local_210c = unaff_s5" identifier = identifier) ;) (expression_statement "local_2104 = unaff_s7;" (assignment_expression "local_2104 = unaff_s7" identifier = identifier) ;) (expression_statement "local_2100 = unaff_s8;" (assignment_expression "local_2100 = unaff_s8" identifier = identifier) ;) (expression_statement "local_20fc = uVar29;" (assignment_expression "local_20fc = uVar29" identifier = identifier) ;) (if_statement "if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }" if (parenthesized_expression "(param_3 != (char *)0x0 || param_4 != (char *)0x0)" ( (binary_expression "param_3 != (char *)0x0 || param_4 != (char *)0x0" (binary_expression "param_3 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "param_4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }" { (expression_statement "pcVar19 = acStack_4124;" (assignment_expression "pcVar19 = acStack_4124" identifier = identifier) ;) (expression_statement "puVar26 = (undefined *)0xffffffff;" (assignment_expression "puVar26 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar22 = iVar22 + 0x3118;" (assignment_expression "iVar22 = iVar22 + 0x3118" identifier = (binary_expression "iVar22 + 0x3118" identifier + number_literal)) ;) (expression_statement "pcVar23 = param_4;" (assignment_expression "pcVar23 = param_4" identifier = identifier) ;) (expression_statement "pcVar9 = (char *)0x2000;" (assignment_expression "pcVar9 = (char *)0x2000" identifier = (cast_expression "(char *)0x2000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar5 = param_3;" (assignment_expression "pcVar5 = param_3" identifier = identifier) ;) (do_statement "do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);" do (compound_statement "{\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    }" { (expression_statement "unaff_s8 = pcVar5;" (assignment_expression "unaff_s8 = pcVar5" identifier = identifier) ;) (expression_statement "unaff_s2 = pcVar9;" (assignment_expression "unaff_s2 = pcVar9" identifier = identifier) ;) (if_statement "if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }" if (parenthesized_expression "((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9))" ( (binary_expression "(unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)" (parenthesized_expression "(unaff_s8 == (char *)0x0)" ( (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcVar23 < pcVar9)" ( (binary_expression "pcVar23 < pcVar9" identifier < identifier) ))) )) (compound_statement "{\n        unaff_s2 = pcVar23;\n      }" { (expression_statement "unaff_s2 = pcVar23;" (assignment_expression "unaff_s2 = pcVar23" identifier = identifier) ;) })) (expression_statement "pcVar6 = pcVar19;" (assignment_expression "pcVar6 = pcVar19" identifier = identifier) ;) (expression_statement "param_3 = unaff_s2;" (assignment_expression "param_3 = unaff_s2" identifier = identifier) ;) (expression_statement "pcVar9 = (char *)safe_read(pcVar15);" (assignment_expression "pcVar9 = (char *)safe_read(pcVar15)" identifier = (cast_expression "(char *)safe_read(pcVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))))) ;) (expression_statement "pcVar24 = pcVar15;" (assignment_expression "pcVar24 = pcVar15" identifier = identifier) ;) (if_statement "if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }" if (parenthesized_expression "(pcVar9 == (char *)0xffffffff)" ( (binary_expression "pcVar9 == (char *)0xffffffff" identifier == (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }" { (expression_statement "piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();" (assignment_expression "piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))()" identifier = (cast_expression "(int *)(**(code **)(local_4138 + -0x7e6c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_4138 + -0x7e6c))()" (parenthesized_expression "(**(code **)(local_4138 + -0x7e6c))" ( (pointer_expression "**(code **)(local_4138 + -0x7e6c)" * (pointer_expression "*(code **)(local_4138 + -0x7e6c)" * (cast_expression "(code **)(local_4138 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e6c)" ( (binary_expression "local_4138 + -0x7e6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = (char *)*piVar10;" (assignment_expression "unaff_s0 = (char *)*piVar10" identifier = (cast_expression "(char *)*piVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;) (expression_statement "unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" identifier = (cast_expression "(char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(local_4138 + -0x7e08))" ( (pointer_expression "**(code **)(local_4138 + -0x7e08)" * (pointer_expression "*(code **)(local_4138 + -0x7e08)" * (cast_expression "(code **)(local_4138 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e08)" ( (binary_expression "local_4138 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(local_4138 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(local_4138 + -0x7fc8)" * (cast_expression "(int *)(local_4138 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4138 + -0x7fc8)" ( (binary_expression "local_4138 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "param_4 = (char *)quotearg_style(4,local_412c);" (assignment_expression "param_4 = (char *)quotearg_style(4,local_412c)" identifier = (cast_expression "(char *)quotearg_style(4,local_412c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "quotearg_style(4,local_412c)" identifier (argument_list "(4,local_412c)" ( number_literal , identifier ))))) ;) (expression_statement "pcVar6 = unaff_s0;" (assignment_expression "pcVar6 = unaff_s0" identifier = identifier) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "(**(code **)(local_4138 + -0x7e30))(0);" (call_expression "(**(code **)(local_4138 + -0x7e30))(0)" (parenthesized_expression "(**(code **)(local_4138 + -0x7e30))" ( (pointer_expression "**(code **)(local_4138 + -0x7e30)" * (pointer_expression "*(code **)(local_4138 + -0x7e30)" * (cast_expression "(code **)(local_4138 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e30)" ( (binary_expression "local_4138 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000136f4;" goto statement_identifier ;) })) (expression_statement "unaff_s0 = pcVar23 + -(int)pcVar9;" (assignment_expression "unaff_s0 = pcVar23 + -(int)pcVar9" identifier = (binary_expression "pcVar23 + -(int)pcVar9" identifier + (unary_expression "-(int)pcVar9" - (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s1 = pcVar23;" (assignment_expression "unaff_s1 = pcVar23" identifier = identifier) ;) (if_statement "if (pcVar9 == (char *)0x0) break;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);" (assignment_expression "unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0)" identifier = (binary_expression "unaff_s8 + -(uint)(pcVar23 < unaff_s0)" identifier + (unary_expression "-(uint)(pcVar23 < unaff_s0)" - (call_expression "(uint)(pcVar23 < unaff_s0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar23 < unaff_s0)" ( (binary_expression "pcVar23 < unaff_s0" identifier < identifier) )))))) ;) (expression_statement "FUN_00013118(pcVar19);" (call_expression "FUN_00013118(pcVar19)" identifier (argument_list "(pcVar19)" ( identifier ))) ;) (expression_statement "pcVar6 = pcVar9;" (assignment_expression "pcVar6 = pcVar9" identifier = identifier) ;) (expression_statement "unaff_s1 = unaff_s0;" (assignment_expression "unaff_s1 = unaff_s0" identifier = identifier) ;) (expression_statement "pcVar23 = unaff_s0;" (assignment_expression "pcVar23 = unaff_s0" identifier = identifier) ;) (expression_statement "pcVar9 = unaff_s2;" (assignment_expression "pcVar9 = unaff_s2" identifier = identifier) ;) (expression_statement "pcVar5 = unaff_s8;" (assignment_expression "pcVar5 = unaff_s8" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0)" ( (binary_expression "unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0" (binary_expression "unaff_s8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "unaff_s0 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) })) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (local_2124 == *piVar27) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_2124 == *piVar27)" ( (binary_expression "local_2124 == *piVar27" identifier == (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "pcVar28 = *(code **)(local_4138 + -0x7e0c);" (assignment_expression "pcVar28 = *(code **)(local_4138 + -0x7e0c)" identifier = (pointer_expression "*(code **)(local_4138 + -0x7e0c)" * (cast_expression "(code **)(local_4138 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e0c)" ( (binary_expression "local_4138 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = FUN_0001373c;" (assignment_expression "pcVar30 = FUN_0001373c" identifier = identifier) ;) (expression_statement "iVar7 = local_2124;" (assignment_expression "iVar7 = local_2124" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_4160 = pcVar28 + 0x21994;" (assignment_expression "pcStack_4160 = pcVar28 + 0x21994" identifier = (binary_expression "pcVar28 + 0x21994" identifier + number_literal)) ;) (expression_statement "pcStack_4154 = unaff_s0;" (assignment_expression "pcStack_4154 = unaff_s0" identifier = identifier) ;) (expression_statement "pcStack_4150 = unaff_s1;" (assignment_expression "pcStack_4150 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_414c = pcVar30;" (assignment_expression "pcStack_414c = pcVar30" identifier = identifier) ;) (if_statement "if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" { (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19b28))" ( (pointer_expression "**(code **)(pcVar28 + 0x19b28)" * (pointer_expression "*(code **)(pcVar28 + 0x19b28)" * (cast_expression "(code **)(pcVar28 + 0x19b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19b28)" ( (binary_expression "pcVar28 + 0x19b28" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = *puVar11;" (assignment_expression "uVar20 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);" (assignment_expression "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" * (cast_expression "(code **)(pcStack_4160 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e08)" ( (binary_expression "pcStack_4160 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" * (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_4160 + -0x7fc8)" ( (binary_expression "pcStack_4160 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = quotearg_style(4,pcVar6);" (assignment_expression "uVar12 = quotearg_style(4,pcVar6)" identifier = (call_expression "quotearg_style(4,pcVar6)" identifier (argument_list "(4,pcVar6)" ( number_literal , identifier )))) ;) comment comment (expression_statement "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);" (assignment_expression "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" * (cast_expression "(code **)(pcStack_4160 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e30)" ( (binary_expression "pcStack_4160 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,uVar20,uVar29,uVar12)" ( number_literal , identifier , identifier , identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })) (if_statement "if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" { (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19b28))" ( (pointer_expression "**(code **)(pcVar28 + 0x19b28)" * (pointer_expression "*(code **)(pcVar28 + 0x19b28)" * (cast_expression "(code **)(pcVar28 + 0x19b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19b28)" ( (binary_expression "pcVar28 + 0x19b28" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = *puVar11;" (assignment_expression "uVar20 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);" (assignment_expression "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" * (cast_expression "(code **)(pcStack_4160 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e08)" ( (binary_expression "pcStack_4160 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" ( number_literal , (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" * (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_4160 + -0x7fc8)" ( (binary_expression "pcStack_4160 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = quotearg_n_style_colon(0,3,pcVar6);" (assignment_expression "uVar12 = quotearg_n_style_colon(0,3,pcVar6)" identifier = (call_expression "quotearg_n_style_colon(0,3,pcVar6)" identifier (argument_list "(0,3,pcVar6)" ( number_literal , number_literal , identifier )))) ;) comment comment (expression_statement "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);" (assignment_expression "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" * (cast_expression "(code **)(pcStack_4160 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e30)" ( (binary_expression "pcStack_4160 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,uVar20,uVar29,uVar12)" ( number_literal , identifier , identifier , identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })) (expression_statement "pcVar30 = *(code **)(pcVar28 + 0x19ae0);" (assignment_expression "pcVar30 = *(code **)(pcVar28 + 0x19ae0)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x19ae0)" * (cast_expression "(code **)(pcVar28 + 0x19ae0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19ae0)" ( (binary_expression "pcVar28 + 0x19ae0" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = FUN_00013860;" (assignment_expression "pcVar31 = FUN_00013860" identifier = identifier) ;) (expression_statement "pcVar15 = pcVar6;" (assignment_expression "pcVar15 = pcVar6" identifier = identifier) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar28 = pcStack_4160;" (assignment_expression "pcVar28 = pcStack_4160" identifier = identifier) ;) (expression_statement "pcStack_61c0 = pcVar30 + 0x21870;" (assignment_expression "pcStack_61c0 = pcVar30 + 0x21870" identifier = (binary_expression "pcVar30 + 0x21870" identifier + number_literal)) ;) (expression_statement "pcStack_61a4 = pcStack_415c;" (assignment_expression "pcStack_61a4 = pcStack_415c" identifier = identifier) ;) (expression_statement "piStack_61ac = *(int **)(pcVar30 + 0x19a7c);" (assignment_expression "piStack_61ac = *(int **)(pcVar30 + 0x19a7c)" identifier = (pointer_expression "*(int **)(pcVar30 + 0x19a7c)" * (cast_expression "(int **)(pcVar30 + 0x19a7c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x19a7c)" ( (binary_expression "pcVar30 + 0x19a7c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;" (assignment_expression "uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff" identifier = (binary_expression "(uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff" (call_expression "(uint)(pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_4154 + -(int)pcStack_415c)" ( (binary_expression "pcStack_4154 + -(int)pcStack_415c" identifier + (unary_expression "-(int)pcStack_415c" - (cast_expression "(int)pcStack_415c" ( (type_descriptor "int" primitive_type) ) identifier))) ))) & number_literal)) ;) (expression_statement "iStack_419c = *piStack_61ac;" (assignment_expression "iStack_419c = *piStack_61ac" identifier = (pointer_expression "*piStack_61ac" * identifier)) ;) (if_statement "if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }" if (parenthesized_expression "((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0)" ( (binary_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0" (cast_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c))" ( (binary_expression "(iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(iStack_4158 - (int)pcStack_4160)" ( (binary_expression "iStack_4158 - (int)pcStack_4160" identifier - (cast_expression "(int)pcStack_4160" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" ( (binary_expression "pcStack_4154 < pcStack_4154 + -(int)pcStack_415c" identifier < (binary_expression "pcStack_4154 + -(int)pcStack_415c" identifier + (unary_expression "-(int)pcStack_415c" - (cast_expression "(int)pcStack_415c" ( (type_descriptor "int" primitive_type) ) identifier)))) )))) ))) < number_literal) )) (compound_statement "{\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }" { (expression_statement "uVar8 = (uVar8 - 1 | 0xffffe000) + 1;" (assignment_expression "uVar8 = (uVar8 - 1 | 0xffffe000) + 1" identifier = (binary_expression "(uVar8 - 1 | 0xffffe000) + 1" (parenthesized_expression "(uVar8 - 1 | 0xffffe000)" ( (binary_expression "uVar8 - 1 | 0xffffe000" (binary_expression "uVar8 - 1" identifier - number_literal) | number_literal) )) + number_literal)) ;) })) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0x2000;" (assignment_expression "uVar21 = 0x2000" identifier = number_literal) ;) (if_statement "if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar21 = uVar8;\n  }" { (expression_statement "uVar21 = uVar8;" (assignment_expression "uVar21 = uVar8" identifier = identifier) ;) })) (expression_statement "pcVar23 = pcStack_4154 + -uVar21;" (assignment_expression "pcVar23 = pcStack_4154 + -uVar21" identifier = (binary_expression "pcStack_4154 + -uVar21" identifier + (unary_expression "-uVar21" - identifier))) ;) (expression_statement "pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);" (assignment_expression "pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" identifier = (cast_expression "(code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" ( (binary_expression "*(int *)(pcVar30 + 0x198a4) + 0x2fbc" (pointer_expression "*(int *)(pcVar30 + 0x198a4)" * (cast_expression "(int *)(pcVar30 + 0x198a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x198a4)" ( (binary_expression "pcVar30 + 0x198a4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));" (assignment_expression "pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" identifier = (cast_expression "(code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" ( (binary_expression "iStack_4158 - (uint)(pcStack_4154 < pcVar23)" identifier - (call_expression "(uint)(pcStack_4154 < pcVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_4154 < pcVar23)" ( (binary_expression "pcStack_4154 < pcVar23" identifier < identifier) )))) )))) ;) (expression_statement "iStack_61c4 = iVar7;" (assignment_expression "iStack_61c4 = iVar7" identifier = identifier) ;) (expression_statement "iStack_61b4 = iVar7;" (assignment_expression "iStack_61b4 = iVar7" identifier = identifier) ;) (expression_statement "pcStack_4198 = pcVar6;" (assignment_expression "pcStack_4198 = pcVar6" identifier = identifier) ;) (expression_statement "pcStack_4194 = unaff_s1;" (assignment_expression "pcStack_4194 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_4190 = unaff_s2;" (assignment_expression "pcStack_4190 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_418c = iVar22;" (assignment_expression "iStack_418c = iVar22" identifier = identifier) ;) (expression_statement "pcStack_4188 = pcVar24;" (assignment_expression "pcStack_4188 = pcVar24" identifier = identifier) ;) (expression_statement "puStack_4184 = puVar26;" (assignment_expression "puStack_4184 = puVar26" identifier = identifier) ;) (expression_statement "piStack_4180 = piVar27;" (assignment_expression "piStack_4180 = piVar27" identifier = identifier) ;) (expression_statement "pcStack_417c = pcVar19;" (assignment_expression "pcStack_417c = pcVar19" identifier = identifier) ;) (expression_statement "pcStack_4178 = unaff_s8;" (assignment_expression "pcStack_4178 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_4174 = pcVar31;" (assignment_expression "pcStack_4174 = pcVar31" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);" (assignment_expression "iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23)" identifier = (call_expression "FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23)" identifier (argument_list "(pcVar15,iStack_419c,pcVar30,pcVar23)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }" { (expression_statement "unaff_s1 = acStack_619d + 1;" (assignment_expression "unaff_s1 = acStack_619d + 1" identifier = (binary_expression "acStack_619d + 1" identifier + number_literal)) ;) (expression_statement "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);" (assignment_expression "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21)" identifier = (cast_expression "(char *)safe_read(pcVar15,unaff_s1,uVar21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(pcVar15,unaff_s1,uVar21)" identifier (argument_list "(pcVar15,unaff_s1,uVar21)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }" if (parenthesized_expression "(pcVar6 != (char *)0xffffffff)" ( (binary_expression "pcVar6 != (char *)0xffffffff" identifier != (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }" { (expression_statement "uVar21 = (uint)param_3 | (uint)param_4;" (assignment_expression "uVar21 = (uint)param_3 | (uint)param_4" identifier = (binary_expression "(uint)param_3 | (uint)param_4" (cast_expression "(uint)param_3" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pcVar24 = pcVar23;" (assignment_expression "pcVar24 = pcVar23" identifier = identifier) ;) (expression_statement "pcVar19 = param_4;" (assignment_expression "pcVar19 = param_4" identifier = identifier) ;) (if_statement "if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }" { (expression_statement "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" identifier = (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" else (compound_statement "{\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" { (expression_statement "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" identifier = (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }" if (parenthesized_expression "((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)))" ( (binary_expression "(pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))" (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))" ( (comma_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" identifier = (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) ))))) , (binary_expression "acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (subscript_expression "acStack_619d[(int)pcVar6]" identifier [ (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier) ]) != (pointer_expression "*(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" * (cast_expression "(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" ( (binary_expression "*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf" (pointer_expression "*(int *)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(int *)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))))) ))) )) (compound_statement "{\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }" { (expression_statement "pcVar19 = param_4 + -1;" (assignment_expression "pcVar19 = param_4 + -1" identifier = (binary_expression "param_4 + -1" identifier + number_literal)) ;) (expression_statement "param_3 = param_3 + ((pcVar19 < param_4) - 1);" (assignment_expression "param_3 = param_3 + ((pcVar19 < param_4) - 1)" identifier = (binary_expression "param_3 + ((pcVar19 < param_4) - 1)" identifier + (parenthesized_expression "((pcVar19 < param_4) - 1)" ( (binary_expression "(pcVar19 < param_4) - 1" (parenthesized_expression "(pcVar19 < param_4)" ( (binary_expression "pcVar19 < param_4" identifier < identifier) )) - number_literal) )))) ;) })) }))) (do_statement "do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);" do (compound_statement "{\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      }" { (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (expression_statement "pcVar23 = pcVar24;" (assignment_expression "pcVar23 = pcVar24" identifier = identifier) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }" { (expression_statement "cVar1 = pcStack_61a8[-0x2cdf];" (assignment_expression "cVar1 = pcStack_61a8[-0x2cdf]" identifier = (subscript_expression "pcStack_61a8[-0x2cdf]" identifier [ number_literal ])) ;) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" identifier = identifier) ;) (do_statement "do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);" do (compound_statement "{\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          }" { (if_statement "if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }" { (expression_statement "pcVar6 = pcVar6 + -1;" (assignment_expression "pcVar6 = pcVar6 + -1" identifier = (binary_expression "pcVar6 + -1" identifier + number_literal)) ;) (if_statement "if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;" if (parenthesized_expression "(pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0" (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcVar19 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000139ec;" goto statement_identifier ;)) }) (else_clause "else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" else (compound_statement "{\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" { (expression_statement "iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);" (assignment_expression "iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6)" identifier = (call_expression "(**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6)" (parenthesized_expression "(**(code **)(pcVar31 + -0x7e50))" ( (pointer_expression "**(code **)(pcVar31 + -0x7e50)" * (pointer_expression "*(code **)(pcVar31 + -0x7e50)" * (cast_expression "(code **)(pcVar31 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + -0x7e50)" ( (binary_expression "pcVar31 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "(unaff_s1,(int)cVar1,pcVar6)" ( identifier , (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (expression_statement "param_3 = pcVar9;" (assignment_expression "param_3 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar6 = (char *)(iVar7 - (int)unaff_s1);" (assignment_expression "pcVar6 = (char *)(iVar7 - (int)unaff_s1)" identifier = (cast_expression "(char *)(iVar7 - (int)unaff_s1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 - (int)unaff_s1)" ( (binary_expression "iVar7 - (int)unaff_s1" identifier - (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }" if (parenthesized_expression "(pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0" (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcVar19 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }" { (labeled_statement "LAB_000139ec:\n                pcStack_61a8 = pcVar6;" statement_identifier : (expression_statement "pcStack_61a8 = pcVar6;" (assignment_expression "pcStack_61a8 = pcVar6" identifier = identifier) ;)) (expression_statement "param_3 = pcStack_61a4;" (assignment_expression "param_3 = pcStack_61a4" identifier = identifier) ;) (expression_statement "pcVar6 = pcVar9 + -1;" (assignment_expression "pcVar6 = pcVar9 + -1" identifier = (binary_expression "pcVar9 + -1" identifier + number_literal)) ;) (if_statement "if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" if (parenthesized_expression "((int)pcVar28 < (int)pcVar30)" ( (binary_expression "(int)pcVar28 < (int)pcVar30" (cast_expression "(int)pcVar28" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }" { (labeled_statement "LAB_000139f8:\n                  iStack_61c4 = iStack_61b4;" statement_identifier : (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" identifier = identifier) ;)) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);" (assignment_expression "iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4)" identifier = (call_expression "(*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4)" (parenthesized_expression "(*pcStack_61b0)" ( (pointer_expression "*pcStack_61b0" * identifier) )) (argument_list "(pcVar15,pcVar6,pcVar28,pcStack_61a4)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00013b8c;" goto statement_identifier ;)) (expression_statement "iVar7 = FUN_000131f4(pcVar15);" (assignment_expression "iVar7 = FUN_000131f4(pcVar15)" identifier = (call_expression "FUN_000131f4(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }" { (expression_statement "FUN_0001373c(iVar7,iStack_61b4);" (call_expression "FUN_0001373c(iVar7,iStack_61b4)" identifier (argument_list "(iVar7,iStack_61b4)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) (labeled_statement "LAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;" statement_identifier : (expression_statement "pcVar6 = pcStack_61a8 + 1;" (assignment_expression "pcVar6 = pcStack_61a8 + 1" identifier = (binary_expression "pcStack_61a8 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" else (compound_statement "{\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" { (if_statement "if (pcVar30 != pcVar28) goto LAB_00013a58;" if (parenthesized_expression "(pcVar30 != pcVar28)" ( (binary_expression "pcVar30 != pcVar28" identifier != identifier) )) (goto_statement "goto LAB_00013a58;" goto statement_identifier ;)) (expression_statement "pcVar6 = pcStack_61a8 + 1;" (assignment_expression "pcVar6 = pcStack_61a8 + 1" identifier = (binary_expression "pcStack_61a8 + 1" identifier + number_literal)) ;) (if_statement "if (pcStack_61a4 < pcVar24) goto LAB_000139f8;" if (parenthesized_expression "(pcStack_61a4 < pcVar24)" ( (binary_expression "pcStack_61a4 < pcVar24" identifier < identifier) )) (goto_statement "goto LAB_000139f8;" goto statement_identifier ;)) }))) (expression_statement "FUN_00013118(unaff_s1,pcVar6);" (call_expression "FUN_00013118(unaff_s1,pcVar6)" identifier (argument_list "(unaff_s1,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "pcVar24 = pcStack_61a8 + (int)pcVar24;" (assignment_expression "pcVar24 = pcStack_61a8 + (int)pcVar24" identifier = (binary_expression "pcStack_61a8 + (int)pcVar24" identifier + (cast_expression "(int)pcVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" identifier = identifier) ;) (expression_statement "pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);" (assignment_expression "pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8)" identifier = (binary_expression "pcVar30 + (pcVar24 < pcStack_61a8)" identifier + (parenthesized_expression "(pcVar24 < pcStack_61a8)" ( (binary_expression "pcVar24 < pcStack_61a8" identifier < identifier) )))) ;) (expression_statement "uVar8 = (*pcStack_61b0)(pcVar15);" (assignment_expression "uVar8 = (*pcStack_61b0)(pcVar15)" identifier = (call_expression "(*pcStack_61b0)(pcVar15)" (parenthesized_expression "(*pcStack_61b0)" ( (pointer_expression "*pcStack_61b0" * identifier) )) (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "uVar8 = ~uVar8 >> 0x1f;" (assignment_expression "uVar8 = ~uVar8 >> 0x1f" identifier = (binary_expression "~uVar8 >> 0x1f" (unary_expression "~uVar8" ~ identifier) >> number_literal)) ;) (expression_statement "param_3 = pcVar9;" (assignment_expression "param_3 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);" (assignment_expression "pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24)" identifier = (cast_expression "(char *)(uint)(pcVar24 + 1 < pcVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar24 + 1 < pcVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar24 + 1 < pcVar24)" ( (binary_expression "pcVar24 + 1 < pcVar24" (binary_expression "pcVar24 + 1" identifier + number_literal) < identifier) ))))) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) }))) (expression_statement "param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);" (assignment_expression "param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1)" identifier = (binary_expression "pcVar9 + ((pcVar19 + -1 < pcVar19) - 1)" identifier + (parenthesized_expression "((pcVar19 + -1 < pcVar19) - 1)" ( (binary_expression "(pcVar19 + -1 < pcVar19) - 1" (parenthesized_expression "(pcVar19 + -1 < pcVar19)" ( (binary_expression "pcVar19 + -1 < pcVar19" (binary_expression "pcVar19 + -1" identifier + number_literal) < identifier) )) - number_literal) )))) ;) (expression_statement "pcVar19 = pcVar19 + -1;" (assignment_expression "pcVar19 = pcVar19 + -1" identifier = (binary_expression "pcVar19 + -1" identifier + number_literal)) ;) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;" if (parenthesized_expression "((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4))" ( (binary_expression "(pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)" (parenthesized_expression "(pcVar30 == pcVar28)" ( (binary_expression "pcVar30 == pcVar28" identifier == identifier) )) && (parenthesized_expression "(uVar8 = 1, pcVar24 == pcStack_61a4)" ( (comma_expression "uVar8 = 1, pcVar24 == pcStack_61a4" (assignment_expression "uVar8 = 1" identifier = number_literal) , (binary_expression "pcVar24 == pcStack_61a4" identifier == identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "pcVar23 = pcVar24 + -0x2000;" (assignment_expression "pcVar23 = pcVar24 + -0x2000" identifier = (binary_expression "pcVar24 + -0x2000" identifier + number_literal)) ;) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);" (assignment_expression "pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1)" identifier = (binary_expression "pcVar30 + ((pcVar23 < pcVar24) - 1)" identifier + (parenthesized_expression "((pcVar23 < pcVar24) - 1)" ( (binary_expression "(pcVar23 < pcVar24) - 1" (parenthesized_expression "(pcVar23 < pcVar24)" ( (binary_expression "pcVar23 < pcVar24" identifier < identifier) )) - number_literal) )))) ;) (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" identifier = identifier) ;) (expression_statement "iVar7 = (*pcStack_61b0)(pcVar15);" (assignment_expression "iVar7 = (*pcStack_61b0)(pcVar15)" identifier = (call_expression "(*pcStack_61b0)(pcVar15)" (parenthesized_expression "(*pcStack_61b0)" ( (pointer_expression "*pcStack_61b0" * identifier) )) (argument_list "(pcVar15)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00013b8c;" goto statement_identifier ;)) (expression_statement "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);" (assignment_expression "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000)" identifier = (cast_expression "(char *)safe_read(pcVar15,unaff_s1,0x2000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(pcVar15,unaff_s1,0x2000)" identifier (argument_list "(pcVar15,unaff_s1,0x2000)" ( identifier , identifier , number_literal ))))) ;) (if_statement "if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;" if (parenthesized_expression "(pcVar6 == (char *)0xffffffff)" ( (binary_expression "pcVar6 == (char *)0xffffffff" identifier == (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013b28;" goto statement_identifier ;)) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "pcVar24 = pcVar23;" (assignment_expression "pcVar24 = pcVar23" identifier = identifier) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) (labeled_statement "LAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();" statement_identifier : (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_61c0 + -0x7e6c))()" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e6c))" ( (pointer_expression "**(code **)(pcStack_61c0 + -0x7e6c)" * (pointer_expression "*(code **)(pcStack_61c0 + -0x7e6c)" * (cast_expression "(code **)(pcStack_61c0 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7e6c)" ( (binary_expression "pcStack_61c0 + -0x7e6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "param_3 = (char *)*puVar11;" (assignment_expression "param_3 = (char *)*puVar11" identifier = (cast_expression "(char *)*puVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" identifier = (cast_expression "(char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_61c0 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_61c0 + -0x7e08)" * (cast_expression "(code **)(pcStack_61c0 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7e08)" ( (binary_expression "pcStack_61c0 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_61c0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_61c0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_61c0 + -0x7fc8)" ( (binary_expression "pcStack_61c0 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "uVar29 = quotearg_style(4,iStack_61b4);" (assignment_expression "uVar29 = quotearg_style(4,iStack_61b4)" identifier = (call_expression "quotearg_style(4,iStack_61b4)" identifier (argument_list "(4,iStack_61b4)" ( number_literal , identifier )))) ;) (expression_statement "(**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);" (call_expression "(**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29)" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_61c0 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_61c0 + -0x7e30)" * (cast_expression "(code **)(pcStack_61c0 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7e30)" ( (binary_expression "pcStack_61c0 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,param_3,unaff_s1,uVar29)" ( number_literal , identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00013b8c:\n  uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (labeled_statement "LAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }" if (parenthesized_expression "(iStack_419c == *piStack_61ac)" ( (binary_expression "iStack_419c == *piStack_61ac" identifier == (pointer_expression "*piStack_61ac" * identifier)) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "pcVar28 = *(code **)(pcVar31 + -0x7e0c);" (assignment_expression "pcVar28 = *(code **)(pcVar31 + -0x7e0c)" identifier = (pointer_expression "*(code **)(pcVar31 + -0x7e0c)" * (cast_expression "(code **)(pcVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + -0x7e0c)" ( (binary_expression "pcVar31 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = usage;" (assignment_expression "pcVar32 = usage" identifier = identifier) ;) (expression_statement "iVar7 = iStack_419c;" (assignment_expression "iVar7 = iStack_419c" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);" (assignment_expression "uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674)" identifier = (pointer_expression "**(undefined4 **)(pcVar28 + 0x19674)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x19674)" * (cast_expression "(undefined4 **)(pcVar28 + 0x19674)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19674)" ( (binary_expression "pcVar28 + 0x19674" identifier + number_literal) )))))) ;) (expression_statement "pcVar31 = *(code **)(pcVar28 + 0x19660);" (assignment_expression "pcVar31 = *(code **)(pcVar28 + 0x19660)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) ;) (expression_statement "pcStack_61f0 = param_3;" (assignment_expression "pcStack_61f0 = param_3" identifier = identifier) ;) (expression_statement "pcStack_61ec = unaff_s1;" (assignment_expression "pcStack_61ec = unaff_s1" identifier = identifier) ;) (expression_statement "uStack_61e8 = uVar21;" (assignment_expression "uStack_61e8 = uVar21" identifier = identifier) ;) (expression_statement "pcStack_61e4 = pcVar23;" (assignment_expression "pcStack_61e4 = pcVar23" identifier = identifier) ;) (expression_statement "pcStack_61e0 = pcVar30;" (assignment_expression "pcStack_61e0 = pcVar30" identifier = identifier) ;) (expression_statement "pcStack_61dc = pcVar32;" (assignment_expression "pcStack_61dc = pcVar32" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00013cf8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00013cf8;" goto statement_identifier ;)) (expression_statement "uVar12 = **(undefined4 **)(pcVar28 + 0x19684);" (assignment_expression "uVar12 = **(undefined4 **)(pcVar28 + 0x19684)" identifier = (pointer_expression "**(undefined4 **)(pcVar28 + 0x19684)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x19684)" * (cast_expression "(undefined4 **)(pcVar28 + 0x19684)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19684)" ( (binary_expression "pcVar28 + 0x19684" identifier + number_literal) )))))) ;) (expression_statement "uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);" (assignment_expression "uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" identifier = (call_expression "(*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));" (call_expression "(**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar28 + 0x195c4))" ( (pointer_expression "**(code **)(pcVar28 + 0x195c4)" * (pointer_expression "*(code **)(pcVar28 + 0x195c4)" * (cast_expression "(code **)(pcVar28 + 0x195c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195c4)" ( (binary_expression "pcVar28 + 0x195c4" identifier + number_literal) ))))) )) (argument_list "(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar28 + 0x194b8)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x194b8)" * (cast_expression "(undefined4 **)(pcVar28 + 0x194b8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x194b8)" ( (binary_expression "pcVar28 + 0x194b8" identifier + number_literal) ))))) ))) ;) (do_statement "do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );" do (compound_statement "{\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  }" { (expression_statement "pcVar31 = *(code **)(pcVar28 + 0x19620);" (assignment_expression "pcVar31 = *(code **)(pcVar28 + 0x19620)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x19620)" * (cast_expression "(code **)(pcVar28 + 0x19620)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19620)" ( (binary_expression "pcVar28 + 0x19620" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar31)(iVar7);" (call_expression "(*pcVar31)(iVar7)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(iVar7)" ( identifier ))) ;) (labeled_statement "LAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);" statement_identifier : (expression_statement "puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar28 + 0x195f4)" identifier = (pointer_expression "*(undefined4 **)(pcVar28 + 0x195f4)" * (cast_expression "(undefined4 **)(pcVar28 + 0x195f4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f4)" ( (binary_expression "pcVar28 + 0x195f4" identifier + number_literal) ))))) ;)) (expression_statement "uVar29 = (*pcVar31)();" (assignment_expression "uVar29 = (*pcVar31)()" identifier = (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" ( number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar28 + 0x194b8)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x194b8)" * (cast_expression "(undefined4 **)(pcVar28 + 0x194b8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x194b8)" ( (binary_expression "pcVar28 + 0x194b8" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4ec8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,10)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4e40" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4e08" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4dbc" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,10)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4c2c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4ba8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b68" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b38" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b00" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar27 = aiStack_622c;" (assignment_expression "piVar27 = aiStack_622c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x19490);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x19490)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x19490)" * (cast_expression "(int *)(pcVar28 + 0x19490)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x19490)" ( (binary_expression "pcVar28 + 0x19490" identifier + number_literal) ))))) ;) (expression_statement "piVar10 = (int *)(iVar22 + -0x2ff0);" (assignment_expression "piVar10 = (int *)(iVar22 + -0x2ff0)" identifier = (cast_expression "(int *)(iVar22 + -0x2ff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x2ff0)" ( (binary_expression "iVar22 + -0x2ff0" identifier + number_literal) )))) ;) (expression_statement "piVar4 = piVar27;" (assignment_expression "piVar4 = piVar27" identifier = identifier) ;) (do_statement "do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));" do (compound_statement "{\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    }" { (expression_statement "piVar16 = piVar4;" (assignment_expression "piVar16 = piVar4" identifier = identifier) ;) (expression_statement "piVar13 = piVar10;" (assignment_expression "piVar13 = piVar10" identifier = identifier) ;) (expression_statement "piVar10 = piVar13 + 4;" (assignment_expression "piVar10 = piVar13 + 4" identifier = (binary_expression "piVar13 + 4" identifier + number_literal)) ;) (expression_statement "*piVar16 = *piVar13;" (assignment_expression "*piVar16 = *piVar13" (pointer_expression "*piVar16" * identifier) = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "iVar18 = piVar13[2];" (assignment_expression "iVar18 = piVar13[2]" identifier = (subscript_expression "piVar13[2]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = piVar13[3];" (assignment_expression "iVar17 = piVar13[3]" identifier = (subscript_expression "piVar13[3]" identifier [ number_literal ])) ;) (expression_statement "piVar16[1] = piVar13[1];" (assignment_expression "piVar16[1] = piVar13[1]" (subscript_expression "piVar16[1]" identifier [ number_literal ]) = (subscript_expression "piVar13[1]" identifier [ number_literal ])) ;) (expression_statement "piVar16[2] = iVar18;" (assignment_expression "piVar16[2] = iVar18" (subscript_expression "piVar16[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar16[3] = iVar17;" (assignment_expression "piVar16[3] = iVar17" (subscript_expression "piVar16[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4 = piVar16 + 4;" (assignment_expression "piVar4 = piVar16 + 4" identifier = (binary_expression "piVar16 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != (int *)(iVar22 + -0x2fc0))" ( (binary_expression "piVar10 != (int *)(iVar22 + -0x2fc0)" identifier != (cast_expression "(int *)(iVar22 + -0x2fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x2fc0)" ( (binary_expression "iVar22 + -0x2fc0" identifier + number_literal) )))) )) ;) (expression_statement "iVar22 = piVar13[5];" (assignment_expression "iVar22 = piVar13[5]" identifier = (subscript_expression "piVar13[5]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar17 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (expression_statement "piVar16[4] = *piVar10;" (assignment_expression "piVar16[4] = *piVar10" (subscript_expression "piVar16[4]" identifier [ number_literal ]) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "piVar16[5] = iVar22;" (assignment_expression "piVar16[5] = iVar22" (subscript_expression "piVar16[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar22 = aiStack_622c[0];" (assignment_expression "iVar22 = aiStack_622c[0]" identifier = (subscript_expression "aiStack_622c[0]" identifier [ number_literal ])) ;) (while_statement "while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }" while (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }" { (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19698))" ( (pointer_expression "**(code **)(pcVar28 + 0x19698)" * (pointer_expression "*(code **)(pcVar28 + 0x19698)" * (cast_expression "(code **)(pcVar28 + 0x19698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19698)" ( (binary_expression "pcVar28 + 0x19698" identifier + number_literal) ))))) )) (argument_list "(iVar17 + -0x4f1c)" ( (binary_expression "iVar17 + -0x4f1c" identifier + number_literal) )))) ;) (if_statement "if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00013f44;" goto statement_identifier ;) })) (expression_statement "piVar27 = piVar27 + 2;" (assignment_expression "piVar27 = piVar27 + 2" identifier = (binary_expression "piVar27 + 2" identifier + number_literal)) ;) (expression_statement "iVar22 = *piVar27;" (assignment_expression "iVar22 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) })) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00013f44:\n    iVar18 = piVar27[1];" statement_identifier : (expression_statement "iVar18 = piVar27[1];" (assignment_expression "iVar18 = piVar27[1]" identifier = (subscript_expression "piVar27[1]" identifier [ number_literal ])) ;)) (expression_statement "iVar25 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar25 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }" { (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,iVar22 + -0x4a64,5)" ( number_literal , (binary_expression "iVar22 + -0x4a64" identifier + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) ))) ;) (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195e0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195e0)" * (pointer_expression "*(code **)(pcVar28 + 0x195e0)" * (cast_expression "(code **)(pcVar28 + 0x195e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195e0)" ( (binary_expression "pcVar28 + 0x195e0" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" if (parenthesized_expression "((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0))" ( (binary_expression "(iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)" (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)" ( (comma_expression "iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195b8))" ( (pointer_expression "**(code **)(pcVar28 + 0x195b8)" * (pointer_expression "*(code **)(pcVar28 + 0x195b8)" * (cast_expression "(code **)(pcVar28 + 0x195b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195b8)" ( (binary_expression "pcVar28 + 0x195b8" identifier + number_literal) ))))) )) (argument_list "(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar22 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" { (expression_statement "iVar18 = iVar17 + -0x4f1c;" (assignment_expression "iVar18 = iVar17 + -0x4f1c" identifier = (binary_expression "iVar17 + -0x4f1c" identifier + number_literal)) ;) (expression_statement "iVar22 = iVar18;" (assignment_expression "iVar22 = iVar18" identifier = identifier) ;) (labeled_statement "LAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a10" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar17 + -0x4f1c)" ( number_literal , identifier , (binary_expression "iVar17 + -0x4f1c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00013fcc;" goto statement_identifier ;) })) (expression_statement "iVar18 = iVar17 + -0x4f1c;" (assignment_expression "iVar18 = iVar17 + -0x4f1c" identifier = (binary_expression "iVar17 + -0x4f1c" identifier + number_literal)) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar25 + -0x4a4c,iVar18)" ( number_literal , identifier , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" else (compound_statement "{\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" { (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))();" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))()" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) ))) ;) (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195e0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195e0)" * (pointer_expression "*(code **)(pcVar28 + 0x195e0)" * (cast_expression "(code **)(pcVar28 + 0x195e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195e0)" ( (binary_expression "pcVar28 + 0x195e0" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" else (compound_statement "{\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" { (expression_statement "iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);" (assignment_expression "iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195b8))" ( (pointer_expression "**(code **)(pcVar28 + 0x195b8)" * (pointer_expression "*(code **)(pcVar28 + 0x195b8)" * (cast_expression "(code **)(pcVar28 + 0x195b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195b8)" ( (binary_expression "pcVar28 + 0x195b8" identifier + number_literal) ))))) )) (argument_list "(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar14 != 0) goto LAB_00014148;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014148;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c)" ( number_literal , identifier , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) , (binary_expression "iVar17 + -0x4f1c" identifier + number_literal) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" if (parenthesized_expression "(iVar18 == iVar22)" ( (binary_expression "iVar18 == iVar22" identifier == identifier) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" else (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x3858" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar18,iVar22)" ( number_literal , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\n_Bool head_lines(char *filename,int fd,uintmax_t lines_to_write)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  stat *psVar5;\n  byte extraout_var;\n  stat *psVar6;\n  int iVar7;\n  _Bool _Var16;\n  stat *psVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined1 uVar17;\n  uint uVar11;\n  size_t sVar12;\n  int iVar13;\n  Copy_fd_status err;\n  int *piVar14;\n  int iVar15;\n  char *pcVar18;\n  int *piVar19;\n  int iVar20;\n  stat *psVar21;\n  int *piVar22;\n  int iVar23;\n  stat *in_a2;\n  stat *psVar24;\n  stat *in_a3;\n  stat *psVar25;\n  stat *unaff_s0;\n  stat *unaff_s1;\n  undefined4 uVar26;\n  stat *unaff_s2;\n  size_t count;\n  stat *unaff_s3;\n  undefined1 *puVar27;\n  stat *psVar28;\n  int iVar29;\n  stat *unaff_s4;\n  code *filename_00;\n  undefined *unaff_s5;\n  undefined *puVar30;\n  int *piVar31;\n  stat *unaff_s7;\n  code *pcVar32;\n  stat *unaff_s8;\n  code *pcVar33;\n  code *pcVar34;\n  code *pcVar35;\n  off_t oVar36;\n  int aiStackY_622c [14];\n  undefined4 uStackY_61f4;\n  stat *psStackY_61f0;\n  stat *psStackY_61ec;\n  size_t sStackY_61e8;\n  stat *psStackY_61e4;\n  code *pcStackY_61e0;\n  code *pcStackY_61dc;\n  char *pcVar37;\n  char acStack_619d [8193];\n  int iStack_419c;\n  stat *psStack_4198;\n  stat *psStack_4194;\n  stat *psStack_4190;\n  undefined1 *puStack_418c;\n  stat *psStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  stat *psStack_417c;\n  stat *psStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  stat *psStack_415c;\n  int iStack_4158;\n  stat *psStack_4154;\n  stat *psStack_4150;\n  code *pcStack_414c;\n  undefined *puStack_4138;\n  char *pcStack_412c;\n  stat asStack_4124 [51];\n  char *pcStack_2124;\n  stat *psStack_2120;\n  stat *psStack_211c;\n  stat *psStack_2118;\n  stat *psStack_2114;\n  stat *psStack_2110;\n  undefined *puStack_210c;\n  undefined *puStack_2108;\n  stat *psStack_2104;\n  stat *psStack_2100;\n  code *pcStack_20fc;\n  stat st;\n  char buffer [8192];\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar30 = PTR_DAT_0002d0f8;\n  pcVar18 = *(char **)PTR___stack_chk_guard_0002d2dc;\n  psVar21 = (stat *)fd;\n  psStack_2110 = unaff_s4;\n  if (in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0) {\nLAB_00013598:\n    _Var16 = true;\n  }\n  else {\n    unaff_s7 = (stat *)buffer;\n    psVar24 = (stat *)0x2000;\n    unaff_s3 = (stat *)0xffffffff;\n    psVar21 = unaff_s7;\n    psVar25 = in_a3;\n    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = in_a2;\n    unaff_s1 = in_a3;\n    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);\n    psVar21 = unaff_s0;\n    in_a2 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    _Var16 = false;\n  }\nLAB_00013464:\n  if (pcVar18 == *(char **)puVar3) {\n    return _Var16;\n  }\n  pcVar33 = head_bytes;\n  puVar30 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  puStack_4138 = puVar30 + 0x21b24;\n  puStack_2108 = puVar3;\n  piVar31 = *(int **)(puVar30 + 0x19d30);\n  pcStack_2124 = (char *)*piVar31;\n  puVar27 = *(undefined1 **)(puVar30 + 0x19b58);\n  psVar6 = psVar21;\n  psVar25 = psStack_2110;\n  puVar30 = unaff_s5;\n  psVar24 = unaff_s7;\n  pcStack_412c = pcVar18;\n  psStack_2120 = unaff_s0;\n  psStack_211c = unaff_s1;\n  psStack_2118 = unaff_s2;\n  psStack_2114 = unaff_s3;\n  puStack_210c = unaff_s5;\n  psStack_2104 = unaff_s7;\n  psStack_2100 = unaff_s8;\n  pcStack_20fc = pcVar33;\n  if (in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0) {\n    psVar24 = asStack_4124;\n    puVar30 = (undefined *)0xffffffff;\n    puVar27 = &DAT_00003118 + (int)puVar27;\n    psVar28 = in_a3;\n    psVar8 = (stat *)0x2000;\n    psVar5 = in_a2;\n    do {\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);\n  }\n  _Var16 = true;\nLAB_000136f4:\n  if (pcStack_2124 == (char *)*piVar31) {\n    return _Var16;\n  }\n  pcVar33 = *(code **)(puStack_4138 + -0x7e0c);\n  pcVar34 = diagnose_copy_fd_failure;\n  pcVar18 = pcStack_2124;\n  (*pcVar33)();\n  pcStack_4160 = pcVar33 + 0x21994;\n  psStack_4154 = unaff_s0;\n  psStack_4150 = unaff_s1;\n  pcStack_414c = pcVar34;\n  if (pcVar18 == (char *)0x1) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }\n  if (pcVar18 == (char *)0x2) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }\n  pcVar34 = *(code **)(pcVar33 + 0x19ae0);\n  pcVar35 = elide_tail_lines_seekable;\n  psVar21 = psVar6;\n  (*pcVar34)();\n  pcVar33 = pcStack_4160;\n  piVar22 = *(int **)(pcVar34 + 0x19a7c);\n  uVar11 = (uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff;\n  iStack_419c = *piVar22;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0) {\n    uVar11 = (uVar11 - 1 | 0xffffe000) + 1;\n  }\n  count = 0x2000;\n  if (uVar11 != 0) {\n    count = uVar11;\n  }\n  psVar28 = (stat *)((int)psStack_4154 - count);\n  pcVar32 = (code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4));\n  filename_00 = (code *)(iStack_4158 - (uint)(psStack_4154 < psVar28));\n  psStack_4198 = psVar6;\n  psStack_4194 = unaff_s1;\n  psStack_4190 = unaff_s2;\n  puStack_418c = puVar27;\n  psStack_4188 = psVar25;\n  puStack_4184 = puVar30;\n  piStack_4180 = piVar31;\n  psStack_417c = psVar24;\n  psStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar35;\n  oVar36 = elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00);\n  if (-1 < oVar36) {\n    unaff_s1 = (stat *)((int)acStack_619d + 1);\n    sVar12 = safe_read((int)psVar21,unaff_s1,count);\n    if (sVar12 != 0xffffffff) {\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();\n    in_a2 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);\n    (**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);\n  }\nLAB_00013b8c:\n  _Var16 = false;\nLAB_00013b94:\n  if (iStack_419c == *piVar22) {\n    return _Var16;\n  }\n  pcVar33 = *(code **)(pcVar34 + 0x19a64);\n  pcVar35 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar33)();\n  uStackY_61f4 = **(undefined4 **)(pcVar33 + 0x19674);\n  pcVar34 = *(code **)(pcVar33 + 0x19660);\n  psStackY_61f0 = in_a2;\n  psStackY_61ec = unaff_s1;\n  sStackY_61e8 = count;\n  psStackY_61e4 = psVar28;\n  pcStackY_61e0 = filename_00;\n  pcStackY_61dc = pcVar35;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar26 = **(undefined4 **)(pcVar33 + 0x19684);\n  uVar10 = (*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar33 + 0x195c4))(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n  do {\n    pcVar34 = *(code **)(pcVar33 + 0x19620);\n    (*pcVar34)(iVar7);\nLAB_00013cf8:\n    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);\n    uVar10 = (*pcVar34)();\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);\n    piVar31 = aiStackY_622c;\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    iVar13 = *(int *)(pcVar33 + 0x19490);\n    piVar22 = (int *)(iVar13 + -0x2ff0);\n    piVar4 = piVar31;\n    do {\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    } while (piVar22 != (int *)(iVar13 + -0x2fc0));\n    iVar13 = piVar14[5];\n    iVar20 = *(int *)(pcVar33 + 0x194a0);\n    piVar19[4] = *piVar22;\n    piVar19[5] = iVar13;\n    iVar13 = aiStackY_622c[0];\n    while (iVar13 != 0) {\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }\n    iVar13 = *(int *)(pcVar33 + 0x194a0);\nLAB_00013f44:\n    iVar23 = piVar31[1];\n    iVar29 = *(int *)(pcVar33 + 0x194a0);\n    if (iVar23 == 0) {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);\n  } while( true );\n}\n\n" comment (function_definition "_Bool head_lines(char *filename,int fd,uintmax_t lines_to_write)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  stat *psVar5;\n  byte extraout_var;\n  stat *psVar6;\n  int iVar7;\n  _Bool _Var16;\n  stat *psVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined1 uVar17;\n  uint uVar11;\n  size_t sVar12;\n  int iVar13;\n  Copy_fd_status err;\n  int *piVar14;\n  int iVar15;\n  char *pcVar18;\n  int *piVar19;\n  int iVar20;\n  stat *psVar21;\n  int *piVar22;\n  int iVar23;\n  stat *in_a2;\n  stat *psVar24;\n  stat *in_a3;\n  stat *psVar25;\n  stat *unaff_s0;\n  stat *unaff_s1;\n  undefined4 uVar26;\n  stat *unaff_s2;\n  size_t count;\n  stat *unaff_s3;\n  undefined1 *puVar27;\n  stat *psVar28;\n  int iVar29;\n  stat *unaff_s4;\n  code *filename_00;\n  undefined *unaff_s5;\n  undefined *puVar30;\n  int *piVar31;\n  stat *unaff_s7;\n  code *pcVar32;\n  stat *unaff_s8;\n  code *pcVar33;\n  code *pcVar34;\n  code *pcVar35;\n  off_t oVar36;\n  int aiStackY_622c [14];\n  undefined4 uStackY_61f4;\n  stat *psStackY_61f0;\n  stat *psStackY_61ec;\n  size_t sStackY_61e8;\n  stat *psStackY_61e4;\n  code *pcStackY_61e0;\n  code *pcStackY_61dc;\n  char *pcVar37;\n  char acStack_619d [8193];\n  int iStack_419c;\n  stat *psStack_4198;\n  stat *psStack_4194;\n  stat *psStack_4190;\n  undefined1 *puStack_418c;\n  stat *psStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  stat *psStack_417c;\n  stat *psStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  stat *psStack_415c;\n  int iStack_4158;\n  stat *psStack_4154;\n  stat *psStack_4150;\n  code *pcStack_414c;\n  undefined *puStack_4138;\n  char *pcStack_412c;\n  stat asStack_4124 [51];\n  char *pcStack_2124;\n  stat *psStack_2120;\n  stat *psStack_211c;\n  stat *psStack_2118;\n  stat *psStack_2114;\n  stat *psStack_2110;\n  undefined *puStack_210c;\n  undefined *puStack_2108;\n  stat *psStack_2104;\n  stat *psStack_2100;\n  code *pcStack_20fc;\n  stat st;\n  char buffer [8192];\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar30 = PTR_DAT_0002d0f8;\n  pcVar18 = *(char **)PTR___stack_chk_guard_0002d2dc;\n  psVar21 = (stat *)fd;\n  psStack_2110 = unaff_s4;\n  if (in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0) {\nLAB_00013598:\n    _Var16 = true;\n  }\n  else {\n    unaff_s7 = (stat *)buffer;\n    psVar24 = (stat *)0x2000;\n    unaff_s3 = (stat *)0xffffffff;\n    psVar21 = unaff_s7;\n    psVar25 = in_a3;\n    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = in_a2;\n    unaff_s1 = in_a3;\n    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);\n    psVar21 = unaff_s0;\n    in_a2 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    _Var16 = false;\n  }\nLAB_00013464:\n  if (pcVar18 == *(char **)puVar3) {\n    return _Var16;\n  }\n  pcVar33 = head_bytes;\n  puVar30 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  puStack_4138 = puVar30 + 0x21b24;\n  puStack_2108 = puVar3;\n  piVar31 = *(int **)(puVar30 + 0x19d30);\n  pcStack_2124 = (char *)*piVar31;\n  puVar27 = *(undefined1 **)(puVar30 + 0x19b58);\n  psVar6 = psVar21;\n  psVar25 = psStack_2110;\n  puVar30 = unaff_s5;\n  psVar24 = unaff_s7;\n  pcStack_412c = pcVar18;\n  psStack_2120 = unaff_s0;\n  psStack_211c = unaff_s1;\n  psStack_2118 = unaff_s2;\n  psStack_2114 = unaff_s3;\n  puStack_210c = unaff_s5;\n  psStack_2104 = unaff_s7;\n  psStack_2100 = unaff_s8;\n  pcStack_20fc = pcVar33;\n  if (in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0) {\n    psVar24 = asStack_4124;\n    puVar30 = (undefined *)0xffffffff;\n    puVar27 = &DAT_00003118 + (int)puVar27;\n    psVar28 = in_a3;\n    psVar8 = (stat *)0x2000;\n    psVar5 = in_a2;\n    do {\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);\n  }\n  _Var16 = true;\nLAB_000136f4:\n  if (pcStack_2124 == (char *)*piVar31) {\n    return _Var16;\n  }\n  pcVar33 = *(code **)(puStack_4138 + -0x7e0c);\n  pcVar34 = diagnose_copy_fd_failure;\n  pcVar18 = pcStack_2124;\n  (*pcVar33)();\n  pcStack_4160 = pcVar33 + 0x21994;\n  psStack_4154 = unaff_s0;\n  psStack_4150 = unaff_s1;\n  pcStack_414c = pcVar34;\n  if (pcVar18 == (char *)0x1) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }\n  if (pcVar18 == (char *)0x2) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }\n  pcVar34 = *(code **)(pcVar33 + 0x19ae0);\n  pcVar35 = elide_tail_lines_seekable;\n  psVar21 = psVar6;\n  (*pcVar34)();\n  pcVar33 = pcStack_4160;\n  piVar22 = *(int **)(pcVar34 + 0x19a7c);\n  uVar11 = (uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff;\n  iStack_419c = *piVar22;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0) {\n    uVar11 = (uVar11 - 1 | 0xffffe000) + 1;\n  }\n  count = 0x2000;\n  if (uVar11 != 0) {\n    count = uVar11;\n  }\n  psVar28 = (stat *)((int)psStack_4154 - count);\n  pcVar32 = (code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4));\n  filename_00 = (code *)(iStack_4158 - (uint)(psStack_4154 < psVar28));\n  psStack_4198 = psVar6;\n  psStack_4194 = unaff_s1;\n  psStack_4190 = unaff_s2;\n  puStack_418c = puVar27;\n  psStack_4188 = psVar25;\n  puStack_4184 = puVar30;\n  piStack_4180 = piVar31;\n  psStack_417c = psVar24;\n  psStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar35;\n  oVar36 = elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00);\n  if (-1 < oVar36) {\n    unaff_s1 = (stat *)((int)acStack_619d + 1);\n    sVar12 = safe_read((int)psVar21,unaff_s1,count);\n    if (sVar12 != 0xffffffff) {\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();\n    in_a2 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);\n    (**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);\n  }\nLAB_00013b8c:\n  _Var16 = false;\nLAB_00013b94:\n  if (iStack_419c == *piVar22) {\n    return _Var16;\n  }\n  pcVar33 = *(code **)(pcVar34 + 0x19a64);\n  pcVar35 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar33)();\n  uStackY_61f4 = **(undefined4 **)(pcVar33 + 0x19674);\n  pcVar34 = *(code **)(pcVar33 + 0x19660);\n  psStackY_61f0 = in_a2;\n  psStackY_61ec = unaff_s1;\n  sStackY_61e8 = count;\n  psStackY_61e4 = psVar28;\n  pcStackY_61e0 = filename_00;\n  pcStackY_61dc = pcVar35;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar26 = **(undefined4 **)(pcVar33 + 0x19684);\n  uVar10 = (*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar33 + 0x195c4))(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n  do {\n    pcVar34 = *(code **)(pcVar33 + 0x19620);\n    (*pcVar34)(iVar7);\nLAB_00013cf8:\n    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);\n    uVar10 = (*pcVar34)();\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);\n    piVar31 = aiStackY_622c;\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    iVar13 = *(int *)(pcVar33 + 0x19490);\n    piVar22 = (int *)(iVar13 + -0x2ff0);\n    piVar4 = piVar31;\n    do {\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    } while (piVar22 != (int *)(iVar13 + -0x2fc0));\n    iVar13 = piVar14[5];\n    iVar20 = *(int *)(pcVar33 + 0x194a0);\n    piVar19[4] = *piVar22;\n    piVar19[5] = iVar13;\n    iVar13 = aiStackY_622c[0];\n    while (iVar13 != 0) {\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }\n    iVar13 = *(int *)(pcVar33 + 0x194a0);\nLAB_00013f44:\n    iVar23 = piVar31[1];\n    iVar29 = *(int *)(pcVar33 + 0x194a0);\n    if (iVar23 == 0) {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);\n  } while( true );\n}" type_identifier (function_declarator "head_lines(char *filename,int fd,uintmax_t lines_to_write)" identifier (parameter_list "(char *filename,int fd,uintmax_t lines_to_write)" ( (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) , (parameter_declaration "int fd" primitive_type identifier) , (parameter_declaration "uintmax_t lines_to_write" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  stat *psVar5;\n  byte extraout_var;\n  stat *psVar6;\n  int iVar7;\n  _Bool _Var16;\n  stat *psVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined1 uVar17;\n  uint uVar11;\n  size_t sVar12;\n  int iVar13;\n  Copy_fd_status err;\n  int *piVar14;\n  int iVar15;\n  char *pcVar18;\n  int *piVar19;\n  int iVar20;\n  stat *psVar21;\n  int *piVar22;\n  int iVar23;\n  stat *in_a2;\n  stat *psVar24;\n  stat *in_a3;\n  stat *psVar25;\n  stat *unaff_s0;\n  stat *unaff_s1;\n  undefined4 uVar26;\n  stat *unaff_s2;\n  size_t count;\n  stat *unaff_s3;\n  undefined1 *puVar27;\n  stat *psVar28;\n  int iVar29;\n  stat *unaff_s4;\n  code *filename_00;\n  undefined *unaff_s5;\n  undefined *puVar30;\n  int *piVar31;\n  stat *unaff_s7;\n  code *pcVar32;\n  stat *unaff_s8;\n  code *pcVar33;\n  code *pcVar34;\n  code *pcVar35;\n  off_t oVar36;\n  int aiStackY_622c [14];\n  undefined4 uStackY_61f4;\n  stat *psStackY_61f0;\n  stat *psStackY_61ec;\n  size_t sStackY_61e8;\n  stat *psStackY_61e4;\n  code *pcStackY_61e0;\n  code *pcStackY_61dc;\n  char *pcVar37;\n  char acStack_619d [8193];\n  int iStack_419c;\n  stat *psStack_4198;\n  stat *psStack_4194;\n  stat *psStack_4190;\n  undefined1 *puStack_418c;\n  stat *psStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  stat *psStack_417c;\n  stat *psStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  stat *psStack_415c;\n  int iStack_4158;\n  stat *psStack_4154;\n  stat *psStack_4150;\n  code *pcStack_414c;\n  undefined *puStack_4138;\n  char *pcStack_412c;\n  stat asStack_4124 [51];\n  char *pcStack_2124;\n  stat *psStack_2120;\n  stat *psStack_211c;\n  stat *psStack_2118;\n  stat *psStack_2114;\n  stat *psStack_2110;\n  undefined *puStack_210c;\n  undefined *puStack_2108;\n  stat *psStack_2104;\n  stat *psStack_2100;\n  code *pcStack_20fc;\n  stat st;\n  char buffer [8192];\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar30 = PTR_DAT_0002d0f8;\n  pcVar18 = *(char **)PTR___stack_chk_guard_0002d2dc;\n  psVar21 = (stat *)fd;\n  psStack_2110 = unaff_s4;\n  if (in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0) {\nLAB_00013598:\n    _Var16 = true;\n  }\n  else {\n    unaff_s7 = (stat *)buffer;\n    psVar24 = (stat *)0x2000;\n    unaff_s3 = (stat *)0xffffffff;\n    psVar21 = unaff_s7;\n    psVar25 = in_a3;\n    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = in_a2;\n    unaff_s1 = in_a3;\n    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);\n    psVar21 = unaff_s0;\n    in_a2 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    _Var16 = false;\n  }\nLAB_00013464:\n  if (pcVar18 == *(char **)puVar3) {\n    return _Var16;\n  }\n  pcVar33 = head_bytes;\n  puVar30 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  puStack_4138 = puVar30 + 0x21b24;\n  puStack_2108 = puVar3;\n  piVar31 = *(int **)(puVar30 + 0x19d30);\n  pcStack_2124 = (char *)*piVar31;\n  puVar27 = *(undefined1 **)(puVar30 + 0x19b58);\n  psVar6 = psVar21;\n  psVar25 = psStack_2110;\n  puVar30 = unaff_s5;\n  psVar24 = unaff_s7;\n  pcStack_412c = pcVar18;\n  psStack_2120 = unaff_s0;\n  psStack_211c = unaff_s1;\n  psStack_2118 = unaff_s2;\n  psStack_2114 = unaff_s3;\n  puStack_210c = unaff_s5;\n  psStack_2104 = unaff_s7;\n  psStack_2100 = unaff_s8;\n  pcStack_20fc = pcVar33;\n  if (in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0) {\n    psVar24 = asStack_4124;\n    puVar30 = (undefined *)0xffffffff;\n    puVar27 = &DAT_00003118 + (int)puVar27;\n    psVar28 = in_a3;\n    psVar8 = (stat *)0x2000;\n    psVar5 = in_a2;\n    do {\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);\n  }\n  _Var16 = true;\nLAB_000136f4:\n  if (pcStack_2124 == (char *)*piVar31) {\n    return _Var16;\n  }\n  pcVar33 = *(code **)(puStack_4138 + -0x7e0c);\n  pcVar34 = diagnose_copy_fd_failure;\n  pcVar18 = pcStack_2124;\n  (*pcVar33)();\n  pcStack_4160 = pcVar33 + 0x21994;\n  psStack_4154 = unaff_s0;\n  psStack_4150 = unaff_s1;\n  pcStack_414c = pcVar34;\n  if (pcVar18 == (char *)0x1) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }\n  if (pcVar18 == (char *)0x2) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }\n  pcVar34 = *(code **)(pcVar33 + 0x19ae0);\n  pcVar35 = elide_tail_lines_seekable;\n  psVar21 = psVar6;\n  (*pcVar34)();\n  pcVar33 = pcStack_4160;\n  piVar22 = *(int **)(pcVar34 + 0x19a7c);\n  uVar11 = (uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff;\n  iStack_419c = *piVar22;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0) {\n    uVar11 = (uVar11 - 1 | 0xffffe000) + 1;\n  }\n  count = 0x2000;\n  if (uVar11 != 0) {\n    count = uVar11;\n  }\n  psVar28 = (stat *)((int)psStack_4154 - count);\n  pcVar32 = (code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4));\n  filename_00 = (code *)(iStack_4158 - (uint)(psStack_4154 < psVar28));\n  psStack_4198 = psVar6;\n  psStack_4194 = unaff_s1;\n  psStack_4190 = unaff_s2;\n  puStack_418c = puVar27;\n  psStack_4188 = psVar25;\n  puStack_4184 = puVar30;\n  piStack_4180 = piVar31;\n  psStack_417c = psVar24;\n  psStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar35;\n  oVar36 = elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00);\n  if (-1 < oVar36) {\n    unaff_s1 = (stat *)((int)acStack_619d + 1);\n    sVar12 = safe_read((int)psVar21,unaff_s1,count);\n    if (sVar12 != 0xffffffff) {\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();\n    in_a2 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);\n    (**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);\n  }\nLAB_00013b8c:\n  _Var16 = false;\nLAB_00013b94:\n  if (iStack_419c == *piVar22) {\n    return _Var16;\n  }\n  pcVar33 = *(code **)(pcVar34 + 0x19a64);\n  pcVar35 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar33)();\n  uStackY_61f4 = **(undefined4 **)(pcVar33 + 0x19674);\n  pcVar34 = *(code **)(pcVar33 + 0x19660);\n  psStackY_61f0 = in_a2;\n  psStackY_61ec = unaff_s1;\n  sStackY_61e8 = count;\n  psStackY_61e4 = psVar28;\n  pcStackY_61e0 = filename_00;\n  pcStackY_61dc = pcVar35;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar26 = **(undefined4 **)(pcVar33 + 0x19684);\n  uVar10 = (*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar33 + 0x195c4))(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n  do {\n    pcVar34 = *(code **)(pcVar33 + 0x19620);\n    (*pcVar34)(iVar7);\nLAB_00013cf8:\n    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);\n    uVar10 = (*pcVar34)();\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);\n    piVar31 = aiStackY_622c;\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    iVar13 = *(int *)(pcVar33 + 0x19490);\n    piVar22 = (int *)(iVar13 + -0x2ff0);\n    piVar4 = piVar31;\n    do {\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    } while (piVar22 != (int *)(iVar13 + -0x2fc0));\n    iVar13 = piVar14[5];\n    iVar20 = *(int *)(pcVar33 + 0x194a0);\n    piVar19[4] = *piVar22;\n    piVar19[5] = iVar13;\n    iVar13 = aiStackY_622c[0];\n    while (iVar13 != 0) {\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }\n    iVar13 = *(int *)(pcVar33 + 0x194a0);\nLAB_00013f44:\n    iVar23 = piVar31[1];\n    iVar29 = *(int *)(pcVar33 + 0x194a0);\n    if (iVar23 == 0) {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "stat *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "byte extraout_var;" type_identifier identifier ;) (declaration "stat *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "_Bool _Var16;" type_identifier identifier ;) (declaration "stat *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined1 uVar17;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "Copy_fd_status err;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "stat *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "stat *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "stat *psVar24;" type_identifier (pointer_declarator "*psVar24" * identifier) ;) (declaration "stat *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "stat *psVar25;" type_identifier (pointer_declarator "*psVar25" * identifier) ;) (declaration "stat *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "stat *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "stat *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "size_t count;" primitive_type identifier ;) (declaration "stat *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "stat *psVar28;" type_identifier (pointer_declarator "*psVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "stat *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "code *filename_00;" type_identifier (pointer_declarator "*filename_00" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "stat *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "stat *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "code *pcVar34;" type_identifier (pointer_declarator "*pcVar34" * identifier) ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "off_t oVar36;" type_identifier identifier ;) (declaration "int aiStackY_622c [14];" primitive_type (array_declarator "aiStackY_622c [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStackY_61f4;" type_identifier identifier ;) (declaration "stat *psStackY_61f0;" type_identifier (pointer_declarator "*psStackY_61f0" * identifier) ;) (declaration "stat *psStackY_61ec;" type_identifier (pointer_declarator "*psStackY_61ec" * identifier) ;) (declaration "size_t sStackY_61e8;" primitive_type identifier ;) (declaration "stat *psStackY_61e4;" type_identifier (pointer_declarator "*psStackY_61e4" * identifier) ;) (declaration "code *pcStackY_61e0;" type_identifier (pointer_declarator "*pcStackY_61e0" * identifier) ;) (declaration "code *pcStackY_61dc;" type_identifier (pointer_declarator "*pcStackY_61dc" * identifier) ;) (declaration "char *pcVar37;" primitive_type (pointer_declarator "*pcVar37" * identifier) ;) (declaration "char acStack_619d [8193];" primitive_type (array_declarator "acStack_619d [8193]" identifier [ number_literal ]) ;) (declaration "int iStack_419c;" primitive_type identifier ;) (declaration "stat *psStack_4198;" type_identifier (pointer_declarator "*psStack_4198" * identifier) ;) (declaration "stat *psStack_4194;" type_identifier (pointer_declarator "*psStack_4194" * identifier) ;) (declaration "stat *psStack_4190;" type_identifier (pointer_declarator "*psStack_4190" * identifier) ;) (declaration "undefined1 *puStack_418c;" type_identifier (pointer_declarator "*puStack_418c" * identifier) ;) (declaration "stat *psStack_4188;" type_identifier (pointer_declarator "*psStack_4188" * identifier) ;) (declaration "undefined *puStack_4184;" type_identifier (pointer_declarator "*puStack_4184" * identifier) ;) (declaration "int *piStack_4180;" primitive_type (pointer_declarator "*piStack_4180" * identifier) ;) (declaration "stat *psStack_417c;" type_identifier (pointer_declarator "*psStack_417c" * identifier) ;) (declaration "stat *psStack_4178;" type_identifier (pointer_declarator "*psStack_4178" * identifier) ;) (declaration "code *pcStack_4174;" type_identifier (pointer_declarator "*pcStack_4174" * identifier) ;) (declaration "code *pcStack_4160;" type_identifier (pointer_declarator "*pcStack_4160" * identifier) ;) (declaration "stat *psStack_415c;" type_identifier (pointer_declarator "*psStack_415c" * identifier) ;) (declaration "int iStack_4158;" primitive_type identifier ;) (declaration "stat *psStack_4154;" type_identifier (pointer_declarator "*psStack_4154" * identifier) ;) (declaration "stat *psStack_4150;" type_identifier (pointer_declarator "*psStack_4150" * identifier) ;) (declaration "code *pcStack_414c;" type_identifier (pointer_declarator "*pcStack_414c" * identifier) ;) (declaration "undefined *puStack_4138;" type_identifier (pointer_declarator "*puStack_4138" * identifier) ;) (declaration "char *pcStack_412c;" primitive_type (pointer_declarator "*pcStack_412c" * identifier) ;) (declaration "stat asStack_4124 [51];" type_identifier (array_declarator "asStack_4124 [51]" identifier [ number_literal ]) ;) (declaration "char *pcStack_2124;" primitive_type (pointer_declarator "*pcStack_2124" * identifier) ;) (declaration "stat *psStack_2120;" type_identifier (pointer_declarator "*psStack_2120" * identifier) ;) (declaration "stat *psStack_211c;" type_identifier (pointer_declarator "*psStack_211c" * identifier) ;) (declaration "stat *psStack_2118;" type_identifier (pointer_declarator "*psStack_2118" * identifier) ;) (declaration "stat *psStack_2114;" type_identifier (pointer_declarator "*psStack_2114" * identifier) ;) (declaration "stat *psStack_2110;" type_identifier (pointer_declarator "*psStack_2110" * identifier) ;) (declaration "undefined *puStack_210c;" type_identifier (pointer_declarator "*puStack_210c" * identifier) ;) (declaration "undefined *puStack_2108;" type_identifier (pointer_declarator "*puStack_2108" * identifier) ;) (declaration "stat *psStack_2104;" type_identifier (pointer_declarator "*psStack_2104" * identifier) ;) (declaration "stat *psStack_2100;" type_identifier (pointer_declarator "*psStack_2100" * identifier) ;) (declaration "code *pcStack_20fc;" type_identifier (pointer_declarator "*pcStack_20fc" * identifier) ;) (declaration "stat st;" type_identifier identifier ;) (declaration "char buffer [8192];" primitive_type (array_declarator "buffer [8192]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0002d2dc" identifier = identifier) ;) (expression_statement "puVar2 = PTR_0002d104;" (assignment_expression "puVar2 = PTR_0002d104" identifier = identifier) ;) (expression_statement "puVar30 = PTR_DAT_0002d0f8;" (assignment_expression "puVar30 = PTR_DAT_0002d0f8" identifier = identifier) ;) (expression_statement "pcVar18 = *(char **)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "pcVar18 = *(char **)PTR___stack_chk_guard_0002d2dc" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_0002d2dc" * (cast_expression "(char **)PTR___stack_chk_guard_0002d2dc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar21 = (stat *)fd;" (assignment_expression "psVar21 = (stat *)fd" identifier = (cast_expression "(stat *)fd" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_2110 = unaff_s4;" (assignment_expression "psStack_2110 = unaff_s4" identifier = identifier) ;) (if_statement "if (in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0) {\nLAB_00013598:\n    _Var16 = true;\n  }\n  else {\n    unaff_s7 = (stat *)buffer;\n    psVar24 = (stat *)0x2000;\n    unaff_s3 = (stat *)0xffffffff;\n    psVar21 = unaff_s7;\n    psVar25 = in_a3;\n    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = in_a2;\n    unaff_s1 = in_a3;\n    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);\n    psVar21 = unaff_s0;\n    in_a2 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    _Var16 = false;\n  }" if (parenthesized_expression "(in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0)" ( (binary_expression "in_a2 == (stat *)0x0 && in_a3 == (stat *)0x0" (binary_expression "in_a2 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "in_a3 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_00013598:\n    _Var16 = true;\n  }" { (labeled_statement "LAB_00013598:\n    _Var16 = true;" statement_identifier : (expression_statement "_Var16 = true;" (assignment_expression "_Var16 = true" identifier = true) ;)) }) (else_clause "else {\n    unaff_s7 = (stat *)buffer;\n    psVar24 = (stat *)0x2000;\n    unaff_s3 = (stat *)0xffffffff;\n    psVar21 = unaff_s7;\n    psVar25 = in_a3;\n    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = in_a2;\n    unaff_s1 = in_a3;\n    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);\n    psVar21 = unaff_s0;\n    in_a2 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    _Var16 = false;\n  }" else (compound_statement "{\n    unaff_s7 = (stat *)buffer;\n    psVar24 = (stat *)0x2000;\n    unaff_s3 = (stat *)0xffffffff;\n    psVar21 = unaff_s7;\n    psVar25 = in_a3;\n    psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = in_a2;\n    unaff_s1 = in_a3;\n    while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);\n    psVar21 = unaff_s0;\n    in_a2 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    _Var16 = false;\n  }" { (expression_statement "unaff_s7 = (stat *)buffer;" (assignment_expression "unaff_s7 = (stat *)buffer" identifier = (cast_expression "(stat *)buffer" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar24 = (stat *)0x2000;" (assignment_expression "psVar24 = (stat *)0x2000" identifier = (cast_expression "(stat *)0x2000" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = (stat *)0xffffffff;" (assignment_expression "unaff_s3 = (stat *)0xffffffff" identifier = (cast_expression "(stat *)0xffffffff" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar21 = unaff_s7;" (assignment_expression "psVar21 = unaff_s7" identifier = identifier) ;) (expression_statement "psVar25 = in_a3;" (assignment_expression "psVar25 = in_a3" identifier = identifier) ;) (expression_statement "psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);" (assignment_expression "psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000)" identifier = (cast_expression "(stat *)safe_read(fd,unaff_s7,0x2000)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(fd,unaff_s7,0x2000)" identifier (argument_list "(fd,unaff_s7,0x2000)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "unaff_s5 = puVar2 + 0x3118;" (assignment_expression "unaff_s5 = puVar2 + 0x3118" identifier = (binary_expression "puVar2 + 0x3118" identifier + number_literal)) ;) (expression_statement "unaff_s8 = in_a2;" (assignment_expression "unaff_s8 = in_a2" identifier = identifier) ;) (expression_statement "unaff_s1 = in_a3;" (assignment_expression "unaff_s1 = in_a3" identifier = identifier) ;) (while_statement "while (in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff) {\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }" while (parenthesized_expression "(in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff)" ( (comma_expression "in_a3 = psVar25, in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff" (assignment_expression "in_a3 = psVar25" identifier = identifier) , (comma_expression "in_a2 = psVar24, unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff" (assignment_expression "in_a2 = psVar24" identifier = identifier) , (comma_expression "unaff_s2 = (stat *)fd, psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff" (assignment_expression "unaff_s2 = (stat *)fd" identifier = (cast_expression "(stat *)fd" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "psStack_2110 = (stat *)puVar30,\n          psVar6 != (stat *)0xffffffff" (assignment_expression "psStack_2110 = (stat *)puVar30" identifier = (cast_expression "(stat *)puVar30" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "psVar6 != (stat *)0xffffffff" identifier != (cast_expression "(stat *)0xffffffff" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))))) )) (compound_statement "{\n      if (psVar6 == (stat *)0x0) goto LAB_00013598;\n      unaff_s0 = (stat *)0x0;\n      do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);\n      xwrite_stdout((char *)unaff_s7,(size_t)psVar6);\n      psVar24 = (stat *)0x2000;\n      psVar21 = unaff_s7;\n      psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);\n      psVar25 = in_a3;\n    }" { (if_statement "if (psVar6 == (stat *)0x0) goto LAB_00013598;" if (parenthesized_expression "(psVar6 == (stat *)0x0)" ( (binary_expression "psVar6 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013598;" goto statement_identifier ;)) (expression_statement "unaff_s0 = (stat *)0x0;" (assignment_expression "unaff_s0 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      } while (psVar6 != unaff_s0);" do (compound_statement "{\n        unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);\n        psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }\n      }" { (expression_statement "unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1);" (assignment_expression "unaff_s0 = (stat *)((int)&unaff_s0->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&unaff_s0->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s0->st_dev + 1)" ( (binary_expression "(int)&unaff_s0->st_dev + 1" (cast_expression "(int)&unaff_s0->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s0->st_dev" & (field_expression "unaff_s0->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37);" (assignment_expression "psVar21 = (stat *)((int)unaff_s1[-1].st_pad5 + 0x37)" identifier = (cast_expression "(stat *)((int)unaff_s1[-1].st_pad5 + 0x37)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1[-1].st_pad5 + 0x37)" ( (binary_expression "(int)unaff_s1[-1].st_pad5 + 0x37" (cast_expression "(int)unaff_s1[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1[-1].st_pad5" (subscript_expression "unaff_s1[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) )))) ;) (if_statement "if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)) {\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }" if (parenthesized_expression "(((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0))" ( (binary_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]) &&\n           (unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)" (parenthesized_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf])" ( (binary_expression "(&stack0xffffdfd3)[(int)unaff_s0] == puVar30[-0x2cdf]" (subscript_expression "(&stack0xffffdfd3)[(int)unaff_s0]" (parenthesized_expression "(&stack0xffffdfd3)" ( (pointer_expression "&stack0xffffdfd3" & identifier) )) [ (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) ]) == (subscript_expression "puVar30[-0x2cdf]" identifier [ number_literal ])) )) && (parenthesized_expression "(unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0)" ( (comma_expression "unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)),\n           unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0" (assignment_expression "unaff_s8 = (stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5))" identifier = (cast_expression "(stat *)((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5))" ( (binary_expression "(int)unaff_s8->st_pad1 + ((psVar21 < unaff_s1) - 5)" (cast_expression "(int)unaff_s8->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s8->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "((psVar21 < unaff_s1) - 5)" ( (binary_expression "(psVar21 < unaff_s1) - 5" (parenthesized_expression "(psVar21 < unaff_s1)" ( (binary_expression "psVar21 < unaff_s1" identifier < identifier) )) - number_literal) ))) )))) , (comma_expression "unaff_s1 = psVar21, unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0" (assignment_expression "unaff_s1 = psVar21" identifier = identifier) , (binary_expression "unaff_s8 == (stat *)0x0 && psVar21 == (stat *)0x0" (binary_expression "unaff_s8 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "psVar21 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (compound_statement "{\n          unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);\n          unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);\n          in_a2 = unaff_s3;\n          in_a3 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);\n          if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }\n          psVar21 = unaff_s0;\n          xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);\n          _Var16 = true;\n          goto LAB_00013464;\n        }" { (expression_statement "unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6);" (assignment_expression "unaff_s1 = (stat *)((int)unaff_s0 - (int)psVar6)" identifier = (cast_expression "(stat *)((int)unaff_s0 - (int)psVar6)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 - (int)psVar6)" ( (binary_expression "(int)unaff_s0 - (int)psVar6" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0);" (assignment_expression "unaff_s3 = (stat *)-(uint)(unaff_s1 != (stat *)0x0)" identifier = (cast_expression "(stat *)-(uint)(unaff_s1 != (stat *)0x0)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(uint)(unaff_s1 != (stat *)0x0)" - (call_expression "(uint)(unaff_s1 != (stat *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s1 != (stat *)0x0)" ( (binary_expression "unaff_s1 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))))) ;) (expression_statement "in_a2 = unaff_s3;" (assignment_expression "in_a2 = unaff_s3" identifier = identifier) ;) (expression_statement "in_a3 = unaff_s1;" (assignment_expression "in_a3 = unaff_s1" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd);" (assignment_expression "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(fd)" identifier = (call_expression "(*(code *)PTR_lseek64_0002d2a8)(fd)" (parenthesized_expression "(*(code *)PTR_lseek64_0002d2a8)" ( (pointer_expression "*(code *)PTR_lseek64_0002d2a8" * (cast_expression "(code *)PTR_lseek64_0002d2a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fd)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n            in_a2 = &st;\n            iVar7 = fd;\n            iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);\n            if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }\n          }" { (expression_statement "in_a2 = &st;" (assignment_expression "in_a2 = &st" identifier = (pointer_expression "&st" & identifier)) ;) (expression_statement "iVar7 = fd;" (assignment_expression "iVar7 = fd" identifier = identifier) ;) (expression_statement "iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3);" (assignment_expression "iVar13 = (*(code *)PTR___fxstat64_0002d2b4)(3)" identifier = (call_expression "(*(code *)PTR___fxstat64_0002d2b4)(3)" (parenthesized_expression "(*(code *)PTR___fxstat64_0002d2b4)" ( (pointer_expression "*(code *)PTR___fxstat64_0002d2b4" * (cast_expression "(code *)PTR___fxstat64_0002d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) (if_statement "if ((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }" if (parenthesized_expression "((iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000))" ( (binary_expression "(iVar13 != 0) || ((st.st_mode & 0xf000) == 0x8000)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) || (parenthesized_expression "((st.st_mode & 0xf000) == 0x8000)" ( (binary_expression "(st.st_mode & 0xf000) == 0x8000" (parenthesized_expression "(st.st_mode & 0xf000)" ( (binary_expression "st.st_mode & 0xf000" (field_expression "st.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              in_a2 = unaff_s3;\n              in_a3 = unaff_s1;\n              elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);\n            }" { (expression_statement "in_a2 = unaff_s3;" (assignment_expression "in_a2 = unaff_s3" identifier = identifier) ;) (expression_statement "in_a3 = unaff_s1;" (assignment_expression "in_a3 = unaff_s1" identifier = identifier) ;) (expression_statement "elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3);" (call_expression "elseek(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3)" identifier (argument_list "(fd,CONCAT44(1,filename),iVar7,(char *)unaff_s3)" ( identifier , (call_expression "CONCAT44(1,filename)" identifier (argument_list "(1,filename)" ( number_literal , identifier ))) , identifier , (cast_expression "(char *)unaff_s3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) })) (expression_statement "psVar21 = unaff_s0;" (assignment_expression "psVar21 = unaff_s0" identifier = identifier) ;) (expression_statement "xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0);" (call_expression "xwrite_stdout((char *)unaff_s7,(size_t)unaff_s0)" identifier (argument_list "((char *)unaff_s7,(size_t)unaff_s0)" ( (cast_expression "(char *)unaff_s7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(size_t)unaff_s0" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "_Var16 = true;" (assignment_expression "_Var16 = true" identifier = true) ;) (goto_statement "goto LAB_00013464;" goto statement_identifier ;) })) }) while (parenthesized_expression "(psVar6 != unaff_s0)" ( (binary_expression "psVar6 != unaff_s0" identifier != identifier) )) ;) (expression_statement "xwrite_stdout((char *)unaff_s7,(size_t)psVar6);" (call_expression "xwrite_stdout((char *)unaff_s7,(size_t)psVar6)" identifier (argument_list "((char *)unaff_s7,(size_t)psVar6)" ( (cast_expression "(char *)unaff_s7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(size_t)psVar6" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "psVar24 = (stat *)0x2000;" (assignment_expression "psVar24 = (stat *)0x2000" identifier = (cast_expression "(stat *)0x2000" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar21 = unaff_s7;" (assignment_expression "psVar21 = unaff_s7" identifier = identifier) ;) (expression_statement "psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000);" (assignment_expression "psVar6 = (stat *)safe_read(fd,unaff_s7,0x2000)" identifier = (cast_expression "(stat *)safe_read(fd,unaff_s7,0x2000)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(fd,unaff_s7,0x2000)" identifier (argument_list "(fd,unaff_s7,0x2000)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "psVar25 = in_a3;" (assignment_expression "psVar25 = in_a3" identifier = identifier) ;) })) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = (stat *)*puVar9;" (assignment_expression "unaff_s0 = (stat *)*puVar9" identifier = (cast_expression "(stat *)*puVar9" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);" (assignment_expression "unaff_s1 = (stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" identifier = (cast_expression "(stat *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002d2c8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002d2c8" * (cast_expression "(code *)PTR_dcgettext_0002d2c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002d108 + -0x4f50,5)" ( number_literal , (binary_expression "PTR_DAT_0002d108 + -0x4f50" identifier + number_literal) , number_literal ))))) ;) (expression_statement "in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename);" (assignment_expression "in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,filename)" identifier = (cast_expression "(stat *)quotearg_style(shell_escape_always_quoting_style,filename)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quotearg_style(shell_escape_always_quoting_style,filename)" identifier (argument_list "(shell_escape_always_quoting_style,filename)" ( identifier , identifier ))))) ;) (expression_statement "psVar21 = unaff_s0;" (assignment_expression "psVar21 = unaff_s0" identifier = identifier) ;) (expression_statement "in_a2 = unaff_s1;" (assignment_expression "in_a2 = unaff_s1" identifier = identifier) ;) (expression_statement "(*(code *)PTR_error_0002d2a0)(0);" (call_expression "(*(code *)PTR_error_0002d2a0)(0)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" ( (pointer_expression "*(code *)PTR_error_0002d2a0" * (cast_expression "(code *)PTR_error_0002d2a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "_Var16 = false;" (assignment_expression "_Var16 = false" identifier = false) ;) }))) (labeled_statement "LAB_00013464:\n  if (pcVar18 == *(char **)puVar3) {\n    return _Var16;\n  }" statement_identifier : (if_statement "if (pcVar18 == *(char **)puVar3) {\n    return _Var16;\n  }" if (parenthesized_expression "(pcVar18 == *(char **)puVar3)" ( (binary_expression "pcVar18 == *(char **)puVar3" identifier == (pointer_expression "*(char **)puVar3" * (cast_expression "(char **)puVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return _Var16;\n  }" { (return_statement "return _Var16;" return identifier ;) }))) (expression_statement "pcVar33 = head_bytes;" (assignment_expression "pcVar33 = head_bytes" identifier = identifier) ;) (expression_statement "puVar30 = PTR___stack_chk_fail_0002d2c4;" (assignment_expression "puVar30 = PTR___stack_chk_fail_0002d2c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" * (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_4138 = puVar30 + 0x21b24;" (assignment_expression "puStack_4138 = puVar30 + 0x21b24" identifier = (binary_expression "puVar30 + 0x21b24" identifier + number_literal)) ;) (expression_statement "puStack_2108 = puVar3;" (assignment_expression "puStack_2108 = puVar3" identifier = identifier) ;) (expression_statement "piVar31 = *(int **)(puVar30 + 0x19d30);" (assignment_expression "piVar31 = *(int **)(puVar30 + 0x19d30)" identifier = (pointer_expression "*(int **)(puVar30 + 0x19d30)" * (cast_expression "(int **)(puVar30 + 0x19d30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x19d30)" ( (binary_expression "puVar30 + 0x19d30" identifier + number_literal) ))))) ;) (expression_statement "pcStack_2124 = (char *)*piVar31;" (assignment_expression "pcStack_2124 = (char *)*piVar31" identifier = (cast_expression "(char *)*piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar31" * identifier))) ;) (expression_statement "puVar27 = *(undefined1 **)(puVar30 + 0x19b58);" (assignment_expression "puVar27 = *(undefined1 **)(puVar30 + 0x19b58)" identifier = (pointer_expression "*(undefined1 **)(puVar30 + 0x19b58)" * (cast_expression "(undefined1 **)(puVar30 + 0x19b58)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x19b58)" ( (binary_expression "puVar30 + 0x19b58" identifier + number_literal) ))))) ;) (expression_statement "psVar6 = psVar21;" (assignment_expression "psVar6 = psVar21" identifier = identifier) ;) (expression_statement "psVar25 = psStack_2110;" (assignment_expression "psVar25 = psStack_2110" identifier = identifier) ;) (expression_statement "puVar30 = unaff_s5;" (assignment_expression "puVar30 = unaff_s5" identifier = identifier) ;) (expression_statement "psVar24 = unaff_s7;" (assignment_expression "psVar24 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_412c = pcVar18;" (assignment_expression "pcStack_412c = pcVar18" identifier = identifier) ;) (expression_statement "psStack_2120 = unaff_s0;" (assignment_expression "psStack_2120 = unaff_s0" identifier = identifier) ;) (expression_statement "psStack_211c = unaff_s1;" (assignment_expression "psStack_211c = unaff_s1" identifier = identifier) ;) (expression_statement "psStack_2118 = unaff_s2;" (assignment_expression "psStack_2118 = unaff_s2" identifier = identifier) ;) (expression_statement "psStack_2114 = unaff_s3;" (assignment_expression "psStack_2114 = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_210c = unaff_s5;" (assignment_expression "puStack_210c = unaff_s5" identifier = identifier) ;) (expression_statement "psStack_2104 = unaff_s7;" (assignment_expression "psStack_2104 = unaff_s7" identifier = identifier) ;) (expression_statement "psStack_2100 = unaff_s8;" (assignment_expression "psStack_2100 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_20fc = pcVar33;" (assignment_expression "pcStack_20fc = pcVar33" identifier = identifier) ;) (if_statement "if (in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0) {\n    psVar24 = asStack_4124;\n    puVar30 = (undefined *)0xffffffff;\n    puVar27 = &DAT_00003118 + (int)puVar27;\n    psVar28 = in_a3;\n    psVar8 = (stat *)0x2000;\n    psVar5 = in_a2;\n    do {\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);\n  }" if (parenthesized_expression "(in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0)" ( (binary_expression "in_a2 != (stat *)0x0 || in_a3 != (stat *)0x0" (binary_expression "in_a2 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "in_a3 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    psVar24 = asStack_4124;\n    puVar30 = (undefined *)0xffffffff;\n    puVar27 = &DAT_00003118 + (int)puVar27;\n    psVar28 = in_a3;\n    psVar8 = (stat *)0x2000;\n    psVar5 = in_a2;\n    do {\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);\n  }" { (expression_statement "psVar24 = asStack_4124;" (assignment_expression "psVar24 = asStack_4124" identifier = identifier) ;) (expression_statement "puVar30 = (undefined *)0xffffffff;" (assignment_expression "puVar30 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar27 = &DAT_00003118 + (int)puVar27;" (assignment_expression "puVar27 = &DAT_00003118 + (int)puVar27" identifier = (binary_expression "&DAT_00003118 + (int)puVar27" (pointer_expression "&DAT_00003118" & identifier) + (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar28 = in_a3;" (assignment_expression "psVar28 = in_a3" identifier = identifier) ;) (expression_statement "psVar8 = (stat *)0x2000;" (assignment_expression "psVar8 = (stat *)0x2000" identifier = (cast_expression "(stat *)0x2000" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar5 = in_a2;" (assignment_expression "psVar5 = in_a2" identifier = identifier) ;) (do_statement "do {\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    } while (unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0);" do (compound_statement "{\n      unaff_s8 = psVar5;\n      unaff_s2 = psVar8;\n      if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }\n      psVar6 = psVar24;\n      in_a2 = unaff_s2;\n      psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);\n      psVar25 = psVar21;\n      if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);\n      unaff_s1 = psVar28;\n      if (psVar8 == (stat *)0x0) break;\n      unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));\n      xwrite_stdout((char *)psVar24,(size_t)psVar8);\n      psVar6 = psVar8;\n      unaff_s1 = unaff_s0;\n      psVar28 = unaff_s0;\n      psVar8 = unaff_s2;\n      psVar5 = unaff_s8;\n    }" { (expression_statement "unaff_s8 = psVar5;" (assignment_expression "unaff_s8 = psVar5" identifier = identifier) ;) (expression_statement "unaff_s2 = psVar8;" (assignment_expression "unaff_s2 = psVar8" identifier = identifier) ;) (if_statement "if ((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)) {\n        unaff_s2 = psVar28;\n      }" if (parenthesized_expression "((unaff_s8 == (stat *)0x0) && (psVar28 < psVar8))" ( (binary_expression "(unaff_s8 == (stat *)0x0) && (psVar28 < psVar8)" (parenthesized_expression "(unaff_s8 == (stat *)0x0)" ( (binary_expression "unaff_s8 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar28 < psVar8)" ( (binary_expression "psVar28 < psVar8" identifier < identifier) ))) )) (compound_statement "{\n        unaff_s2 = psVar28;\n      }" { (expression_statement "unaff_s2 = psVar28;" (assignment_expression "unaff_s2 = psVar28" identifier = identifier) ;) })) (expression_statement "psVar6 = psVar24;" (assignment_expression "psVar6 = psVar24" identifier = identifier) ;) (expression_statement "in_a2 = unaff_s2;" (assignment_expression "in_a2 = unaff_s2" identifier = identifier) ;) (expression_statement "psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2);" (assignment_expression "psVar8 = (stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2)" identifier = (cast_expression "(stat *)safe_read((int)psVar21,psVar24,(size_t)unaff_s2)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read((int)psVar21,psVar24,(size_t)unaff_s2)" identifier (argument_list "((int)psVar21,psVar24,(size_t)unaff_s2)" ( (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(size_t)unaff_s2" ( (type_descriptor "size_t" primitive_type) ) identifier) ))))) ;) (expression_statement "psVar25 = psVar21;" (assignment_expression "psVar25 = psVar21" identifier = identifier) ;) (if_statement "if (psVar8 == (stat *)0xffffffff) {\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }" if (parenthesized_expression "(psVar8 == (stat *)0xffffffff)" ( (binary_expression "psVar8 == (stat *)0xffffffff" identifier == (cast_expression "(stat *)0xffffffff" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();\n        unaff_s0 = (stat *)*puVar9;\n        unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);\n        in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);\n        psVar6 = unaff_s0;\n        in_a2 = unaff_s1;\n        (**(code **)(puStack_4138 + -0x7e30))(0);\n        _Var16 = false;\n        goto LAB_000136f4;\n      }" { (expression_statement "puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))();" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puStack_4138 + -0x7e6c))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_4138 + -0x7e6c))()" (parenthesized_expression "(**(code **)(puStack_4138 + -0x7e6c))" ( (pointer_expression "**(code **)(puStack_4138 + -0x7e6c)" * (pointer_expression "*(code **)(puStack_4138 + -0x7e6c)" * (cast_expression "(code **)(puStack_4138 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_4138 + -0x7e6c)" ( (binary_expression "puStack_4138 + -0x7e6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = (stat *)*puVar9;" (assignment_expression "unaff_s0 = (stat *)*puVar9" identifier = (cast_expression "(stat *)*puVar9" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5)" identifier = (cast_expression "(stat *)(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_4138 + -0x7e08))\n                                     (0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(puStack_4138 + -0x7e08))" ( (pointer_expression "**(code **)(puStack_4138 + -0x7e08)" * (pointer_expression "*(code **)(puStack_4138 + -0x7e08)" * (cast_expression "(code **)(puStack_4138 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_4138 + -0x7e08)" ( (binary_expression "puStack_4138 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puStack_4138 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(puStack_4138 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(puStack_4138 + -0x7fc8)" * (cast_expression "(int *)(puStack_4138 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_4138 + -0x7fc8)" ( (binary_expression "puStack_4138 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c);" (assignment_expression "in_a3 = (stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c)" identifier = (cast_expression "(stat *)quotearg_style(shell_escape_always_quoting_style,pcStack_412c)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quotearg_style(shell_escape_always_quoting_style,pcStack_412c)" identifier (argument_list "(shell_escape_always_quoting_style,pcStack_412c)" ( identifier , identifier ))))) ;) (expression_statement "psVar6 = unaff_s0;" (assignment_expression "psVar6 = unaff_s0" identifier = identifier) ;) (expression_statement "in_a2 = unaff_s1;" (assignment_expression "in_a2 = unaff_s1" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_4138 + -0x7e30))(0);" (call_expression "(**(code **)(puStack_4138 + -0x7e30))(0)" (parenthesized_expression "(**(code **)(puStack_4138 + -0x7e30))" ( (pointer_expression "**(code **)(puStack_4138 + -0x7e30)" * (pointer_expression "*(code **)(puStack_4138 + -0x7e30)" * (cast_expression "(code **)(puStack_4138 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_4138 + -0x7e30)" ( (binary_expression "puStack_4138 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "_Var16 = false;" (assignment_expression "_Var16 = false" identifier = false) ;) (goto_statement "goto LAB_000136f4;" goto statement_identifier ;) })) (expression_statement "unaff_s0 = (stat *)((int)psVar28 - (int)psVar8);" (assignment_expression "unaff_s0 = (stat *)((int)psVar28 - (int)psVar8)" identifier = (cast_expression "(stat *)((int)psVar28 - (int)psVar8)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar28 - (int)psVar8)" ( (binary_expression "(int)psVar28 - (int)psVar8" (cast_expression "(int)psVar28" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s1 = psVar28;" (assignment_expression "unaff_s1 = psVar28" identifier = identifier) ;) (if_statement "if (psVar8 == (stat *)0x0) break;" if (parenthesized_expression "(psVar8 == (stat *)0x0)" ( (binary_expression "psVar8 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0));" (assignment_expression "unaff_s8 = (stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0))" identifier = (cast_expression "(stat *)((int)unaff_s8 - (uint)(psVar28 < unaff_s0))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 - (uint)(psVar28 < unaff_s0))" ( (binary_expression "(int)unaff_s8 - (uint)(psVar28 < unaff_s0)" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) - (call_expression "(uint)(psVar28 < unaff_s0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar28 < unaff_s0)" ( (binary_expression "psVar28 < unaff_s0" identifier < identifier) )))) )))) ;) (expression_statement "xwrite_stdout((char *)psVar24,(size_t)psVar8);" (call_expression "xwrite_stdout((char *)psVar24,(size_t)psVar8)" identifier (argument_list "((char *)psVar24,(size_t)psVar8)" ( (cast_expression "(char *)psVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(size_t)psVar8" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "psVar6 = psVar8;" (assignment_expression "psVar6 = psVar8" identifier = identifier) ;) (expression_statement "unaff_s1 = unaff_s0;" (assignment_expression "unaff_s1 = unaff_s0" identifier = identifier) ;) (expression_statement "psVar28 = unaff_s0;" (assignment_expression "psVar28 = unaff_s0" identifier = identifier) ;) (expression_statement "psVar8 = unaff_s2;" (assignment_expression "psVar8 = unaff_s2" identifier = identifier) ;) (expression_statement "psVar5 = unaff_s8;" (assignment_expression "psVar5 = unaff_s8" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0)" ( (binary_expression "unaff_s8 != (stat *)0x0 || unaff_s0 != (stat *)0x0" (binary_expression "unaff_s8 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "unaff_s0 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) })) (expression_statement "_Var16 = true;" (assignment_expression "_Var16 = true" identifier = true) ;) (labeled_statement "LAB_000136f4:\n  if (pcStack_2124 == (char *)*piVar31) {\n    return _Var16;\n  }" statement_identifier : (if_statement "if (pcStack_2124 == (char *)*piVar31) {\n    return _Var16;\n  }" if (parenthesized_expression "(pcStack_2124 == (char *)*piVar31)" ( (binary_expression "pcStack_2124 == (char *)*piVar31" identifier == (cast_expression "(char *)*piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar31" * identifier))) )) (compound_statement "{\n    return _Var16;\n  }" { (return_statement "return _Var16;" return identifier ;) }))) (expression_statement "pcVar33 = *(code **)(puStack_4138 + -0x7e0c);" (assignment_expression "pcVar33 = *(code **)(puStack_4138 + -0x7e0c)" identifier = (pointer_expression "*(code **)(puStack_4138 + -0x7e0c)" * (cast_expression "(code **)(puStack_4138 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_4138 + -0x7e0c)" ( (binary_expression "puStack_4138 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "pcVar34 = diagnose_copy_fd_failure;" (assignment_expression "pcVar34 = diagnose_copy_fd_failure" identifier = identifier) ;) (expression_statement "pcVar18 = pcStack_2124;" (assignment_expression "pcVar18 = pcStack_2124" identifier = identifier) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_4160 = pcVar33 + 0x21994;" (assignment_expression "pcStack_4160 = pcVar33 + 0x21994" identifier = (binary_expression "pcVar33 + 0x21994" identifier + number_literal)) ;) (expression_statement "psStack_4154 = unaff_s0;" (assignment_expression "psStack_4154 = unaff_s0" identifier = identifier) ;) (expression_statement "psStack_4150 = unaff_s1;" (assignment_expression "psStack_4150 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_414c = pcVar34;" (assignment_expression "pcStack_414c = pcVar34" identifier = identifier) ;) (if_statement "if (pcVar18 == (char *)0x1) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }" if (parenthesized_expression "(pcVar18 == (char *)0x1)" ( (binary_expression "pcVar18 == (char *)0x1" identifier == (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }" { (expression_statement "puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar33 + 0x19b28))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar33 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar33 + 0x19b28))" ( (pointer_expression "**(code **)(pcVar33 + 0x19b28)" * (pointer_expression "*(code **)(pcVar33 + 0x19b28)" * (cast_expression "(code **)(pcVar33 + 0x19b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19b28)" ( (binary_expression "pcVar33 + 0x19b28" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar26 = *puVar9;" (assignment_expression "uVar26 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);" (assignment_expression "uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" * (cast_expression "(code **)(pcStack_4160 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e08)" ( (binary_expression "pcStack_4160 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" * (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_4160 + -0x7fc8)" ( (binary_expression "pcStack_4160 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6);" (assignment_expression "pcVar18 = quotearg_style(shell_escape_always_quoting_style,(char *)psVar6)" identifier = (call_expression "quotearg_style(shell_escape_always_quoting_style,(char *)psVar6)" identifier (argument_list "(shell_escape_always_quoting_style,(char *)psVar6)" ( identifier , (cast_expression "(char *)psVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) comment comment (expression_statement "uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);" (assignment_expression "uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" * (cast_expression "(code **)(pcStack_4160 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e30)" ( (binary_expression "pcStack_4160 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,uVar26,uVar10,pcVar18)" ( number_literal , identifier , identifier , identifier )))) ;) (return_statement "return (_Bool)uVar17;" return (cast_expression "(_Bool)uVar17" ( (type_descriptor "_Bool" type_identifier) ) identifier) ;) })) (if_statement "if (pcVar18 == (char *)0x2) {\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }" if (parenthesized_expression "(pcVar18 == (char *)0x2)" ( (binary_expression "pcVar18 == (char *)0x2" identifier == (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();\n    uVar26 = *puVar9;\n    uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);\n                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);\n    return (_Bool)uVar17;\n  }" { (expression_statement "puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))();" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(pcVar33 + 0x19b28))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar33 + 0x19b28))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar33 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar33 + 0x19b28))" ( (pointer_expression "**(code **)(pcVar33 + 0x19b28)" * (pointer_expression "*(code **)(pcVar33 + 0x19b28)" * (cast_expression "(code **)(pcVar33 + 0x19b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19b28)" ( (binary_expression "pcVar33 + 0x19b28" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar26 = *puVar9;" (assignment_expression "uVar26 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);" (assignment_expression "uVar10 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" * (cast_expression "(code **)(pcStack_4160 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e08)" ( (binary_expression "pcStack_4160 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" ( number_literal , (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" * (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_4160 + -0x7fc8)" ( (binary_expression "pcStack_4160 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6);" (assignment_expression "pcVar18 = quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6)" identifier = (call_expression "quotearg_n_style_colon(0,shell_escape_quoting_style,(char *)psVar6)" identifier (argument_list "(0,shell_escape_quoting_style,(char *)psVar6)" ( number_literal , identifier , (cast_expression "(char *)psVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) comment comment (expression_statement "uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18);" (assignment_expression "uVar17 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar26,uVar10,pcVar18)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" * (cast_expression "(code **)(pcStack_4160 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e30)" ( (binary_expression "pcStack_4160 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,uVar26,uVar10,pcVar18)" ( number_literal , identifier , identifier , identifier )))) ;) (return_statement "return (_Bool)uVar17;" return (cast_expression "(_Bool)uVar17" ( (type_descriptor "_Bool" type_identifier) ) identifier) ;) })) (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x19ae0);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x19ae0)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x19ae0)" * (cast_expression "(code **)(pcVar33 + 0x19ae0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19ae0)" ( (binary_expression "pcVar33 + 0x19ae0" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = elide_tail_lines_seekable;" (assignment_expression "pcVar35 = elide_tail_lines_seekable" identifier = identifier) ;) (expression_statement "psVar21 = psVar6;" (assignment_expression "psVar21 = psVar6" identifier = identifier) ;) (expression_statement "(*pcVar34)();" (call_expression "(*pcVar34)()" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar33 = pcStack_4160;" (assignment_expression "pcVar33 = pcStack_4160" identifier = identifier) ;) (expression_statement "piVar22 = *(int **)(pcVar34 + 0x19a7c);" (assignment_expression "piVar22 = *(int **)(pcVar34 + 0x19a7c)" identifier = (pointer_expression "*(int **)(pcVar34 + 0x19a7c)" * (cast_expression "(int **)(pcVar34 + 0x19a7c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x19a7c)" ( (binary_expression "pcVar34 + 0x19a7c" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = (uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff;" (assignment_expression "uVar11 = (uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff" identifier = (binary_expression "(uint)((int)psStack_4154 - (int)psStack_415c) & 0x1fff" (call_expression "(uint)((int)psStack_4154 - (int)psStack_415c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psStack_4154 - (int)psStack_415c)" ( (binary_expression "(int)psStack_4154 - (int)psStack_415c" (cast_expression "(int)psStack_4154" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psStack_415c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal)) ;) (expression_statement "iStack_419c = *piVar22;" (assignment_expression "iStack_419c = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) (if_statement "if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0) {\n    uVar11 = (uVar11 - 1 | 0xffffe000) + 1;\n  }" if (parenthesized_expression "((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0)" ( (binary_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))) < 0" (cast_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c)))" ( (binary_expression "(iStack_4158 - (int)pcStack_4160) -\n           (uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))" (parenthesized_expression "(iStack_4158 - (int)pcStack_4160)" ( (binary_expression "iStack_4158 - (int)pcStack_4160" identifier - (cast_expression "(int)pcStack_4160" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c))" ( (binary_expression "psStack_4154 < (stat *)((int)psStack_4154 - (int)psStack_415c)" identifier < (cast_expression "(stat *)((int)psStack_4154 - (int)psStack_415c)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_4154 - (int)psStack_415c)" ( (binary_expression "(int)psStack_4154 - (int)psStack_415c" (cast_expression "(int)psStack_4154" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psStack_415c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )))) ))) < number_literal) )) (compound_statement "{\n    uVar11 = (uVar11 - 1 | 0xffffe000) + 1;\n  }" { (expression_statement "uVar11 = (uVar11 - 1 | 0xffffe000) + 1;" (assignment_expression "uVar11 = (uVar11 - 1 | 0xffffe000) + 1" identifier = (binary_expression "(uVar11 - 1 | 0xffffe000) + 1" (parenthesized_expression "(uVar11 - 1 | 0xffffe000)" ( (binary_expression "uVar11 - 1 | 0xffffe000" (binary_expression "uVar11 - 1" identifier - number_literal) | number_literal) )) + number_literal)) ;) })) (expression_statement "count = 0x2000;" (assignment_expression "count = 0x2000" identifier = number_literal) ;) (if_statement "if (uVar11 != 0) {\n    count = uVar11;\n  }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    count = uVar11;\n  }" { (expression_statement "count = uVar11;" (assignment_expression "count = uVar11" identifier = identifier) ;) })) (expression_statement "psVar28 = (stat *)((int)psStack_4154 - count);" (assignment_expression "psVar28 = (stat *)((int)psStack_4154 - count)" identifier = (cast_expression "(stat *)((int)psStack_4154 - count)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_4154 - count)" ( (binary_expression "(int)psStack_4154 - count" (cast_expression "(int)psStack_4154" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pcVar32 = (code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4));" (assignment_expression "pcVar32 = (code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4))" identifier = (cast_expression "(code *)(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4))" ( (binary_expression "&DAT_00002fbc + *(int *)(pcVar34 + 0x198a4)" (pointer_expression "&DAT_00002fbc" & identifier) + (pointer_expression "*(int *)(pcVar34 + 0x198a4)" * (cast_expression "(int *)(pcVar34 + 0x198a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x198a4)" ( (binary_expression "pcVar34 + 0x198a4" identifier + number_literal) ))))) )))) ;) (expression_statement "filename_00 = (code *)(iStack_4158 - (uint)(psStack_4154 < psVar28));" (assignment_expression "filename_00 = (code *)(iStack_4158 - (uint)(psStack_4154 < psVar28))" identifier = (cast_expression "(code *)(iStack_4158 - (uint)(psStack_4154 < psVar28))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_4158 - (uint)(psStack_4154 < psVar28))" ( (binary_expression "iStack_4158 - (uint)(psStack_4154 < psVar28)" identifier - (call_expression "(uint)(psStack_4154 < psVar28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psStack_4154 < psVar28)" ( (binary_expression "psStack_4154 < psVar28" identifier < identifier) )))) )))) ;) (expression_statement "psStack_4198 = psVar6;" (assignment_expression "psStack_4198 = psVar6" identifier = identifier) ;) (expression_statement "psStack_4194 = unaff_s1;" (assignment_expression "psStack_4194 = unaff_s1" identifier = identifier) ;) (expression_statement "psStack_4190 = unaff_s2;" (assignment_expression "psStack_4190 = unaff_s2" identifier = identifier) ;) (expression_statement "puStack_418c = puVar27;" (assignment_expression "puStack_418c = puVar27" identifier = identifier) ;) (expression_statement "psStack_4188 = psVar25;" (assignment_expression "psStack_4188 = psVar25" identifier = identifier) ;) (expression_statement "puStack_4184 = puVar30;" (assignment_expression "puStack_4184 = puVar30" identifier = identifier) ;) (expression_statement "piStack_4180 = piVar31;" (assignment_expression "piStack_4180 = piVar31" identifier = identifier) ;) (expression_statement "psStack_417c = psVar24;" (assignment_expression "psStack_417c = psVar24" identifier = identifier) ;) (expression_statement "psStack_4178 = unaff_s8;" (assignment_expression "psStack_4178 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_4174 = pcVar35;" (assignment_expression "pcStack_4174 = pcVar35" identifier = identifier) ;) (expression_statement "oVar36 = elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00);" (assignment_expression "oVar36 = elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00)" identifier = (call_expression "elseek((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00)" identifier (argument_list "((int)psVar21,ZEXT48(pcVar18),iStack_419c,(char *)filename_00)" ( (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) , (call_expression "ZEXT48(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) , identifier , (cast_expression "(char *)filename_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (-1 < oVar36) {\n    unaff_s1 = (stat *)((int)acStack_619d + 1);\n    sVar12 = safe_read((int)psVar21,unaff_s1,count);\n    if (sVar12 != 0xffffffff) {\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();\n    in_a2 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);\n    (**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);\n  }" if (parenthesized_expression "(-1 < oVar36)" ( (binary_expression "-1 < oVar36" number_literal < identifier) )) (compound_statement "{\n    unaff_s1 = (stat *)((int)acStack_619d + 1);\n    sVar12 = safe_read((int)psVar21,unaff_s1,count);\n    if (sVar12 != 0xffffffff) {\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();\n    in_a2 = (stat *)*puVar9;\n    unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);\n    pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);\n    (**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);\n  }" { (expression_statement "unaff_s1 = (stat *)((int)acStack_619d + 1);" (assignment_expression "unaff_s1 = (stat *)((int)acStack_619d + 1)" identifier = (cast_expression "(stat *)((int)acStack_619d + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)acStack_619d + 1)" ( (binary_expression "(int)acStack_619d + 1" (cast_expression "(int)acStack_619d" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "sVar12 = safe_read((int)psVar21,unaff_s1,count);" (assignment_expression "sVar12 = safe_read((int)psVar21,unaff_s1,count)" identifier = (call_expression "safe_read((int)psVar21,unaff_s1,count)" identifier (argument_list "((int)psVar21,unaff_s1,count)" ( (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier )))) ;) (if_statement "if (sVar12 != 0xffffffff) {\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }" if (parenthesized_expression "(sVar12 != 0xffffffff)" ( (binary_expression "sVar12 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n      count = (uint)in_a2 | (uint)in_a3;\n      psVar6 = psVar28;\n      psVar25 = in_a3;\n      if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }\n      do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);\n      goto LAB_00013b94;\n    }" { (expression_statement "count = (uint)in_a2 | (uint)in_a3;" (assignment_expression "count = (uint)in_a2 | (uint)in_a3" identifier = (binary_expression "(uint)in_a2 | (uint)in_a3" (cast_expression "(uint)in_a2" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "psVar6 = psVar28;" (assignment_expression "psVar6 = psVar28" identifier = identifier) ;) (expression_statement "psVar25 = in_a3;" (assignment_expression "psVar25 = in_a3" identifier = identifier) ;) (if_statement "if (count == 0) {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }\n      else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }" if (parenthesized_expression "(count == 0)" ( (binary_expression "count == 0" identifier == number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n      }" { (expression_statement "iVar7 = *(int *)(pcVar34 + 0x19898);" (assignment_expression "iVar7 = *(int *)(pcVar34 + 0x19898)" identifier = (pointer_expression "*(int *)(pcVar34 + 0x19898)" * (cast_expression "(int *)(pcVar34 + 0x19898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x19898)" ( (binary_expression "pcVar34 + 0x19898" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }" else (compound_statement "{\n        iVar7 = *(int *)(pcVar34 + 0x19898);\n        if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }\n      }" { (expression_statement "iVar7 = *(int *)(pcVar34 + 0x19898);" (assignment_expression "iVar7 = *(int *)(pcVar34 + 0x19898)" identifier = (pointer_expression "*(int *)(pcVar34 + 0x19898)" * (cast_expression "(int *)(pcVar34 + 0x19898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x19898)" ( (binary_expression "pcVar34 + 0x19898" identifier + number_literal) ))))) ;) (if_statement "if ((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))) {\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }" if (parenthesized_expression "((sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf)))" ( (binary_expression "(sVar12 != 0) &&\n           (iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))" (parenthesized_expression "(sVar12 != 0)" ( (binary_expression "sVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf))" ( (comma_expression "iVar7 = *(int *)(pcVar34 + 0x19898),\n           acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf)" (assignment_expression "iVar7 = *(int *)(pcVar34 + 0x19898)" identifier = (pointer_expression "*(int *)(pcVar34 + 0x19898)" * (cast_expression "(int *)(pcVar34 + 0x19898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x19898)" ( (binary_expression "pcVar34 + 0x19898" identifier + number_literal) ))))) , (binary_expression "acStack_619d[sVar12] != *(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf)" (subscript_expression "acStack_619d[sVar12]" identifier [ identifier ]) != (pointer_expression "*(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf)" * (cast_expression "(char *)(*(int *)(pcVar34 + 0x19898) + -0x2cdf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x19898) + -0x2cdf)" ( (binary_expression "*(int *)(pcVar34 + 0x19898) + -0x2cdf" (pointer_expression "*(int *)(pcVar34 + 0x19898)" * (cast_expression "(int *)(pcVar34 + 0x19898)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x19898)" ( (binary_expression "pcVar34 + 0x19898" identifier + number_literal) )))) + number_literal) )))))) ))) )) (compound_statement "{\n          psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);\n          in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));\n        }" { (expression_statement "psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37);" (assignment_expression "psVar25 = (stat *)((int)in_a3[-1].st_pad5 + 0x37)" identifier = (cast_expression "(stat *)((int)in_a3[-1].st_pad5 + 0x37)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_a3[-1].st_pad5 + 0x37)" ( (binary_expression "(int)in_a3[-1].st_pad5 + 0x37" (cast_expression "(int)in_a3[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "in_a3[-1].st_pad5" (subscript_expression "in_a3[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) )))) ;) (expression_statement "in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5));" (assignment_expression "in_a2 = (stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5))" identifier = (cast_expression "(stat *)((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5))" ( (binary_expression "(int)in_a2->st_pad1 + ((psVar25 < in_a3) - 5)" (cast_expression "(int)in_a2->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "in_a2->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "((psVar25 < in_a3) - 5)" ( (binary_expression "(psVar25 < in_a3) - 5" (parenthesized_expression "(psVar25 < in_a3)" ( (binary_expression "psVar25 < in_a3" identifier < identifier) )) - number_literal) ))) )))) ;) })) }))) (do_statement "do {\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      } while (sVar12 != 0);" do (compound_statement "{\n        psVar28 = psVar6;\n        if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }\n        if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;\n        psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);\n        filename_00 = filename_00 + ((psVar28 < psVar6) - 1);\n        iVar13 = (*pcVar32)(psVar21);\n        if (iVar13 < 0) goto LAB_00013b8c;\n        sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);\n        if (sVar12 == 0xffffffff) goto LAB_00013b28;\n        _Var16 = true;\n        psVar6 = psVar28;\n      }" { (expression_statement "psVar28 = psVar6;" (assignment_expression "psVar28 = psVar6" identifier = identifier) ;) (if_statement "if (sVar12 != 0) {\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }" if (parenthesized_expression "(sVar12 != 0)" ( (binary_expression "sVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          cVar1 = *(char *)(iVar7 + -0x2cdf);\n          psVar24 = in_a2;\n          do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);\n        }" { (expression_statement "cVar1 = *(char *)(iVar7 + -0x2cdf);" (assignment_expression "cVar1 = *(char *)(iVar7 + -0x2cdf)" identifier = (pointer_expression "*(char *)(iVar7 + -0x2cdf)" * (cast_expression "(char *)(iVar7 + -0x2cdf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2cdf)" ( (binary_expression "iVar7 + -0x2cdf" identifier + number_literal) ))))) ;) (expression_statement "psVar24 = in_a2;" (assignment_expression "psVar24 = in_a2" identifier = identifier) ;) (do_statement "do {\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          } while (sVar12 != 0);" do (compound_statement "{\n            if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }\n            psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);\n            psVar24 = in_a2;\n          }" { (if_statement "if (count == 0) {\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }" if (parenthesized_expression "(count == 0)" ( (binary_expression "count == 0" identifier == number_literal) )) (compound_statement "{\n              sVar12 = sVar12 - 1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;\n            }" { (expression_statement "sVar12 = sVar12 - 1;" (assignment_expression "sVar12 = sVar12 - 1" identifier = (binary_expression "sVar12 - 1" identifier - number_literal)) ;) (expression_statement "in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));" (assignment_expression "in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5))" identifier = (cast_expression "(stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5))" ( (binary_expression "(int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5)" (cast_expression "(int)psVar24->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar24->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5)" ( (binary_expression "((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5" (parenthesized_expression "((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25)" ( (binary_expression "(stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25" (cast_expression "(stat *)((int)psVar25[-1].st_pad5 + 0x37)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25[-1].st_pad5 + 0x37)" ( (binary_expression "(int)psVar25[-1].st_pad5 + 0x37" (cast_expression "(int)psVar25[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar25[-1].st_pad5" (subscript_expression "psVar25[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) ))) < identifier) )) - number_literal) ))) )))) ;) (if_statement "if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) goto LAB_000139ec;" if (parenthesized_expression "(psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0)" ( (binary_expression "psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0" (binary_expression "psVar24 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "psVar25 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000139ec;" goto statement_identifier ;)) }) (else_clause "else {\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }" else (compound_statement "{\n              iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);\n              in_a2 = psVar24;\n              if (iVar13 == 0) break;\n              sVar12 = iVar13 - (int)unaff_s1;\n              in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));\n              if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }\n            }" { (expression_statement "iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12);" (assignment_expression "iVar13 = (**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12)" identifier = (call_expression "(**(code **)(pcVar34 + 0x19a20))(unaff_s1,(int)cVar1,sVar12)" (parenthesized_expression "(**(code **)(pcVar34 + 0x19a20))" ( (pointer_expression "**(code **)(pcVar34 + 0x19a20)" * (pointer_expression "*(code **)(pcVar34 + 0x19a20)" * (cast_expression "(code **)(pcVar34 + 0x19a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x19a20)" ( (binary_expression "pcVar34 + 0x19a20" identifier + number_literal) ))))) )) (argument_list "(unaff_s1,(int)cVar1,sVar12)" ( identifier , (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (expression_statement "in_a2 = psVar24;" (assignment_expression "in_a2 = psVar24" identifier = identifier) ;) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar12 = iVar13 - (int)unaff_s1;" (assignment_expression "sVar12 = iVar13 - (int)unaff_s1" identifier = (binary_expression "iVar13 - (int)unaff_s1" identifier - (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5));" (assignment_expression "in_a2 = (stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5))" identifier = (cast_expression "(stat *)((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5))" ( (binary_expression "(int)psVar24->st_pad1 +\n                              (((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5)" (cast_expression "(int)psVar24->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar24->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5)" ( (binary_expression "((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25) - 5" (parenthesized_expression "((stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25)" ( (binary_expression "(stat *)((int)psVar25[-1].st_pad5 + 0x37) < psVar25" (cast_expression "(stat *)((int)psVar25[-1].st_pad5 + 0x37)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25[-1].st_pad5 + 0x37)" ( (binary_expression "(int)psVar25[-1].st_pad5 + 0x37" (cast_expression "(int)psVar25[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar25[-1].st_pad5" (subscript_expression "psVar25[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) ))) < identifier) )) - number_literal) ))) )))) ;) (if_statement "if (psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0) {\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }" if (parenthesized_expression "(psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0)" ( (binary_expression "psVar24 == (stat *)0x0 && psVar25 == (stat *)0x0" (binary_expression "psVar24 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "psVar25 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);\n                if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }\n                xwrite_stdout((char *)unaff_s1,sVar12 + 1);\n                uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);\n                filename_00 = filename_00 + (uVar11 < sVar12);\n                (*pcVar32)(psVar21);\n                _Var16 = (_Bool)((byte)~extraout_var >> 7);\n                psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);\n                goto LAB_00013b94;\n              }" { (labeled_statement "LAB_000139ec:\n                puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);" statement_identifier : (expression_statement "puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37);" (assignment_expression "puVar27 = (undefined1 *)((int)psVar24[-1].st_pad5 + 0x37)" identifier = (cast_expression "(undefined1 *)((int)psVar24[-1].st_pad5 + 0x37)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar24[-1].st_pad5 + 0x37)" ( (binary_expression "(int)psVar24[-1].st_pad5 + 0x37" (cast_expression "(int)psVar24[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar24[-1].st_pad5" (subscript_expression "psVar24[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) )))) ;)) (if_statement "if (((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))) {\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }" if (parenthesized_expression "(((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6))))" ( (binary_expression "((int)pcVar33 < (int)filename_00) ||\n                   ((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))" (parenthesized_expression "((int)pcVar33 < (int)filename_00)" ( (binary_expression "(int)pcVar33 < (int)filename_00" (cast_expression "(int)pcVar33" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)filename_00" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)))" ( (parenthesized_expression "(in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6))" ( (comma_expression "in_a2 = psVar24, filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)" (assignment_expression "in_a2 = psVar24" identifier = identifier) , (binary_expression "filename_00 == pcVar33 &&\n                    (puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)" (binary_expression "filename_00 == pcVar33" identifier == identifier) && (parenthesized_expression "(puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6)" ( (comma_expression "puVar27 = (undefined1 *)(sVar12 + 1), psStack_415c < psVar6" (assignment_expression "puVar27 = (undefined1 *)(sVar12 + 1)" identifier = (cast_expression "(undefined1 *)(sVar12 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar12 + 1)" ( (binary_expression "sVar12 + 1" identifier + number_literal) )))) , (binary_expression "psStack_415c < psVar6" identifier < identifier)) )))) )) ))) )) (compound_statement "{\n                  uVar10 = 0;\n                  pcVar37 = pcVar18;\n                  iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);\n                  in_a2 = psStack_415c;\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));\n                  if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }\n                }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "pcVar37 = pcVar18;" (assignment_expression "pcVar37 = pcVar18" identifier = identifier) ;) (expression_statement "iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c);" (assignment_expression "iVar7 = (*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c)" identifier = (call_expression "(*pcVar32)(psVar21,puVar27,pcVar33,psStack_415c)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(psVar21,puVar27,pcVar33,psStack_415c)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "in_a2 = psStack_415c;" (assignment_expression "in_a2 = psStack_415c" identifier = identifier) ;) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00013b8c;" goto statement_identifier ;)) (expression_statement "err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37));" (assignment_expression "err = copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37))" identifier = (call_expression "copy_fd((int)psVar21,CONCAT44(uVar10,pcVar37))" identifier (argument_list "((int)psVar21,CONCAT44(uVar10,pcVar37))" ( (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) , (call_expression "CONCAT44(uVar10,pcVar37)" identifier (argument_list "(uVar10,pcVar37)" ( identifier , identifier ))) )))) ;) (if_statement "if (err != COPY_FD_OK) {\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }" if (parenthesized_expression "(err != COPY_FD_OK)" ( (binary_expression "err != COPY_FD_OK" identifier != identifier) )) (compound_statement "{\n                    diagnose_copy_fd_failure(err,pcVar18);\n                    _Var16 = false;\n                    goto LAB_00013b94;\n                  }" { (expression_statement "diagnose_copy_fd_failure(err,pcVar18);" (call_expression "diagnose_copy_fd_failure(err,pcVar18)" identifier (argument_list "(err,pcVar18)" ( identifier , identifier ))) ;) (expression_statement "_Var16 = false;" (assignment_expression "_Var16 = false" identifier = false) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) })) (expression_statement "xwrite_stdout((char *)unaff_s1,sVar12 + 1);" (call_expression "xwrite_stdout((char *)unaff_s1,sVar12 + 1)" identifier (argument_list "((char *)unaff_s1,sVar12 + 1)" ( (cast_expression "(char *)unaff_s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "sVar12 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4);" (assignment_expression "uVar11 = (int)psVar6->st_pad1 + (sVar12 - 4)" identifier = (binary_expression "(int)psVar6->st_pad1 + (sVar12 - 4)" (cast_expression "(int)psVar6->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar6->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(sVar12 - 4)" ( (binary_expression "sVar12 - 4" identifier - number_literal) )))) ;) (expression_statement "filename_00 = filename_00 + (uVar11 < sVar12);" (assignment_expression "filename_00 = filename_00 + (uVar11 < sVar12)" identifier = (binary_expression "filename_00 + (uVar11 < sVar12)" identifier + (parenthesized_expression "(uVar11 < sVar12)" ( (binary_expression "uVar11 < sVar12" identifier < identifier) )))) ;) (expression_statement "(*pcVar32)(psVar21);" (call_expression "(*pcVar32)(psVar21)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(psVar21)" ( identifier ))) ;) (expression_statement "_Var16 = (_Bool)((byte)~extraout_var >> 7);" (assignment_expression "_Var16 = (_Bool)((byte)~extraout_var >> 7)" identifier = (call_expression "(_Bool)((byte)~extraout_var >> 7)" (parenthesized_expression "(_Bool)" ( identifier )) (argument_list "((byte)~extraout_var >> 7)" ( (binary_expression "(byte)~extraout_var >> 7" (cast_expression "(byte)~extraout_var" ( (type_descriptor "byte" type_identifier) ) (unary_expression "~extraout_var" ~ identifier)) >> number_literal) )))) ;) (expression_statement "psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11);" (assignment_expression "psVar28 = (stat *)(uint)(uVar11 + 1 < uVar11)" identifier = (cast_expression "(stat *)(uint)(uVar11 + 1 < uVar11)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar11 + 1 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 + 1 < uVar11)" ( (binary_expression "uVar11 + 1 < uVar11" (binary_expression "uVar11 + 1" identifier + number_literal) < identifier) ))))) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) }))) (expression_statement "psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37);" (assignment_expression "psVar25 = (stat *)((int)psVar25[-1].st_pad5 + 0x37)" identifier = (cast_expression "(stat *)((int)psVar25[-1].st_pad5 + 0x37)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25[-1].st_pad5 + 0x37)" ( (binary_expression "(int)psVar25[-1].st_pad5 + 0x37" (cast_expression "(int)psVar25[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar25[-1].st_pad5" (subscript_expression "psVar25[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) )))) ;) (expression_statement "psVar24 = in_a2;" (assignment_expression "psVar24 = in_a2" identifier = identifier) ;) }) while (parenthesized_expression "(sVar12 != 0)" ( (binary_expression "sVar12 != 0" identifier != number_literal) )) ;) })) (if_statement "if ((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)) break;" if (parenthesized_expression "((filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c))" ( (binary_expression "(filename_00 == pcVar33) && (_Var16 = true, psVar6 == psStack_415c)" (parenthesized_expression "(filename_00 == pcVar33)" ( (binary_expression "filename_00 == pcVar33" identifier == identifier) )) && (parenthesized_expression "(_Var16 = true, psVar6 == psStack_415c)" ( (comma_expression "_Var16 = true, psVar6 == psStack_415c" (assignment_expression "_Var16 = true" identifier = true) , (binary_expression "psVar6 == psStack_415c" identifier == identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6);" (assignment_expression "psVar28 = (stat *)(psVar6[-0x34].st_pad5 + 6)" identifier = (cast_expression "(stat *)(psVar6[-0x34].st_pad5 + 6)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar6[-0x34].st_pad5 + 6)" ( (binary_expression "psVar6[-0x34].st_pad5 + 6" (field_expression "psVar6[-0x34].st_pad5" (subscript_expression "psVar6[-0x34]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) ;) (expression_statement "filename_00 = filename_00 + ((psVar28 < psVar6) - 1);" (assignment_expression "filename_00 = filename_00 + ((psVar28 < psVar6) - 1)" identifier = (binary_expression "filename_00 + ((psVar28 < psVar6) - 1)" identifier + (parenthesized_expression "((psVar28 < psVar6) - 1)" ( (binary_expression "(psVar28 < psVar6) - 1" (parenthesized_expression "(psVar28 < psVar6)" ( (binary_expression "psVar28 < psVar6" identifier < identifier) )) - number_literal) )))) ;) (expression_statement "iVar13 = (*pcVar32)(psVar21);" (assignment_expression "iVar13 = (*pcVar32)(psVar21)" identifier = (call_expression "(*pcVar32)(psVar21)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(psVar21)" ( identifier )))) ;) (if_statement "if (iVar13 < 0) goto LAB_00013b8c;" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00013b8c;" goto statement_identifier ;)) (expression_statement "sVar12 = safe_read((int)psVar21,unaff_s1,0x2000);" (assignment_expression "sVar12 = safe_read((int)psVar21,unaff_s1,0x2000)" identifier = (call_expression "safe_read((int)psVar21,unaff_s1,0x2000)" identifier (argument_list "((int)psVar21,unaff_s1,0x2000)" ( (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , number_literal )))) ;) (if_statement "if (sVar12 == 0xffffffff) goto LAB_00013b28;" if (parenthesized_expression "(sVar12 == 0xffffffff)" ( (binary_expression "sVar12 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_00013b28;" goto statement_identifier ;)) (expression_statement "_Var16 = true;" (assignment_expression "_Var16 = true" identifier = true) ;) (expression_statement "psVar6 = psVar28;" (assignment_expression "psVar6 = psVar28" identifier = identifier) ;) }) while (parenthesized_expression "(sVar12 != 0)" ( (binary_expression "sVar12 != 0" identifier != number_literal) )) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) (labeled_statement "LAB_00013b28:\n    puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();" statement_identifier : (expression_statement "puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))();" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(pcVar34 + 0x19a04))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar34 + 0x19a04))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar34 + 0x19a04))()" (parenthesized_expression "(**(code **)(pcVar34 + 0x19a04))" ( (pointer_expression "**(code **)(pcVar34 + 0x19a04)" * (pointer_expression "*(code **)(pcVar34 + 0x19a04)" * (cast_expression "(code **)(pcVar34 + 0x19a04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x19a04)" ( (binary_expression "pcVar34 + 0x19a04" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "in_a2 = (stat *)*puVar9;" (assignment_expression "in_a2 = (stat *)*puVar9" identifier = (cast_expression "(stat *)*puVar9" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5)" identifier = (cast_expression "(stat *)(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar34 + 0x19a68))(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcVar34 + 0x19a68))" ( (pointer_expression "**(code **)(pcVar34 + 0x19a68)" * (pointer_expression "*(code **)(pcVar34 + 0x19a68)" * (cast_expression "(code **)(pcVar34 + 0x19a68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x19a68)" ( (binary_expression "pcVar34 + 0x19a68" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar34 + 0x198a8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(pcVar34 + 0x198a8) + -0x4f50" (pointer_expression "*(int *)(pcVar34 + 0x198a8)" * (cast_expression "(int *)(pcVar34 + 0x198a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x198a8)" ( (binary_expression "pcVar34 + 0x198a8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18);" (assignment_expression "pcVar18 = quotearg_style(shell_escape_always_quoting_style,pcVar18)" identifier = (call_expression "quotearg_style(shell_escape_always_quoting_style,pcVar18)" identifier (argument_list "(shell_escape_always_quoting_style,pcVar18)" ( identifier , identifier )))) ;) (expression_statement "(**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18);" (call_expression "(**(code **)(pcVar34 + 0x19a40))(0,in_a2,unaff_s1,pcVar18)" (parenthesized_expression "(**(code **)(pcVar34 + 0x19a40))" ( (pointer_expression "**(code **)(pcVar34 + 0x19a40)" * (pointer_expression "*(code **)(pcVar34 + 0x19a40)" * (cast_expression "(code **)(pcVar34 + 0x19a40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x19a40)" ( (binary_expression "pcVar34 + 0x19a40" identifier + number_literal) ))))) )) (argument_list "(0,in_a2,unaff_s1,pcVar18)" ( number_literal , identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00013b8c:\n  _Var16 = false;" statement_identifier : (expression_statement "_Var16 = false;" (assignment_expression "_Var16 = false" identifier = false) ;)) (labeled_statement "LAB_00013b94:\n  if (iStack_419c == *piVar22) {\n    return _Var16;\n  }" statement_identifier : (if_statement "if (iStack_419c == *piVar22) {\n    return _Var16;\n  }" if (parenthesized_expression "(iStack_419c == *piVar22)" ( (binary_expression "iStack_419c == *piVar22" identifier == (pointer_expression "*piVar22" * identifier)) )) (compound_statement "{\n    return _Var16;\n  }" { (return_statement "return _Var16;" return identifier ;) }))) (expression_statement "pcVar33 = *(code **)(pcVar34 + 0x19a64);" (assignment_expression "pcVar33 = *(code **)(pcVar34 + 0x19a64)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x19a64)" * (cast_expression "(code **)(pcVar34 + 0x19a64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x19a64)" ( (binary_expression "pcVar34 + 0x19a64" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = usage;" (assignment_expression "pcVar35 = usage" identifier = identifier) ;) (expression_statement "iVar7 = iStack_419c;" (assignment_expression "iVar7 = iStack_419c" identifier = identifier) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStackY_61f4 = **(undefined4 **)(pcVar33 + 0x19674);" (assignment_expression "uStackY_61f4 = **(undefined4 **)(pcVar33 + 0x19674)" identifier = (pointer_expression "**(undefined4 **)(pcVar33 + 0x19674)" * (pointer_expression "*(undefined4 **)(pcVar33 + 0x19674)" * (cast_expression "(undefined4 **)(pcVar33 + 0x19674)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19674)" ( (binary_expression "pcVar33 + 0x19674" identifier + number_literal) )))))) ;) (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x19660);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x19660)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) ;) (expression_statement "psStackY_61f0 = in_a2;" (assignment_expression "psStackY_61f0 = in_a2" identifier = identifier) ;) (expression_statement "psStackY_61ec = unaff_s1;" (assignment_expression "psStackY_61ec = unaff_s1" identifier = identifier) ;) (expression_statement "sStackY_61e8 = count;" (assignment_expression "sStackY_61e8 = count" identifier = identifier) ;) (expression_statement "psStackY_61e4 = psVar28;" (assignment_expression "psStackY_61e4 = psVar28" identifier = identifier) ;) (expression_statement "pcStackY_61e0 = filename_00;" (assignment_expression "pcStackY_61e0 = filename_00" identifier = identifier) ;) (expression_statement "pcStackY_61dc = pcVar35;" (assignment_expression "pcStackY_61dc = pcVar35" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00013cf8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00013cf8;" goto statement_identifier ;)) (expression_statement "uVar26 = **(undefined4 **)(pcVar33 + 0x19684);" (assignment_expression "uVar26 = **(undefined4 **)(pcVar33 + 0x19684)" identifier = (pointer_expression "**(undefined4 **)(pcVar33 + 0x19684)" * (pointer_expression "*(undefined4 **)(pcVar33 + 0x19684)" * (cast_expression "(undefined4 **)(pcVar33 + 0x19684)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19684)" ( (binary_expression "pcVar33 + 0x19684" identifier + number_literal) )))))) ;) (expression_statement "uVar10 = (*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5);" (assignment_expression "uVar10 = (*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5)" identifier = (call_expression "(*pcVar34)(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4f14,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4f14" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195c4))(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));" (call_expression "(**(code **)(pcVar33 + 0x195c4))(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar33 + 0x195c4))" ( (pointer_expression "**(code **)(pcVar33 + 0x195c4)" * (pointer_expression "*(code **)(pcVar33 + 0x195c4)" * (cast_expression "(code **)(pcVar33 + 0x195c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195c4)" ( (binary_expression "pcVar33 + 0x195c4" identifier + number_literal) ))))) )) (argument_list "(uVar26,1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar33 + 0x194b8)" * (pointer_expression "*(undefined4 **)(pcVar33 + 0x194b8)" * (cast_expression "(undefined4 **)(pcVar33 + 0x194b8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x194b8)" ( (binary_expression "pcVar33 + 0x194b8" identifier + number_literal) ))))) ))) ;) (do_statement "do {\n    pcVar34 = *(code **)(pcVar33 + 0x19620);\n    (*pcVar34)(iVar7);\nLAB_00013cf8:\n    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);\n    uVar10 = (*pcVar34)();\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);\n    piVar31 = aiStackY_622c;\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    iVar13 = *(int *)(pcVar33 + 0x19490);\n    piVar22 = (int *)(iVar13 + -0x2ff0);\n    piVar4 = piVar31;\n    do {\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    } while (piVar22 != (int *)(iVar13 + -0x2fc0));\n    iVar13 = piVar14[5];\n    iVar20 = *(int *)(pcVar33 + 0x194a0);\n    piVar19[4] = *piVar22;\n    piVar19[5] = iVar13;\n    iVar13 = aiStackY_622c[0];\n    while (iVar13 != 0) {\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }\n    iVar13 = *(int *)(pcVar33 + 0x194a0);\nLAB_00013f44:\n    iVar23 = piVar31[1];\n    iVar29 = *(int *)(pcVar33 + 0x194a0);\n    if (iVar23 == 0) {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);\n  } while( true );" do (compound_statement "{\n    pcVar34 = *(code **)(pcVar33 + 0x19620);\n    (*pcVar34)(iVar7);\nLAB_00013cf8:\n    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);\n    uVar10 = (*pcVar34)();\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);\n    piVar31 = aiStackY_622c;\n    (**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);\n    iVar13 = *(int *)(pcVar33 + 0x19490);\n    piVar22 = (int *)(iVar13 + -0x2ff0);\n    piVar4 = piVar31;\n    do {\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    } while (piVar22 != (int *)(iVar13 + -0x2fc0));\n    iVar13 = piVar14[5];\n    iVar20 = *(int *)(pcVar33 + 0x194a0);\n    piVar19[4] = *piVar22;\n    piVar19[5] = iVar13;\n    iVar13 = aiStackY_622c[0];\n    while (iVar13 != 0) {\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }\n    iVar13 = *(int *)(pcVar33 + 0x194a0);\nLAB_00013f44:\n    iVar23 = piVar31[1];\n    iVar29 = *(int *)(pcVar33 + 0x194a0);\n    if (iVar23 == 0) {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);\n  }" { (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x19620);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x19620)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x19620)" * (cast_expression "(code **)(pcVar33 + 0x19620)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19620)" ( (binary_expression "pcVar33 + 0x19620" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar34)(iVar7);" (call_expression "(*pcVar34)(iVar7)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar7)" ( identifier ))) ;) (labeled_statement "LAB_00013cf8:\n    puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);" statement_identifier : (expression_statement "puVar9 = *(undefined4 **)(pcVar33 + 0x195f4);" (assignment_expression "puVar9 = *(undefined4 **)(pcVar33 + 0x195f4)" identifier = (pointer_expression "*(undefined4 **)(pcVar33 + 0x195f4)" * (cast_expression "(undefined4 **)(pcVar33 + 0x195f4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f4)" ( (binary_expression "pcVar33 + 0x195f4" identifier + number_literal) ))))) ;)) (expression_statement "uVar10 = (*pcVar34)();" (assignment_expression "uVar10 = (*pcVar34)()" identifier = (call_expression "(*pcVar34)()" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8));" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,**(undefined4 **)(pcVar33 + 0x194b8))" ( number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar33 + 0x194b8)" * (pointer_expression "*(undefined4 **)(pcVar33 + 0x194b8)" * (cast_expression "(undefined4 **)(pcVar33 + 0x194b8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x194b8)" ( (binary_expression "pcVar33 + 0x194b8" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4ec8,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4ec8" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,10)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,10)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4e40,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4e40" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4e08,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4e08" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4dbc,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4dbc" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,10);" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,10)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,10)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4c2c,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4c2c" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4ba8,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4ba8" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4b68,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4b68" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4b38,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4b38" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4b00,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4b00" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar31 = aiStackY_622c;" (assignment_expression "piVar31 = aiStackY_622c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9);" (call_expression "(**(code **)(pcVar33 + 0x1969c))(uVar10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1969c)" * (pointer_expression "*(code **)(pcVar33 + 0x1969c)" * (cast_expression "(code **)(pcVar33 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1969c)" ( (binary_expression "pcVar33 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar10,*puVar9)" ( identifier , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "iVar13 = *(int *)(pcVar33 + 0x19490);" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x19490)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x19490)" * (cast_expression "(int *)(pcVar33 + 0x19490)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x19490)" ( (binary_expression "pcVar33 + 0x19490" identifier + number_literal) ))))) ;) (expression_statement "piVar22 = (int *)(iVar13 + -0x2ff0);" (assignment_expression "piVar22 = (int *)(iVar13 + -0x2ff0)" identifier = (cast_expression "(int *)(iVar13 + -0x2ff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x2ff0)" ( (binary_expression "iVar13 + -0x2ff0" identifier + number_literal) )))) ;) (expression_statement "piVar4 = piVar31;" (assignment_expression "piVar4 = piVar31" identifier = identifier) ;) (do_statement "do {\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    } while (piVar22 != (int *)(iVar13 + -0x2fc0));" do (compound_statement "{\n      piVar19 = piVar4;\n      piVar14 = piVar22;\n      piVar22 = piVar14 + 4;\n      *piVar19 = *piVar14;\n      iVar23 = piVar14[2];\n      iVar20 = piVar14[3];\n      piVar19[1] = piVar14[1];\n      piVar19[2] = iVar23;\n      piVar19[3] = iVar20;\n      piVar4 = piVar19 + 4;\n    }" { (expression_statement "piVar19 = piVar4;" (assignment_expression "piVar19 = piVar4" identifier = identifier) ;) (expression_statement "piVar14 = piVar22;" (assignment_expression "piVar14 = piVar22" identifier = identifier) ;) (expression_statement "piVar22 = piVar14 + 4;" (assignment_expression "piVar22 = piVar14 + 4" identifier = (binary_expression "piVar14 + 4" identifier + number_literal)) ;) (expression_statement "*piVar19 = *piVar14;" (assignment_expression "*piVar19 = *piVar14" (pointer_expression "*piVar19" * identifier) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar23 = piVar14[2];" (assignment_expression "iVar23 = piVar14[2]" identifier = (subscript_expression "piVar14[2]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = piVar14[3];" (assignment_expression "iVar20 = piVar14[3]" identifier = (subscript_expression "piVar14[3]" identifier [ number_literal ])) ;) (expression_statement "piVar19[1] = piVar14[1];" (assignment_expression "piVar19[1] = piVar14[1]" (subscript_expression "piVar19[1]" identifier [ number_literal ]) = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (expression_statement "piVar19[2] = iVar23;" (assignment_expression "piVar19[2] = iVar23" (subscript_expression "piVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar19[3] = iVar20;" (assignment_expression "piVar19[3] = iVar20" (subscript_expression "piVar19[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4 = piVar19 + 4;" (assignment_expression "piVar4 = piVar19 + 4" identifier = (binary_expression "piVar19 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar22 != (int *)(iVar13 + -0x2fc0))" ( (binary_expression "piVar22 != (int *)(iVar13 + -0x2fc0)" identifier != (cast_expression "(int *)(iVar13 + -0x2fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x2fc0)" ( (binary_expression "iVar13 + -0x2fc0" identifier + number_literal) )))) )) ;) (expression_statement "iVar13 = piVar14[5];" (assignment_expression "iVar13 = piVar14[5]" identifier = (subscript_expression "piVar14[5]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = *(int *)(pcVar33 + 0x194a0);" (assignment_expression "iVar20 = *(int *)(pcVar33 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) ))))) ;) (expression_statement "piVar19[4] = *piVar22;" (assignment_expression "piVar19[4] = *piVar22" (subscript_expression "piVar19[4]" identifier [ number_literal ]) = (pointer_expression "*piVar22" * identifier)) ;) (expression_statement "piVar19[5] = iVar13;" (assignment_expression "piVar19[5] = iVar13" (subscript_expression "piVar19[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar13 = aiStackY_622c[0];" (assignment_expression "iVar13 = aiStackY_622c[0]" identifier = (subscript_expression "aiStackY_622c[0]" identifier [ number_literal ])) ;) (while_statement "while (iVar13 != 0) {\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }" while (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar31 = piVar31 + 2;\n      iVar13 = *piVar31;\n    }" { (expression_statement "iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c);" (assignment_expression "iVar13 = (**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19698))(iVar20 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19698))" ( (pointer_expression "**(code **)(pcVar33 + 0x19698)" * (pointer_expression "*(code **)(pcVar33 + 0x19698)" * (cast_expression "(code **)(pcVar33 + 0x19698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19698)" ( (binary_expression "pcVar33 + 0x19698" identifier + number_literal) ))))) )) (argument_list "(iVar20 + -0x4f1c)" ( (binary_expression "iVar20 + -0x4f1c" identifier + number_literal) )))) ;) (if_statement "if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar13 = *(int *)(pcVar33 + 0x194a0);\n        goto LAB_00013f44;\n      }" { (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0);" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00013f44;" goto statement_identifier ;) })) (expression_statement "piVar31 = piVar31 + 2;" (assignment_expression "piVar31 = piVar31 + 2" identifier = (binary_expression "piVar31 + 2" identifier + number_literal)) ;) (expression_statement "iVar13 = *piVar31;" (assignment_expression "iVar13 = *piVar31" identifier = (pointer_expression "*piVar31" * identifier)) ;) })) (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0);" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00013f44:\n    iVar23 = piVar31[1];" statement_identifier : (expression_statement "iVar23 = piVar31[1];" (assignment_expression "iVar23 = piVar31[1]" identifier = (subscript_expression "piVar31[1]" identifier [ number_literal ])) ;)) (expression_statement "iVar29 = *(int *)(pcVar33 + 0x194a0);" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) ))))) ;) (if_statement "if (iVar23 == 0) {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar23 = iVar20 + -0x4f1c;\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n    }" { (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,iVar13 + -0x4a64,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,iVar13 + -0x4a64,5)" ( number_literal , (binary_expression "iVar13 + -0x4a64" identifier + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);" (call_expression "(**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar29 + -0x4a4c" identifier + number_literal) ))) ;) (expression_statement "iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);" (assignment_expression "iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0)" identifier = (call_expression "(**(code **)(pcVar33 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195e0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195e0)" * (pointer_expression "*(code **)(pcVar33 + 0x195e0)" * (cast_expression "(code **)(pcVar33 + 0x195e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195e0)" ( (binary_expression "pcVar33 + 0x195e0" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if ((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)) {\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" if (parenthesized_expression "((iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0))" ( (binary_expression "(iVar13 != 0) &&\n         (iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0)" ( (comma_expression "iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3),\n         iVar13 != 0" (assignment_expression "iVar13 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3)" identifier = (call_expression "(**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195b8))" ( (pointer_expression "**(code **)(pcVar33 + 0x195b8)" * (pointer_expression "*(code **)(pcVar33 + 0x195b8)" * (cast_expression "(code **)(pcVar33 + 0x195b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195b8)" ( (binary_expression "pcVar33 + 0x195b8" identifier + number_literal) ))))) )) (argument_list "(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3)" ( identifier , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar23 = iVar20 + -0x4f1c;\n        iVar13 = iVar23;\nLAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" { (expression_statement "iVar23 = iVar20 + -0x4f1c;" (assignment_expression "iVar23 = iVar20 + -0x4f1c" identifier = (binary_expression "iVar20 + -0x4f1c" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar23;" (assignment_expression "iVar13 = iVar23" identifier = identifier) ;) (labeled_statement "LAB_00014148:\n        uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);" statement_identifier : (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x4a10,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4a10" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c);" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar20 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,iVar20 + -0x4f1c)" ( number_literal , identifier , (binary_expression "iVar20 + -0x4f1c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00013fcc;" goto statement_identifier ;) })) (expression_statement "iVar23 = iVar20 + -0x4f1c;" (assignment_expression "iVar23 = iVar20 + -0x4f1c" identifier = (binary_expression "iVar20 + -0x4f1c" identifier + number_literal)) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23);" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar23)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,iVar29 + -0x4a4c,iVar23)" ( number_literal , identifier , (binary_expression "iVar29 + -0x4a4c" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c" identifier = (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }" else (compound_statement "{\n      uVar10 = (**(code **)(pcVar33 + 0x19660))();\n      (**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);\n      iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);\n      if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);\n      if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }\n    }" { (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))();" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))()" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))()" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c);" (call_expression "(**(code **)(pcVar33 + 0x195f0))\n                (1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,*(int *)(pcVar33 + 0x194a0) + -0x4a24,iVar29 + -0x4a4c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar29 + -0x4a4c" identifier + number_literal) ))) ;) (expression_statement "iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0);" (assignment_expression "iVar13 = (**(code **)(pcVar33 + 0x195e0))(5,0)" identifier = (call_expression "(**(code **)(pcVar33 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195e0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195e0)" * (pointer_expression "*(code **)(pcVar33 + 0x195e0)" * (cast_expression "(code **)(pcVar33 + 0x195e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195e0)" ( (binary_expression "pcVar33 + 0x195e0" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar13 == 0) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n      }" { (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c" identifier = (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }" else (compound_statement "{\n        iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;\n        if (iVar15 != 0) goto LAB_00014148;\n      }" { (expression_statement "iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3);" (assignment_expression "iVar15 = (**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3)" identifier = (call_expression "(**(code **)(pcVar33 + 0x195b8))(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195b8))" ( (pointer_expression "**(code **)(pcVar33 + 0x195b8)" * (pointer_expression "*(code **)(pcVar33 + 0x195b8)" * (cast_expression "(code **)(pcVar33 + 0x195b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195b8)" ( (binary_expression "pcVar33 + 0x195b8" identifier + number_literal) ))))) )) (argument_list "(iVar13,*(int *)(pcVar33 + 0x194a0) + -0x4a14,3)" ( identifier , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x4f1c" identifier = (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar15 != 0) goto LAB_00014148;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014148;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00013fcc:\n      uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);" statement_identifier : (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x49c8,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c);" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,iVar29 + -0x4a4c,iVar20 + -0x4f1c)" ( number_literal , identifier , (binary_expression "iVar29 + -0x4a4c" identifier + number_literal) , (binary_expression "iVar20 + -0x4f1c" identifier + number_literal) ))) ;) (expression_statement "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar10 = (**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5)" identifier = (call_expression "(**(code **)(pcVar33 + 0x19660))(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar33 + 0x19660))" ( (pointer_expression "**(code **)(pcVar33 + 0x19660)" * (pointer_expression "*(code **)(pcVar33 + 0x19660)" * (cast_expression "(code **)(pcVar33 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x19660)" ( (binary_expression "pcVar33 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar33 + 0x194a0) + -0x49a8,5)" ( number_literal , (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar23 == iVar13) {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }" if (parenthesized_expression "(iVar23 == iVar13)" ( (binary_expression "iVar23 == iVar13" identifier == identifier) )) (compound_statement "{\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;\n      }" { (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c;" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x496c" identifier = (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }" else (compound_statement "{\n        iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;\n      }" { (expression_statement "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858;" (assignment_expression "iVar13 = *(int *)(pcVar33 + 0x194a0) + -0x3858" identifier = (binary_expression "*(int *)(pcVar33 + 0x194a0) + -0x3858" (pointer_expression "*(int *)(pcVar33 + 0x194a0)" * (cast_expression "(int *)(pcVar33 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x194a0)" ( (binary_expression "pcVar33 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13);" (call_expression "(**(code **)(pcVar33 + 0x195f0))(1,uVar10,iVar23,iVar13)" (parenthesized_expression "(**(code **)(pcVar33 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar33 + 0x195f0)" * (pointer_expression "*(code **)(pcVar33 + 0x195f0)" * (cast_expression "(code **)(pcVar33 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x195f0)" ( (binary_expression "pcVar33 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar10,iVar23,iVar13)" ( number_literal , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "uint FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}\n\n" (function_definition "uint FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}" type_identifier (function_declarator "FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)" identifier (parameter_list "(undefined4 param_1,char *param_2,char *param_3,char *param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "char *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "char *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "char *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "char *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "char *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "char *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "char *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int aiStack_622c [14];" primitive_type (array_declarator "aiStack_622c [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_61f4;" type_identifier identifier ;) (declaration "char *pcStack_61f0;" primitive_type (pointer_declarator "*pcStack_61f0" * identifier) ;) (declaration "char *pcStack_61ec;" primitive_type (pointer_declarator "*pcStack_61ec" * identifier) ;) (declaration "uint uStack_61e8;" type_identifier identifier ;) (declaration "char *pcStack_61e4;" primitive_type (pointer_declarator "*pcStack_61e4" * identifier) ;) (declaration "code *pcStack_61e0;" type_identifier (pointer_declarator "*pcStack_61e0" * identifier) ;) (declaration "code *pcStack_61dc;" type_identifier (pointer_declarator "*pcStack_61dc" * identifier) ;) (declaration "undefined4 uStack_61c8;" type_identifier identifier ;) (declaration "int iStack_61c4;" primitive_type identifier ;) (declaration "code *pcStack_61c0;" type_identifier (pointer_declarator "*pcStack_61c0" * identifier) ;) (declaration "int iStack_61b4;" primitive_type identifier ;) (declaration "code *pcStack_61b0;" type_identifier (pointer_declarator "*pcStack_61b0" * identifier) ;) (declaration "int *piStack_61ac;" primitive_type (pointer_declarator "*piStack_61ac" * identifier) ;) (declaration "char *pcStack_61a8;" primitive_type (pointer_declarator "*pcStack_61a8" * identifier) ;) (declaration "char *pcStack_61a4;" primitive_type (pointer_declarator "*pcStack_61a4" * identifier) ;) (declaration "char acStack_619d [8193];" primitive_type (array_declarator "acStack_619d [8193]" identifier [ number_literal ]) ;) (declaration "int iStack_419c;" primitive_type identifier ;) (declaration "char *pcStack_4198;" primitive_type (pointer_declarator "*pcStack_4198" * identifier) ;) (declaration "char *pcStack_4194;" primitive_type (pointer_declarator "*pcStack_4194" * identifier) ;) (declaration "char *pcStack_4190;" primitive_type (pointer_declarator "*pcStack_4190" * identifier) ;) (declaration "int iStack_418c;" primitive_type identifier ;) (declaration "char *pcStack_4188;" primitive_type (pointer_declarator "*pcStack_4188" * identifier) ;) (declaration "undefined *puStack_4184;" type_identifier (pointer_declarator "*puStack_4184" * identifier) ;) (declaration "int *piStack_4180;" primitive_type (pointer_declarator "*piStack_4180" * identifier) ;) (declaration "char *pcStack_417c;" primitive_type (pointer_declarator "*pcStack_417c" * identifier) ;) (declaration "char *pcStack_4178;" primitive_type (pointer_declarator "*pcStack_4178" * identifier) ;) (declaration "code *pcStack_4174;" type_identifier (pointer_declarator "*pcStack_4174" * identifier) ;) (declaration "code *pcStack_4160;" type_identifier (pointer_declarator "*pcStack_4160" * identifier) ;) (declaration "char *pcStack_415c;" primitive_type (pointer_declarator "*pcStack_415c" * identifier) ;) (declaration "int iStack_4158;" primitive_type identifier ;) (declaration "char *pcStack_4154;" primitive_type (pointer_declarator "*pcStack_4154" * identifier) ;) (declaration "char *pcStack_4150;" primitive_type (pointer_declarator "*pcStack_4150" * identifier) ;) (declaration "code *pcStack_414c;" type_identifier (pointer_declarator "*pcStack_414c" * identifier) ;) (declaration "undefined *local_4138;" type_identifier (pointer_declarator "*local_4138" * identifier) ;) (declaration "int local_412c;" primitive_type identifier ;) (declaration "char acStack_4124 [8192];" primitive_type (array_declarator "acStack_4124 [8192]" identifier [ number_literal ]) ;) (declaration "int local_2124;" primitive_type identifier ;) (declaration "char *local_2120;" primitive_type (pointer_declarator "*local_2120" * identifier) ;) (declaration "char *local_211c;" primitive_type (pointer_declarator "*local_211c" * identifier) ;) (declaration "char *local_2118;" primitive_type (pointer_declarator "*local_2118" * identifier) ;) (declaration "char *local_2114;" primitive_type (pointer_declarator "*local_2114" * identifier) ;) (declaration "char *local_2110;" primitive_type (pointer_declarator "*local_2110" * identifier) ;) (declaration "undefined *local_210c;" type_identifier (pointer_declarator "*local_210c" * identifier) ;) (declaration "undefined *local_2108;" type_identifier (pointer_declarator "*local_2108" * identifier) ;) (declaration "char *local_2104;" primitive_type (pointer_declarator "*local_2104" * identifier) ;) (declaration "char *local_2100;" primitive_type (pointer_declarator "*local_2100" * identifier) ;) (declaration "undefined4 local_20fc;" type_identifier identifier ;) (declaration "undefined4 local_20e8;" type_identifier identifier ;) (declaration "undefined4 local_20e4;" type_identifier identifier ;) (declaration "char acStack_20d0 [24];" primitive_type (array_declarator "acStack_20d0 [24]" identifier [ number_literal ]) ;) (declaration "uint local_20b8;" type_identifier identifier ;) (declaration "char local_202c [8192];" primitive_type (array_declarator "local_202c [8192]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0002d2dc" identifier = identifier) ;) (expression_statement "puVar2 = PTR_0002d104;" (assignment_expression "puVar2 = PTR_0002d104" identifier = identifier) ;) (expression_statement "puVar26 = PTR_DAT_0002d0f8;" (assignment_expression "puVar26 = PTR_DAT_0002d0f8" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0002d2dc" * (cast_expression "(int *)PTR___stack_chk_guard_0002d2dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar15 = param_2;" (assignment_expression "pcVar15 = param_2" identifier = identifier) ;) (expression_statement "local_2110 = unaff_s4;" (assignment_expression "local_2110 = unaff_s4" identifier = identifier) ;) (if_statement "if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" if (parenthesized_expression "(param_3 == (char *)0x0 && param_4 == (char *)0x0)" ( (binary_expression "param_3 == (char *)0x0 && param_4 == (char *)0x0" (binary_expression "param_3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "param_4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_00013598:\n    uVar8 = 1;\n  }" { (labeled_statement "LAB_00013598:\n    uVar8 = 1;" statement_identifier : (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" else (compound_statement "{\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" { (expression_statement "unaff_s7 = local_202c;" (assignment_expression "unaff_s7 = local_202c" identifier = identifier) ;) (expression_statement "pcVar19 = (char *)0x2000;" (assignment_expression "pcVar19 = (char *)0x2000" identifier = (cast_expression "(char *)0x2000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = (char *)0xffffffff;" (assignment_expression "unaff_s3 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = unaff_s7;" (assignment_expression "pcVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "pcVar24 = param_4;" (assignment_expression "pcVar24 = param_4" identifier = identifier) ;) (expression_statement "pcVar6 = (char *)safe_read(param_2);" (assignment_expression "pcVar6 = (char *)safe_read(param_2)" identifier = (cast_expression "(char *)safe_read(param_2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (expression_statement "unaff_s5 = puVar2 + 0x3118;" (assignment_expression "unaff_s5 = puVar2 + 0x3118" identifier = (binary_expression "puVar2 + 0x3118" identifier + number_literal)) ;) (expression_statement "unaff_s8 = param_3;" (assignment_expression "unaff_s8 = param_3" identifier = identifier) ;) (expression_statement "unaff_s1 = param_4;" (assignment_expression "unaff_s1 = param_4" identifier = identifier) ;) (while_statement "while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }" while (parenthesized_expression "(param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff)" ( (comma_expression "param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "param_4 = pcVar24" identifier = identifier) , (comma_expression "param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "param_3 = pcVar19" identifier = identifier) , (comma_expression "unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "unaff_s2 = param_2" identifier = identifier) , (comma_expression "local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "local_2110 = puVar26" identifier = identifier) , (binary_expression "pcVar6 != (char *)0xffffffff" identifier != (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))))) )) (compound_statement "{\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }" { (if_statement "if (pcVar6 == (char *)0x0) goto LAB_00013598;" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013598;" goto statement_identifier ;)) (expression_statement "unaff_s0 = (char *)0x0;" (assignment_expression "unaff_s0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);" do (compound_statement "{\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      }" { (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pcVar15 = unaff_s1 + -1;" (assignment_expression "pcVar15 = unaff_s1 + -1" identifier = (binary_expression "unaff_s1 + -1" identifier + number_literal)) ;) (if_statement "if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }" if (parenthesized_expression "(((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0))" ( (binary_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)" (parenthesized_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf])" ( (binary_expression "(&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]" (subscript_expression "(&stack0xffffdfd3)[(int)unaff_s0]" (parenthesized_expression "(&stack0xffffdfd3)" ( (pointer_expression "&stack0xffffdfd3" & identifier) )) [ (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) ]) == (subscript_expression "puVar26[-0x2cdf]" identifier [ number_literal ])) )) && (parenthesized_expression "(unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)" ( (comma_expression "unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (assignment_expression "unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1)" identifier = (binary_expression "unaff_s8 + ((pcVar15 < unaff_s1) - 1)" identifier + (parenthesized_expression "((pcVar15 < unaff_s1) - 1)" ( (binary_expression "(pcVar15 < unaff_s1) - 1" (parenthesized_expression "(pcVar15 < unaff_s1)" ( (binary_expression "pcVar15 < unaff_s1" identifier < identifier) )) - number_literal) )))) , (comma_expression "unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (assignment_expression "unaff_s1 = pcVar15" identifier = identifier) , (binary_expression "unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (compound_statement "{\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }" { (expression_statement "unaff_s1 = unaff_s0 + -(int)pcVar6;" (assignment_expression "unaff_s1 = unaff_s0 + -(int)pcVar6" identifier = (binary_expression "unaff_s0 + -(int)pcVar6" identifier + (unary_expression "-(int)pcVar6" - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);" (assignment_expression "unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0)" identifier = (cast_expression "(char *)-(uint)(unaff_s1 != (char *)0x0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (unary_expression "-(uint)(unaff_s1 != (char *)0x0)" - (call_expression "(uint)(unaff_s1 != (char *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s1 != (char *)0x0)" ( (binary_expression "unaff_s1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))))) ;) (expression_statement "local_20e8 = 1;" (assignment_expression "local_20e8 = 1" identifier = number_literal) ;) (expression_statement "param_3 = unaff_s3;" (assignment_expression "param_3 = unaff_s3" identifier = identifier) ;) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);" (assignment_expression "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2)" identifier = (call_expression "(*(code *)PTR_lseek64_0002d2a8)(param_2)" (parenthesized_expression "(*(code *)PTR_lseek64_0002d2a8)" ( (pointer_expression "*(code *)PTR_lseek64_0002d2a8" * (cast_expression "(code *)PTR_lseek64_0002d2a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }" { (expression_statement "param_3 = acStack_20d0;" (assignment_expression "param_3 = acStack_20d0" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);" (assignment_expression "iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2)" identifier = (call_expression "(*(code *)PTR___fxstat64_0002d2b4)(3,param_2)" (parenthesized_expression "(*(code *)PTR___fxstat64_0002d2b4)" ( (pointer_expression "*(code *)PTR___fxstat64_0002d2b4" * (cast_expression "(code *)PTR___fxstat64_0002d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,param_2)" ( number_literal , identifier )))) ;) (if_statement "if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }" if (parenthesized_expression "((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000))" ( (binary_expression "(iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) || (parenthesized_expression "((local_20b8 & 0xf000) == 0x8000)" ( (binary_expression "(local_20b8 & 0xf000) == 0x8000" (parenthesized_expression "(local_20b8 & 0xf000)" ( (binary_expression "local_20b8 & 0xf000" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }" { (expression_statement "local_20e8 = 1;" (assignment_expression "local_20e8 = 1" identifier = number_literal) ;) (expression_statement "param_3 = unaff_s3;" (assignment_expression "param_3 = unaff_s3" identifier = identifier) ;) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" identifier = identifier) ;) (expression_statement "local_20e4 = param_1;" (assignment_expression "local_20e4 = param_1" identifier = identifier) ;) (expression_statement "FUN_00012fbc(param_2);" (call_expression "FUN_00012fbc(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) })) })) (expression_statement "pcVar15 = unaff_s0;" (assignment_expression "pcVar15 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_00013118(unaff_s7);" (call_expression "FUN_00013118(unaff_s7)" identifier (argument_list "(unaff_s7)" ( identifier ))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00013464;" goto statement_identifier ;) })) }) while (parenthesized_expression "(pcVar6 != unaff_s0)" ( (binary_expression "pcVar6 != unaff_s0" identifier != identifier) )) ;) (expression_statement "FUN_00013118(unaff_s7,pcVar6);" (call_expression "FUN_00013118(unaff_s7,pcVar6)" identifier (argument_list "(unaff_s7,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "pcVar19 = (char *)0x2000;" (assignment_expression "pcVar19 = (char *)0x2000" identifier = (cast_expression "(char *)0x2000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = unaff_s7;" (assignment_expression "pcVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "pcVar6 = (char *)safe_read(param_2);" (assignment_expression "pcVar6 = (char *)safe_read(param_2)" identifier = (cast_expression "(char *)safe_read(param_2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (expression_statement "pcVar24 = param_4;" (assignment_expression "pcVar24 = param_4" identifier = identifier) ;) })) (expression_statement "piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" ( (pointer_expression "*(code *)PTR___errno_location_0002d264" * (cast_expression "(code *)PTR___errno_location_0002d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = (char *)*piVar27;" (assignment_expression "unaff_s0 = (char *)*piVar27" identifier = (cast_expression "(char *)*piVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar27" * identifier))) ;) (expression_statement "unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002d2c8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002d2c8" * (cast_expression "(code *)PTR_dcgettext_0002d2c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002d108 + -0x4f50,5)" ( number_literal , (binary_expression "PTR_DAT_0002d108 + -0x4f50" identifier + number_literal) , number_literal ))))) ;) (expression_statement "param_4 = (char *)quotearg_style(4,param_1);" (assignment_expression "param_4 = (char *)quotearg_style(4,param_1)" identifier = (cast_expression "(char *)quotearg_style(4,param_1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "quotearg_style(4,param_1)" identifier (argument_list "(4,param_1)" ( number_literal , identifier ))))) ;) (expression_statement "pcVar15 = unaff_s0;" (assignment_expression "pcVar15 = unaff_s0" identifier = identifier) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "(*(code *)PTR_error_0002d2a0)(0);" (call_expression "(*(code *)PTR_error_0002d2a0)(0)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" ( (pointer_expression "*(code *)PTR_error_0002d2a0" * (cast_expression "(code *)PTR_error_0002d2a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar3)" ( (binary_expression "local_2c == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "uVar29 = 0x135ac;" (assignment_expression "uVar29 = 0x135ac" identifier = number_literal) ;) (expression_statement "iVar7 = local_2c;" (assignment_expression "iVar7 = local_2c" identifier = identifier) ;) (expression_statement "puVar26 = PTR___stack_chk_fail_0002d2c4;" (assignment_expression "puVar26 = PTR___stack_chk_fail_0002d2c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" * (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_4138 = puVar26 + 0x21b24;" (assignment_expression "local_4138 = puVar26 + 0x21b24" identifier = (binary_expression "puVar26 + 0x21b24" identifier + number_literal)) ;) (expression_statement "local_2108 = puVar3;" (assignment_expression "local_2108 = puVar3" identifier = identifier) ;) (expression_statement "piVar27 = *(int **)(puVar26 + 0x19d30);" (assignment_expression "piVar27 = *(int **)(puVar26 + 0x19d30)" identifier = (pointer_expression "*(int **)(puVar26 + 0x19d30)" * (cast_expression "(int **)(puVar26 + 0x19d30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x19d30)" ( (binary_expression "puVar26 + 0x19d30" identifier + number_literal) ))))) ;) (expression_statement "local_2124 = *piVar27;" (assignment_expression "local_2124 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iVar22 = *(int *)(puVar26 + 0x19b58);" (assignment_expression "iVar22 = *(int *)(puVar26 + 0x19b58)" identifier = (pointer_expression "*(int *)(puVar26 + 0x19b58)" * (cast_expression "(int *)(puVar26 + 0x19b58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x19b58)" ( (binary_expression "puVar26 + 0x19b58" identifier + number_literal) ))))) ;) (expression_statement "pcVar6 = pcVar15;" (assignment_expression "pcVar6 = pcVar15" identifier = identifier) ;) (expression_statement "pcVar24 = local_2110;" (assignment_expression "pcVar24 = local_2110" identifier = identifier) ;) (expression_statement "puVar26 = unaff_s5;" (assignment_expression "puVar26 = unaff_s5" identifier = identifier) ;) (expression_statement "pcVar19 = unaff_s7;" (assignment_expression "pcVar19 = unaff_s7" identifier = identifier) ;) (expression_statement "local_412c = iVar7;" (assignment_expression "local_412c = iVar7" identifier = identifier) ;) (expression_statement "local_2120 = unaff_s0;" (assignment_expression "local_2120 = unaff_s0" identifier = identifier) ;) (expression_statement "local_211c = unaff_s1;" (assignment_expression "local_211c = unaff_s1" identifier = identifier) ;) (expression_statement "local_2118 = unaff_s2;" (assignment_expression "local_2118 = unaff_s2" identifier = identifier) ;) (expression_statement "local_2114 = unaff_s3;" (assignment_expression "local_2114 = unaff_s3" identifier = identifier) ;) (expression_statement "local_210c = unaff_s5;" (assignment_expression "local_210c = unaff_s5" identifier = identifier) ;) (expression_statement "local_2104 = unaff_s7;" (assignment_expression "local_2104 = unaff_s7" identifier = identifier) ;) (expression_statement "local_2100 = unaff_s8;" (assignment_expression "local_2100 = unaff_s8" identifier = identifier) ;) (expression_statement "local_20fc = uVar29;" (assignment_expression "local_20fc = uVar29" identifier = identifier) ;) (if_statement "if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }" if (parenthesized_expression "(param_3 != (char *)0x0 || param_4 != (char *)0x0)" ( (binary_expression "param_3 != (char *)0x0 || param_4 != (char *)0x0" (binary_expression "param_3 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "param_4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }" { (expression_statement "pcVar19 = acStack_4124;" (assignment_expression "pcVar19 = acStack_4124" identifier = identifier) ;) (expression_statement "puVar26 = (undefined *)0xffffffff;" (assignment_expression "puVar26 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar22 = iVar22 + 0x3118;" (assignment_expression "iVar22 = iVar22 + 0x3118" identifier = (binary_expression "iVar22 + 0x3118" identifier + number_literal)) ;) (expression_statement "pcVar23 = param_4;" (assignment_expression "pcVar23 = param_4" identifier = identifier) ;) (expression_statement "pcVar9 = (char *)0x2000;" (assignment_expression "pcVar9 = (char *)0x2000" identifier = (cast_expression "(char *)0x2000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar5 = param_3;" (assignment_expression "pcVar5 = param_3" identifier = identifier) ;) (do_statement "do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);" do (compound_statement "{\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    }" { (expression_statement "unaff_s8 = pcVar5;" (assignment_expression "unaff_s8 = pcVar5" identifier = identifier) ;) (expression_statement "unaff_s2 = pcVar9;" (assignment_expression "unaff_s2 = pcVar9" identifier = identifier) ;) (if_statement "if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }" if (parenthesized_expression "((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9))" ( (binary_expression "(unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)" (parenthesized_expression "(unaff_s8 == (char *)0x0)" ( (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcVar23 < pcVar9)" ( (binary_expression "pcVar23 < pcVar9" identifier < identifier) ))) )) (compound_statement "{\n        unaff_s2 = pcVar23;\n      }" { (expression_statement "unaff_s2 = pcVar23;" (assignment_expression "unaff_s2 = pcVar23" identifier = identifier) ;) })) (expression_statement "pcVar6 = pcVar19;" (assignment_expression "pcVar6 = pcVar19" identifier = identifier) ;) (expression_statement "param_3 = unaff_s2;" (assignment_expression "param_3 = unaff_s2" identifier = identifier) ;) (expression_statement "pcVar9 = (char *)safe_read(pcVar15);" (assignment_expression "pcVar9 = (char *)safe_read(pcVar15)" identifier = (cast_expression "(char *)safe_read(pcVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))))) ;) (expression_statement "pcVar24 = pcVar15;" (assignment_expression "pcVar24 = pcVar15" identifier = identifier) ;) (if_statement "if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }" if (parenthesized_expression "(pcVar9 == (char *)0xffffffff)" ( (binary_expression "pcVar9 == (char *)0xffffffff" identifier == (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }" { (expression_statement "piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();" (assignment_expression "piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))()" identifier = (cast_expression "(int *)(**(code **)(local_4138 + -0x7e6c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_4138 + -0x7e6c))()" (parenthesized_expression "(**(code **)(local_4138 + -0x7e6c))" ( (pointer_expression "**(code **)(local_4138 + -0x7e6c)" * (pointer_expression "*(code **)(local_4138 + -0x7e6c)" * (cast_expression "(code **)(local_4138 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e6c)" ( (binary_expression "local_4138 + -0x7e6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = (char *)*piVar10;" (assignment_expression "unaff_s0 = (char *)*piVar10" identifier = (cast_expression "(char *)*piVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;) (expression_statement "unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" identifier = (cast_expression "(char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(local_4138 + -0x7e08))" ( (pointer_expression "**(code **)(local_4138 + -0x7e08)" * (pointer_expression "*(code **)(local_4138 + -0x7e08)" * (cast_expression "(code **)(local_4138 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e08)" ( (binary_expression "local_4138 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(local_4138 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(local_4138 + -0x7fc8)" * (cast_expression "(int *)(local_4138 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4138 + -0x7fc8)" ( (binary_expression "local_4138 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "param_4 = (char *)quotearg_style(4,local_412c);" (assignment_expression "param_4 = (char *)quotearg_style(4,local_412c)" identifier = (cast_expression "(char *)quotearg_style(4,local_412c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "quotearg_style(4,local_412c)" identifier (argument_list "(4,local_412c)" ( number_literal , identifier ))))) ;) (expression_statement "pcVar6 = unaff_s0;" (assignment_expression "pcVar6 = unaff_s0" identifier = identifier) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "(**(code **)(local_4138 + -0x7e30))(0);" (call_expression "(**(code **)(local_4138 + -0x7e30))(0)" (parenthesized_expression "(**(code **)(local_4138 + -0x7e30))" ( (pointer_expression "**(code **)(local_4138 + -0x7e30)" * (pointer_expression "*(code **)(local_4138 + -0x7e30)" * (cast_expression "(code **)(local_4138 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e30)" ( (binary_expression "local_4138 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000136f4;" goto statement_identifier ;) })) (expression_statement "unaff_s0 = pcVar23 + -(int)pcVar9;" (assignment_expression "unaff_s0 = pcVar23 + -(int)pcVar9" identifier = (binary_expression "pcVar23 + -(int)pcVar9" identifier + (unary_expression "-(int)pcVar9" - (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s1 = pcVar23;" (assignment_expression "unaff_s1 = pcVar23" identifier = identifier) ;) (if_statement "if (pcVar9 == (char *)0x0) break;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);" (assignment_expression "unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0)" identifier = (binary_expression "unaff_s8 + -(uint)(pcVar23 < unaff_s0)" identifier + (unary_expression "-(uint)(pcVar23 < unaff_s0)" - (call_expression "(uint)(pcVar23 < unaff_s0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar23 < unaff_s0)" ( (binary_expression "pcVar23 < unaff_s0" identifier < identifier) )))))) ;) (expression_statement "FUN_00013118(pcVar19);" (call_expression "FUN_00013118(pcVar19)" identifier (argument_list "(pcVar19)" ( identifier ))) ;) (expression_statement "pcVar6 = pcVar9;" (assignment_expression "pcVar6 = pcVar9" identifier = identifier) ;) (expression_statement "unaff_s1 = unaff_s0;" (assignment_expression "unaff_s1 = unaff_s0" identifier = identifier) ;) (expression_statement "pcVar23 = unaff_s0;" (assignment_expression "pcVar23 = unaff_s0" identifier = identifier) ;) (expression_statement "pcVar9 = unaff_s2;" (assignment_expression "pcVar9 = unaff_s2" identifier = identifier) ;) (expression_statement "pcVar5 = unaff_s8;" (assignment_expression "pcVar5 = unaff_s8" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0)" ( (binary_expression "unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0" (binary_expression "unaff_s8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "unaff_s0 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) })) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (local_2124 == *piVar27) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_2124 == *piVar27)" ( (binary_expression "local_2124 == *piVar27" identifier == (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "pcVar28 = *(code **)(local_4138 + -0x7e0c);" (assignment_expression "pcVar28 = *(code **)(local_4138 + -0x7e0c)" identifier = (pointer_expression "*(code **)(local_4138 + -0x7e0c)" * (cast_expression "(code **)(local_4138 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_4138 + -0x7e0c)" ( (binary_expression "local_4138 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = FUN_0001373c;" (assignment_expression "pcVar30 = FUN_0001373c" identifier = identifier) ;) (expression_statement "iVar7 = local_2124;" (assignment_expression "iVar7 = local_2124" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_4160 = pcVar28 + 0x21994;" (assignment_expression "pcStack_4160 = pcVar28 + 0x21994" identifier = (binary_expression "pcVar28 + 0x21994" identifier + number_literal)) ;) (expression_statement "pcStack_4154 = unaff_s0;" (assignment_expression "pcStack_4154 = unaff_s0" identifier = identifier) ;) (expression_statement "pcStack_4150 = unaff_s1;" (assignment_expression "pcStack_4150 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_414c = pcVar30;" (assignment_expression "pcStack_414c = pcVar30" identifier = identifier) ;) (if_statement "if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" { (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19b28))" ( (pointer_expression "**(code **)(pcVar28 + 0x19b28)" * (pointer_expression "*(code **)(pcVar28 + 0x19b28)" * (cast_expression "(code **)(pcVar28 + 0x19b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19b28)" ( (binary_expression "pcVar28 + 0x19b28" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = *puVar11;" (assignment_expression "uVar20 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);" (assignment_expression "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" * (cast_expression "(code **)(pcStack_4160 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e08)" ( (binary_expression "pcStack_4160 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" * (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_4160 + -0x7fc8)" ( (binary_expression "pcStack_4160 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = quotearg_style(4,pcVar6);" (assignment_expression "uVar12 = quotearg_style(4,pcVar6)" identifier = (call_expression "quotearg_style(4,pcVar6)" identifier (argument_list "(4,pcVar6)" ( number_literal , identifier )))) ;) (expression_statement "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);" (assignment_expression "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" * (cast_expression "(code **)(pcStack_4160 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e30)" ( (binary_expression "pcStack_4160 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,uVar20,uVar29,uVar12)" ( number_literal , identifier , identifier , identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })) (if_statement "if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" { (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19b28))" ( (pointer_expression "**(code **)(pcVar28 + 0x19b28)" * (pointer_expression "*(code **)(pcVar28 + 0x19b28)" * (cast_expression "(code **)(pcVar28 + 0x19b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19b28)" ( (binary_expression "pcVar28 + 0x19b28" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = *puVar11;" (assignment_expression "uVar20 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);" (assignment_expression "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" * (cast_expression "(code **)(pcStack_4160 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e08)" ( (binary_expression "pcStack_4160 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" ( number_literal , (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" * (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_4160 + -0x7fc8)" ( (binary_expression "pcStack_4160 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = quotearg_n_style_colon(0,3,pcVar6);" (assignment_expression "uVar12 = quotearg_n_style_colon(0,3,pcVar6)" identifier = (call_expression "quotearg_n_style_colon(0,3,pcVar6)" identifier (argument_list "(0,3,pcVar6)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);" (assignment_expression "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" identifier = (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" * (cast_expression "(code **)(pcStack_4160 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_4160 + -0x7e30)" ( (binary_expression "pcStack_4160 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,uVar20,uVar29,uVar12)" ( number_literal , identifier , identifier , identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })) (expression_statement "pcVar30 = *(code **)(pcVar28 + 0x19ae0);" (assignment_expression "pcVar30 = *(code **)(pcVar28 + 0x19ae0)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x19ae0)" * (cast_expression "(code **)(pcVar28 + 0x19ae0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19ae0)" ( (binary_expression "pcVar28 + 0x19ae0" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = FUN_00013860;" (assignment_expression "pcVar31 = FUN_00013860" identifier = identifier) ;) (expression_statement "pcVar15 = pcVar6;" (assignment_expression "pcVar15 = pcVar6" identifier = identifier) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar28 = pcStack_4160;" (assignment_expression "pcVar28 = pcStack_4160" identifier = identifier) ;) (expression_statement "pcStack_61c0 = pcVar30 + 0x21870;" (assignment_expression "pcStack_61c0 = pcVar30 + 0x21870" identifier = (binary_expression "pcVar30 + 0x21870" identifier + number_literal)) ;) (expression_statement "pcStack_61a4 = pcStack_415c;" (assignment_expression "pcStack_61a4 = pcStack_415c" identifier = identifier) ;) (expression_statement "piStack_61ac = *(int **)(pcVar30 + 0x19a7c);" (assignment_expression "piStack_61ac = *(int **)(pcVar30 + 0x19a7c)" identifier = (pointer_expression "*(int **)(pcVar30 + 0x19a7c)" * (cast_expression "(int **)(pcVar30 + 0x19a7c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x19a7c)" ( (binary_expression "pcVar30 + 0x19a7c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;" (assignment_expression "uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff" identifier = (binary_expression "(uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff" (call_expression "(uint)(pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_4154 + -(int)pcStack_415c)" ( (binary_expression "pcStack_4154 + -(int)pcStack_415c" identifier + (unary_expression "-(int)pcStack_415c" - (cast_expression "(int)pcStack_415c" ( (type_descriptor "int" primitive_type) ) identifier))) ))) & number_literal)) ;) (expression_statement "iStack_419c = *piStack_61ac;" (assignment_expression "iStack_419c = *piStack_61ac" identifier = (pointer_expression "*piStack_61ac" * identifier)) ;) (if_statement "if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }" if (parenthesized_expression "((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0)" ( (binary_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0" (cast_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c))" ( (binary_expression "(iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(iStack_4158 - (int)pcStack_4160)" ( (binary_expression "iStack_4158 - (int)pcStack_4160" identifier - (cast_expression "(int)pcStack_4160" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" ( (binary_expression "pcStack_4154 < pcStack_4154 + -(int)pcStack_415c" identifier < (binary_expression "pcStack_4154 + -(int)pcStack_415c" identifier + (unary_expression "-(int)pcStack_415c" - (cast_expression "(int)pcStack_415c" ( (type_descriptor "int" primitive_type) ) identifier)))) )))) ))) < number_literal) )) (compound_statement "{\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }" { (expression_statement "uVar8 = (uVar8 - 1 | 0xffffe000) + 1;" (assignment_expression "uVar8 = (uVar8 - 1 | 0xffffe000) + 1" identifier = (binary_expression "(uVar8 - 1 | 0xffffe000) + 1" (parenthesized_expression "(uVar8 - 1 | 0xffffe000)" ( (binary_expression "uVar8 - 1 | 0xffffe000" (binary_expression "uVar8 - 1" identifier - number_literal) | number_literal) )) + number_literal)) ;) })) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0x2000;" (assignment_expression "uVar21 = 0x2000" identifier = number_literal) ;) (if_statement "if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar21 = uVar8;\n  }" { (expression_statement "uVar21 = uVar8;" (assignment_expression "uVar21 = uVar8" identifier = identifier) ;) })) (expression_statement "pcVar23 = pcStack_4154 + -uVar21;" (assignment_expression "pcVar23 = pcStack_4154 + -uVar21" identifier = (binary_expression "pcStack_4154 + -uVar21" identifier + (unary_expression "-uVar21" - identifier))) ;) (expression_statement "pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);" (assignment_expression "pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" identifier = (cast_expression "(code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" ( (binary_expression "*(int *)(pcVar30 + 0x198a4) + 0x2fbc" (pointer_expression "*(int *)(pcVar30 + 0x198a4)" * (cast_expression "(int *)(pcVar30 + 0x198a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x198a4)" ( (binary_expression "pcVar30 + 0x198a4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));" (assignment_expression "pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" identifier = (cast_expression "(code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" ( (binary_expression "iStack_4158 - (uint)(pcStack_4154 < pcVar23)" identifier - (call_expression "(uint)(pcStack_4154 < pcVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_4154 < pcVar23)" ( (binary_expression "pcStack_4154 < pcVar23" identifier < identifier) )))) )))) ;) (expression_statement "iStack_61c4 = iVar7;" (assignment_expression "iStack_61c4 = iVar7" identifier = identifier) ;) (expression_statement "iStack_61b4 = iVar7;" (assignment_expression "iStack_61b4 = iVar7" identifier = identifier) ;) (expression_statement "pcStack_4198 = pcVar6;" (assignment_expression "pcStack_4198 = pcVar6" identifier = identifier) ;) (expression_statement "pcStack_4194 = unaff_s1;" (assignment_expression "pcStack_4194 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_4190 = unaff_s2;" (assignment_expression "pcStack_4190 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_418c = iVar22;" (assignment_expression "iStack_418c = iVar22" identifier = identifier) ;) (expression_statement "pcStack_4188 = pcVar24;" (assignment_expression "pcStack_4188 = pcVar24" identifier = identifier) ;) (expression_statement "puStack_4184 = puVar26;" (assignment_expression "puStack_4184 = puVar26" identifier = identifier) ;) (expression_statement "piStack_4180 = piVar27;" (assignment_expression "piStack_4180 = piVar27" identifier = identifier) ;) (expression_statement "pcStack_417c = pcVar19;" (assignment_expression "pcStack_417c = pcVar19" identifier = identifier) ;) (expression_statement "pcStack_4178 = unaff_s8;" (assignment_expression "pcStack_4178 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_4174 = pcVar31;" (assignment_expression "pcStack_4174 = pcVar31" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);" (assignment_expression "iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23)" identifier = (call_expression "FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23)" identifier (argument_list "(pcVar15,iStack_419c,pcVar30,pcVar23)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }" { (expression_statement "unaff_s1 = acStack_619d + 1;" (assignment_expression "unaff_s1 = acStack_619d + 1" identifier = (binary_expression "acStack_619d + 1" identifier + number_literal)) ;) (expression_statement "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);" (assignment_expression "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21)" identifier = (cast_expression "(char *)safe_read(pcVar15,unaff_s1,uVar21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(pcVar15,unaff_s1,uVar21)" identifier (argument_list "(pcVar15,unaff_s1,uVar21)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }" if (parenthesized_expression "(pcVar6 != (char *)0xffffffff)" ( (binary_expression "pcVar6 != (char *)0xffffffff" identifier != (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }" { (expression_statement "uVar21 = (uint)param_3 | (uint)param_4;" (assignment_expression "uVar21 = (uint)param_3 | (uint)param_4" identifier = (binary_expression "(uint)param_3 | (uint)param_4" (cast_expression "(uint)param_3" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pcVar24 = pcVar23;" (assignment_expression "pcVar24 = pcVar23" identifier = identifier) ;) (expression_statement "pcVar19 = param_4;" (assignment_expression "pcVar19 = param_4" identifier = identifier) ;) (if_statement "if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }" { (expression_statement "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" identifier = (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" else (compound_statement "{\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" { (expression_statement "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" identifier = (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }" if (parenthesized_expression "((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)))" ( (binary_expression "(pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))" (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))" ( (comma_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" identifier = (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) ))))) , (binary_expression "acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (subscript_expression "acStack_619d[(int)pcVar6]" identifier [ (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier) ]) != (pointer_expression "*(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" * (cast_expression "(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" ( (binary_expression "*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf" (pointer_expression "*(int *)(pcStack_61c0 + -0x7fd8)" * (cast_expression "(int *)(pcStack_61c0 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" ( (binary_expression "pcStack_61c0 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))))) ))) )) (compound_statement "{\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }" { (expression_statement "pcVar19 = param_4 + -1;" (assignment_expression "pcVar19 = param_4 + -1" identifier = (binary_expression "param_4 + -1" identifier + number_literal)) ;) (expression_statement "param_3 = param_3 + ((pcVar19 < param_4) - 1);" (assignment_expression "param_3 = param_3 + ((pcVar19 < param_4) - 1)" identifier = (binary_expression "param_3 + ((pcVar19 < param_4) - 1)" identifier + (parenthesized_expression "((pcVar19 < param_4) - 1)" ( (binary_expression "(pcVar19 < param_4) - 1" (parenthesized_expression "(pcVar19 < param_4)" ( (binary_expression "pcVar19 < param_4" identifier < identifier) )) - number_literal) )))) ;) })) }))) (do_statement "do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);" do (compound_statement "{\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      }" { (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (expression_statement "pcVar23 = pcVar24;" (assignment_expression "pcVar23 = pcVar24" identifier = identifier) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }" { (expression_statement "cVar1 = pcStack_61a8[-0x2cdf];" (assignment_expression "cVar1 = pcStack_61a8[-0x2cdf]" identifier = (subscript_expression "pcStack_61a8[-0x2cdf]" identifier [ number_literal ])) ;) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" identifier = identifier) ;) (do_statement "do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);" do (compound_statement "{\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          }" { (if_statement "if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }" { (expression_statement "pcVar6 = pcVar6 + -1;" (assignment_expression "pcVar6 = pcVar6 + -1" identifier = (binary_expression "pcVar6 + -1" identifier + number_literal)) ;) (if_statement "if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;" if (parenthesized_expression "(pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0" (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcVar19 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000139ec;" goto statement_identifier ;)) }) (else_clause "else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" else (compound_statement "{\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" { (expression_statement "iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);" (assignment_expression "iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6)" identifier = (call_expression "(**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6)" (parenthesized_expression "(**(code **)(pcVar31 + -0x7e50))" ( (pointer_expression "**(code **)(pcVar31 + -0x7e50)" * (pointer_expression "*(code **)(pcVar31 + -0x7e50)" * (cast_expression "(code **)(pcVar31 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + -0x7e50)" ( (binary_expression "pcVar31 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "(unaff_s1,(int)cVar1,pcVar6)" ( identifier , (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (expression_statement "param_3 = pcVar9;" (assignment_expression "param_3 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar6 = (char *)(iVar7 - (int)unaff_s1);" (assignment_expression "pcVar6 = (char *)(iVar7 - (int)unaff_s1)" identifier = (cast_expression "(char *)(iVar7 - (int)unaff_s1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 - (int)unaff_s1)" ( (binary_expression "iVar7 - (int)unaff_s1" identifier - (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }" if (parenthesized_expression "(pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0" (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcVar19 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }" { (labeled_statement "LAB_000139ec:\n                pcStack_61a8 = pcVar6;" statement_identifier : (expression_statement "pcStack_61a8 = pcVar6;" (assignment_expression "pcStack_61a8 = pcVar6" identifier = identifier) ;)) (expression_statement "param_3 = pcStack_61a4;" (assignment_expression "param_3 = pcStack_61a4" identifier = identifier) ;) (expression_statement "pcVar6 = pcVar9 + -1;" (assignment_expression "pcVar6 = pcVar9 + -1" identifier = (binary_expression "pcVar9 + -1" identifier + number_literal)) ;) (if_statement "if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" if (parenthesized_expression "((int)pcVar28 < (int)pcVar30)" ( (binary_expression "(int)pcVar28 < (int)pcVar30" (cast_expression "(int)pcVar28" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }" { (labeled_statement "LAB_000139f8:\n                  iStack_61c4 = iStack_61b4;" statement_identifier : (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" identifier = identifier) ;)) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);" (assignment_expression "iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4)" identifier = (call_expression "(*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4)" (parenthesized_expression "(*pcStack_61b0)" ( (pointer_expression "*pcStack_61b0" * identifier) )) (argument_list "(pcVar15,pcVar6,pcVar28,pcStack_61a4)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00013b8c;" goto statement_identifier ;)) (expression_statement "iVar7 = FUN_000131f4(pcVar15);" (assignment_expression "iVar7 = FUN_000131f4(pcVar15)" identifier = (call_expression "FUN_000131f4(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }" { (expression_statement "FUN_0001373c(iVar7,iStack_61b4);" (call_expression "FUN_0001373c(iVar7,iStack_61b4)" identifier (argument_list "(iVar7,iStack_61b4)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) (labeled_statement "LAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;" statement_identifier : (expression_statement "pcVar6 = pcStack_61a8 + 1;" (assignment_expression "pcVar6 = pcStack_61a8 + 1" identifier = (binary_expression "pcStack_61a8 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" else (compound_statement "{\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" { (if_statement "if (pcVar30 != pcVar28) goto LAB_00013a58;" if (parenthesized_expression "(pcVar30 != pcVar28)" ( (binary_expression "pcVar30 != pcVar28" identifier != identifier) )) (goto_statement "goto LAB_00013a58;" goto statement_identifier ;)) (expression_statement "pcVar6 = pcStack_61a8 + 1;" (assignment_expression "pcVar6 = pcStack_61a8 + 1" identifier = (binary_expression "pcStack_61a8 + 1" identifier + number_literal)) ;) (if_statement "if (pcStack_61a4 < pcVar24) goto LAB_000139f8;" if (parenthesized_expression "(pcStack_61a4 < pcVar24)" ( (binary_expression "pcStack_61a4 < pcVar24" identifier < identifier) )) (goto_statement "goto LAB_000139f8;" goto statement_identifier ;)) }))) (expression_statement "FUN_00013118(unaff_s1,pcVar6);" (call_expression "FUN_00013118(unaff_s1,pcVar6)" identifier (argument_list "(unaff_s1,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "pcVar24 = pcStack_61a8 + (int)pcVar24;" (assignment_expression "pcVar24 = pcStack_61a8 + (int)pcVar24" identifier = (binary_expression "pcStack_61a8 + (int)pcVar24" identifier + (cast_expression "(int)pcVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" identifier = identifier) ;) (expression_statement "pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);" (assignment_expression "pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8)" identifier = (binary_expression "pcVar30 + (pcVar24 < pcStack_61a8)" identifier + (parenthesized_expression "(pcVar24 < pcStack_61a8)" ( (binary_expression "pcVar24 < pcStack_61a8" identifier < identifier) )))) ;) (expression_statement "uVar8 = (*pcStack_61b0)(pcVar15);" (assignment_expression "uVar8 = (*pcStack_61b0)(pcVar15)" identifier = (call_expression "(*pcStack_61b0)(pcVar15)" (parenthesized_expression "(*pcStack_61b0)" ( (pointer_expression "*pcStack_61b0" * identifier) )) (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "uVar8 = ~uVar8 >> 0x1f;" (assignment_expression "uVar8 = ~uVar8 >> 0x1f" identifier = (binary_expression "~uVar8 >> 0x1f" (unary_expression "~uVar8" ~ identifier) >> number_literal)) ;) (expression_statement "param_3 = pcVar9;" (assignment_expression "param_3 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);" (assignment_expression "pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24)" identifier = (cast_expression "(char *)(uint)(pcVar24 + 1 < pcVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar24 + 1 < pcVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar24 + 1 < pcVar24)" ( (binary_expression "pcVar24 + 1 < pcVar24" (binary_expression "pcVar24 + 1" identifier + number_literal) < identifier) ))))) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) }))) (expression_statement "param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);" (assignment_expression "param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1)" identifier = (binary_expression "pcVar9 + ((pcVar19 + -1 < pcVar19) - 1)" identifier + (parenthesized_expression "((pcVar19 + -1 < pcVar19) - 1)" ( (binary_expression "(pcVar19 + -1 < pcVar19) - 1" (parenthesized_expression "(pcVar19 + -1 < pcVar19)" ( (binary_expression "pcVar19 + -1 < pcVar19" (binary_expression "pcVar19 + -1" identifier + number_literal) < identifier) )) - number_literal) )))) ;) (expression_statement "pcVar19 = pcVar19 + -1;" (assignment_expression "pcVar19 = pcVar19 + -1" identifier = (binary_expression "pcVar19 + -1" identifier + number_literal)) ;) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;" if (parenthesized_expression "((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4))" ( (binary_expression "(pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)" (parenthesized_expression "(pcVar30 == pcVar28)" ( (binary_expression "pcVar30 == pcVar28" identifier == identifier) )) && (parenthesized_expression "(uVar8 = 1, pcVar24 == pcStack_61a4)" ( (comma_expression "uVar8 = 1, pcVar24 == pcStack_61a4" (assignment_expression "uVar8 = 1" identifier = number_literal) , (binary_expression "pcVar24 == pcStack_61a4" identifier == identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "pcVar23 = pcVar24 + -0x2000;" (assignment_expression "pcVar23 = pcVar24 + -0x2000" identifier = (binary_expression "pcVar24 + -0x2000" identifier + number_literal)) ;) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" identifier = number_literal) ;) (expression_statement "pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);" (assignment_expression "pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1)" identifier = (binary_expression "pcVar30 + ((pcVar23 < pcVar24) - 1)" identifier + (parenthesized_expression "((pcVar23 < pcVar24) - 1)" ( (binary_expression "(pcVar23 < pcVar24) - 1" (parenthesized_expression "(pcVar23 < pcVar24)" ( (binary_expression "pcVar23 < pcVar24" identifier < identifier) )) - number_literal) )))) ;) (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" identifier = identifier) ;) (expression_statement "iVar7 = (*pcStack_61b0)(pcVar15);" (assignment_expression "iVar7 = (*pcStack_61b0)(pcVar15)" identifier = (call_expression "(*pcStack_61b0)(pcVar15)" (parenthesized_expression "(*pcStack_61b0)" ( (pointer_expression "*pcStack_61b0" * identifier) )) (argument_list "(pcVar15)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00013b8c;" goto statement_identifier ;)) (expression_statement "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);" (assignment_expression "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000)" identifier = (cast_expression "(char *)safe_read(pcVar15,unaff_s1,0x2000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safe_read(pcVar15,unaff_s1,0x2000)" identifier (argument_list "(pcVar15,unaff_s1,0x2000)" ( identifier , identifier , number_literal ))))) ;) (if_statement "if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;" if (parenthesized_expression "(pcVar6 == (char *)0xffffffff)" ( (binary_expression "pcVar6 == (char *)0xffffffff" identifier == (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013b28;" goto statement_identifier ;)) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "pcVar24 = pcVar23;" (assignment_expression "pcVar24 = pcVar23" identifier = identifier) ;) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_00013b94;" goto statement_identifier ;) })) (labeled_statement "LAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();" statement_identifier : (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_61c0 + -0x7e6c))()" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e6c))" ( (pointer_expression "**(code **)(pcStack_61c0 + -0x7e6c)" * (pointer_expression "*(code **)(pcStack_61c0 + -0x7e6c)" * (cast_expression "(code **)(pcStack_61c0 + -0x7e6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7e6c)" ( (binary_expression "pcStack_61c0 + -0x7e6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "param_3 = (char *)*puVar11;" (assignment_expression "param_3 = (char *)*puVar11" identifier = (cast_expression "(char *)*puVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" identifier = (cast_expression "(char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e08))" ( (pointer_expression "**(code **)(pcStack_61c0 + -0x7e08)" * (pointer_expression "*(code **)(pcStack_61c0 + -0x7e08)" * (cast_expression "(code **)(pcStack_61c0 + -0x7e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7e08)" ( (binary_expression "pcStack_61c0 + -0x7e08" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" ( number_literal , (binary_expression "*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_61c0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_61c0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_61c0 + -0x7fc8)" ( (binary_expression "pcStack_61c0 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "uVar29 = quotearg_style(4,iStack_61b4);" (assignment_expression "uVar29 = quotearg_style(4,iStack_61b4)" identifier = (call_expression "quotearg_style(4,iStack_61b4)" identifier (argument_list "(4,iStack_61b4)" ( number_literal , identifier )))) ;) (expression_statement "(**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);" (call_expression "(**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29)" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e30))" ( (pointer_expression "**(code **)(pcStack_61c0 + -0x7e30)" * (pointer_expression "*(code **)(pcStack_61c0 + -0x7e30)" * (cast_expression "(code **)(pcStack_61c0 + -0x7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_61c0 + -0x7e30)" ( (binary_expression "pcStack_61c0 + -0x7e30" identifier + number_literal) ))))) )) (argument_list "(0,param_3,unaff_s1,uVar29)" ( number_literal , identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00013b8c:\n  uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" identifier = identifier) ;) (labeled_statement "LAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }" if (parenthesized_expression "(iStack_419c == *piStack_61ac)" ( (binary_expression "iStack_419c == *piStack_61ac" identifier == (pointer_expression "*piStack_61ac" * identifier)) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "pcVar28 = *(code **)(pcVar31 + -0x7e0c);" (assignment_expression "pcVar28 = *(code **)(pcVar31 + -0x7e0c)" identifier = (pointer_expression "*(code **)(pcVar31 + -0x7e0c)" * (cast_expression "(code **)(pcVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + -0x7e0c)" ( (binary_expression "pcVar31 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = usage;" (assignment_expression "pcVar32 = usage" identifier = identifier) ;) (expression_statement "iVar7 = iStack_419c;" (assignment_expression "iVar7 = iStack_419c" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);" (assignment_expression "uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674)" identifier = (pointer_expression "**(undefined4 **)(pcVar28 + 0x19674)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x19674)" * (cast_expression "(undefined4 **)(pcVar28 + 0x19674)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19674)" ( (binary_expression "pcVar28 + 0x19674" identifier + number_literal) )))))) ;) (expression_statement "pcVar31 = *(code **)(pcVar28 + 0x19660);" (assignment_expression "pcVar31 = *(code **)(pcVar28 + 0x19660)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) ;) (expression_statement "pcStack_61f0 = param_3;" (assignment_expression "pcStack_61f0 = param_3" identifier = identifier) ;) (expression_statement "pcStack_61ec = unaff_s1;" (assignment_expression "pcStack_61ec = unaff_s1" identifier = identifier) ;) (expression_statement "uStack_61e8 = uVar21;" (assignment_expression "uStack_61e8 = uVar21" identifier = identifier) ;) (expression_statement "pcStack_61e4 = pcVar23;" (assignment_expression "pcStack_61e4 = pcVar23" identifier = identifier) ;) (expression_statement "pcStack_61e0 = pcVar30;" (assignment_expression "pcStack_61e0 = pcVar30" identifier = identifier) ;) (expression_statement "pcStack_61dc = pcVar32;" (assignment_expression "pcStack_61dc = pcVar32" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00013cf8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00013cf8;" goto statement_identifier ;)) (expression_statement "uVar12 = **(undefined4 **)(pcVar28 + 0x19684);" (assignment_expression "uVar12 = **(undefined4 **)(pcVar28 + 0x19684)" identifier = (pointer_expression "**(undefined4 **)(pcVar28 + 0x19684)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x19684)" * (cast_expression "(undefined4 **)(pcVar28 + 0x19684)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19684)" ( (binary_expression "pcVar28 + 0x19684" identifier + number_literal) )))))) ;) (expression_statement "uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);" (assignment_expression "uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" identifier = (call_expression "(*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));" (call_expression "(**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar28 + 0x195c4))" ( (pointer_expression "**(code **)(pcVar28 + 0x195c4)" * (pointer_expression "*(code **)(pcVar28 + 0x195c4)" * (cast_expression "(code **)(pcVar28 + 0x195c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195c4)" ( (binary_expression "pcVar28 + 0x195c4" identifier + number_literal) ))))) )) (argument_list "(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar28 + 0x194b8)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x194b8)" * (cast_expression "(undefined4 **)(pcVar28 + 0x194b8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x194b8)" ( (binary_expression "pcVar28 + 0x194b8" identifier + number_literal) ))))) ))) ;) (do_statement "do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );" do (compound_statement "{\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  }" { (expression_statement "pcVar31 = *(code **)(pcVar28 + 0x19620);" (assignment_expression "pcVar31 = *(code **)(pcVar28 + 0x19620)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x19620)" * (cast_expression "(code **)(pcVar28 + 0x19620)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19620)" ( (binary_expression "pcVar28 + 0x19620" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar31)(iVar7);" (call_expression "(*pcVar31)(iVar7)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(iVar7)" ( identifier ))) ;) (labeled_statement "LAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);" statement_identifier : (expression_statement "puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar28 + 0x195f4)" identifier = (pointer_expression "*(undefined4 **)(pcVar28 + 0x195f4)" * (cast_expression "(undefined4 **)(pcVar28 + 0x195f4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f4)" ( (binary_expression "pcVar28 + 0x195f4" identifier + number_literal) ))))) ;)) (expression_statement "uVar29 = (*pcVar31)();" (assignment_expression "uVar29 = (*pcVar31)()" identifier = (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" ( number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar28 + 0x194b8)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x194b8)" * (cast_expression "(undefined4 **)(pcVar28 + 0x194b8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x194b8)" ( (binary_expression "pcVar28 + 0x194b8" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4ec8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,10)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4e40" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4e08" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4dbc" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,10)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4c2c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4ba8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b68" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b38" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b00" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar27 = aiStack_622c;" (assignment_expression "piVar27 = aiStack_622c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1969c)" * (pointer_expression "*(code **)(pcVar28 + 0x1969c)" * (cast_expression "(code **)(pcVar28 + 0x1969c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1969c)" ( (binary_expression "pcVar28 + 0x1969c" identifier + number_literal) ))))) )) (argument_list "(uVar29,*puVar11)" ( identifier , (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x19490);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x19490)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x19490)" * (cast_expression "(int *)(pcVar28 + 0x19490)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x19490)" ( (binary_expression "pcVar28 + 0x19490" identifier + number_literal) ))))) ;) (expression_statement "piVar10 = (int *)(iVar22 + -0x2ff0);" (assignment_expression "piVar10 = (int *)(iVar22 + -0x2ff0)" identifier = (cast_expression "(int *)(iVar22 + -0x2ff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x2ff0)" ( (binary_expression "iVar22 + -0x2ff0" identifier + number_literal) )))) ;) (expression_statement "piVar4 = piVar27;" (assignment_expression "piVar4 = piVar27" identifier = identifier) ;) (do_statement "do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));" do (compound_statement "{\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    }" { (expression_statement "piVar16 = piVar4;" (assignment_expression "piVar16 = piVar4" identifier = identifier) ;) (expression_statement "piVar13 = piVar10;" (assignment_expression "piVar13 = piVar10" identifier = identifier) ;) (expression_statement "piVar10 = piVar13 + 4;" (assignment_expression "piVar10 = piVar13 + 4" identifier = (binary_expression "piVar13 + 4" identifier + number_literal)) ;) (expression_statement "*piVar16 = *piVar13;" (assignment_expression "*piVar16 = *piVar13" (pointer_expression "*piVar16" * identifier) = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "iVar18 = piVar13[2];" (assignment_expression "iVar18 = piVar13[2]" identifier = (subscript_expression "piVar13[2]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = piVar13[3];" (assignment_expression "iVar17 = piVar13[3]" identifier = (subscript_expression "piVar13[3]" identifier [ number_literal ])) ;) (expression_statement "piVar16[1] = piVar13[1];" (assignment_expression "piVar16[1] = piVar13[1]" (subscript_expression "piVar16[1]" identifier [ number_literal ]) = (subscript_expression "piVar13[1]" identifier [ number_literal ])) ;) (expression_statement "piVar16[2] = iVar18;" (assignment_expression "piVar16[2] = iVar18" (subscript_expression "piVar16[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar16[3] = iVar17;" (assignment_expression "piVar16[3] = iVar17" (subscript_expression "piVar16[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4 = piVar16 + 4;" (assignment_expression "piVar4 = piVar16 + 4" identifier = (binary_expression "piVar16 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != (int *)(iVar22 + -0x2fc0))" ( (binary_expression "piVar10 != (int *)(iVar22 + -0x2fc0)" identifier != (cast_expression "(int *)(iVar22 + -0x2fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x2fc0)" ( (binary_expression "iVar22 + -0x2fc0" identifier + number_literal) )))) )) ;) (expression_statement "iVar22 = piVar13[5];" (assignment_expression "iVar22 = piVar13[5]" identifier = (subscript_expression "piVar13[5]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar17 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (expression_statement "piVar16[4] = *piVar10;" (assignment_expression "piVar16[4] = *piVar10" (subscript_expression "piVar16[4]" identifier [ number_literal ]) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "piVar16[5] = iVar22;" (assignment_expression "piVar16[5] = iVar22" (subscript_expression "piVar16[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar22 = aiStack_622c[0];" (assignment_expression "iVar22 = aiStack_622c[0]" identifier = (subscript_expression "aiStack_622c[0]" identifier [ number_literal ])) ;) (while_statement "while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }" while (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }" { (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19698))" ( (pointer_expression "**(code **)(pcVar28 + 0x19698)" * (pointer_expression "*(code **)(pcVar28 + 0x19698)" * (cast_expression "(code **)(pcVar28 + 0x19698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19698)" ( (binary_expression "pcVar28 + 0x19698" identifier + number_literal) ))))) )) (argument_list "(iVar17 + -0x4f1c)" ( (binary_expression "iVar17 + -0x4f1c" identifier + number_literal) )))) ;) (if_statement "if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00013f44;" goto statement_identifier ;) })) (expression_statement "piVar27 = piVar27 + 2;" (assignment_expression "piVar27 = piVar27 + 2" identifier = (binary_expression "piVar27 + 2" identifier + number_literal)) ;) (expression_statement "iVar22 = *piVar27;" (assignment_expression "iVar22 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) })) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00013f44:\n    iVar18 = piVar27[1];" statement_identifier : (expression_statement "iVar18 = piVar27[1];" (assignment_expression "iVar18 = piVar27[1]" identifier = (subscript_expression "piVar27[1]" identifier [ number_literal ])) ;)) (expression_statement "iVar25 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar25 = *(int *)(pcVar28 + 0x194a0)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }" { (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,iVar22 + -0x4a64,5)" ( number_literal , (binary_expression "iVar22 + -0x4a64" identifier + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) ))) ;) (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195e0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195e0)" * (pointer_expression "*(code **)(pcVar28 + 0x195e0)" * (cast_expression "(code **)(pcVar28 + 0x195e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195e0)" ( (binary_expression "pcVar28 + 0x195e0" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" if (parenthesized_expression "((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0))" ( (binary_expression "(iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)" (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)" ( (comma_expression "iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195b8))" ( (pointer_expression "**(code **)(pcVar28 + 0x195b8)" * (pointer_expression "*(code **)(pcVar28 + 0x195b8)" * (cast_expression "(code **)(pcVar28 + 0x195b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195b8)" ( (binary_expression "pcVar28 + 0x195b8" identifier + number_literal) ))))) )) (argument_list "(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar22 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" { (expression_statement "iVar18 = iVar17 + -0x4f1c;" (assignment_expression "iVar18 = iVar17 + -0x4f1c" identifier = (binary_expression "iVar17 + -0x4f1c" identifier + number_literal)) ;) (expression_statement "iVar22 = iVar18;" (assignment_expression "iVar22 = iVar18" identifier = identifier) ;) (labeled_statement "LAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a10" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar17 + -0x4f1c)" ( number_literal , identifier , (binary_expression "iVar17 + -0x4f1c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00013fcc;" goto statement_identifier ;) })) (expression_statement "iVar18 = iVar17 + -0x4f1c;" (assignment_expression "iVar18 = iVar17 + -0x4f1c" identifier = (binary_expression "iVar17 + -0x4f1c" identifier + number_literal)) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar25 + -0x4a4c,iVar18)" ( number_literal , identifier , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" else (compound_statement "{\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" { (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))();" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))()" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) ))) ;) (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195e0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195e0)" * (pointer_expression "*(code **)(pcVar28 + 0x195e0)" * (cast_expression "(code **)(pcVar28 + 0x195e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195e0)" ( (binary_expression "pcVar28 + 0x195e0" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" else (compound_statement "{\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" { (expression_statement "iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);" (assignment_expression "iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" identifier = (call_expression "(**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195b8))" ( (pointer_expression "**(code **)(pcVar28 + 0x195b8)" * (pointer_expression "*(code **)(pcVar28 + 0x195b8)" * (cast_expression "(code **)(pcVar28 + 0x195b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195b8)" ( (binary_expression "pcVar28 + 0x195b8" identifier + number_literal) ))))) )) (argument_list "(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar14 != 0) goto LAB_00014148;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014148;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c)" ( number_literal , identifier , (binary_expression "iVar25 + -0x4a4c" identifier + number_literal) , (binary_expression "iVar17 + -0x4f1c" identifier + number_literal) ))) ;) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" identifier = (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" ( (pointer_expression "**(code **)(pcVar28 + 0x19660)" * (pointer_expression "*(code **)(pcVar28 + 0x19660)" * (cast_expression "(code **)(pcVar28 + 0x19660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x19660)" ( (binary_expression "pcVar28 + 0x19660" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" if (parenthesized_expression "(iVar18 == iVar22)" ( (binary_expression "iVar18 == iVar22" identifier == identifier) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" else (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858" identifier = (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x3858" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" * (cast_expression "(int *)(pcVar28 + 0x194a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x194a0)" ( (binary_expression "pcVar28 + 0x194a0" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" ( (pointer_expression "**(code **)(pcVar28 + 0x195f0)" * (pointer_expression "*(code **)(pcVar28 + 0x195f0)" * (cast_expression "(code **)(pcVar28 + 0x195f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x195f0)" ( (binary_expression "pcVar28 + 0x195f0" identifier + number_literal) ))))) )) (argument_list "(1,uVar29,iVar18,iVar22)" ( number_literal , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) == (subscript_expression IDENT [ LIT ])) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) - LIT) )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (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 *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) )))) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) | LIT) )) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) - LIT) )))) ;) })) }))) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT == IDENT)) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "uint FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}" (type_identifier "uint") (function_declarator "FUN_00013344(undefined4 param_1,char *param_2,char *param_3,char *param_4)" (identifier "FUN_00013344") (parameter_list "(undefined4 param_1,char *param_2,char *param_3,char *param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "char *param_4" (primitive_type "char") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int *piVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  int *piVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  int *piVar13;\n  int iVar14;\n  char *pcVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar18;\n  char *pcVar19;\n  char *unaff_s0;\n  char *unaff_s1;\n  undefined4 uVar20;\n  char *unaff_s2;\n  uint uVar21;\n  char *unaff_s3;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  int iVar25;\n  char *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar26;\n  int *piVar27;\n  char *unaff_s7;\n  code *pcVar28;\n  char *unaff_s8;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int aiStack_622c [14];\n  undefined4 uStack_61f4;\n  char *pcStack_61f0;\n  char *pcStack_61ec;\n  uint uStack_61e8;\n  char *pcStack_61e4;\n  code *pcStack_61e0;\n  code *pcStack_61dc;\n  undefined4 uStack_61c8;\n  int iStack_61c4;\n  code *pcStack_61c0;\n  int iStack_61b4;\n  code *pcStack_61b0;\n  int *piStack_61ac;\n  char *pcStack_61a8;\n  char *pcStack_61a4;\n  char acStack_619d [8193];\n  int iStack_419c;\n  char *pcStack_4198;\n  char *pcStack_4194;\n  char *pcStack_4190;\n  int iStack_418c;\n  char *pcStack_4188;\n  undefined *puStack_4184;\n  int *piStack_4180;\n  char *pcStack_417c;\n  char *pcStack_4178;\n  code *pcStack_4174;\n  code *pcStack_4160;\n  char *pcStack_415c;\n  int iStack_4158;\n  char *pcStack_4154;\n  char *pcStack_4150;\n  code *pcStack_414c;\n  undefined *local_4138;\n  int local_412c;\n  char acStack_4124 [8192];\n  int local_2124;\n  char *local_2120;\n  char *local_211c;\n  char *local_2118;\n  char *local_2114;\n  char *local_2110;\n  undefined *local_210c;\n  undefined *local_2108;\n  char *local_2104;\n  char *local_2100;\n  undefined4 local_20fc;\n  undefined4 local_20e8;\n  undefined4 local_20e4;\n  char acStack_20d0 [24];\n  uint local_20b8;\n  char local_202c [8192];\n  int local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0002d2dc;\n  puVar2 = PTR_0002d104;\n  puVar26 = PTR_DAT_0002d0f8;\n  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;\n  pcVar15 = param_2;\n  local_2110 = unaff_s4;\n  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }\nLAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }\n  uVar29 = 0x135ac;\n  iVar7 = local_2c;\n  puVar26 = PTR___stack_chk_fail_0002d2c4;\n  (*(code *)PTR___stack_chk_fail_0002d2c4)();\n  local_4138 = puVar26 + 0x21b24;\n  local_2108 = puVar3;\n  piVar27 = *(int **)(puVar26 + 0x19d30);\n  local_2124 = *piVar27;\n  iVar22 = *(int *)(puVar26 + 0x19b58);\n  pcVar6 = pcVar15;\n  pcVar24 = local_2110;\n  puVar26 = unaff_s5;\n  pcVar19 = unaff_s7;\n  local_412c = iVar7;\n  local_2120 = unaff_s0;\n  local_211c = unaff_s1;\n  local_2118 = unaff_s2;\n  local_2114 = unaff_s3;\n  local_210c = unaff_s5;\n  local_2104 = unaff_s7;\n  local_2100 = unaff_s8;\n  local_20fc = uVar29;\n  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }\n  uVar8 = 1;\nLAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(local_4138 + -0x7e0c);\n  pcVar30 = FUN_0001373c;\n  iVar7 = local_2124;\n  (*pcVar28)();\n  pcStack_4160 = pcVar28 + 0x21994;\n  pcStack_4154 = unaff_s0;\n  pcStack_4150 = unaff_s1;\n  pcStack_414c = pcVar30;\n  if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }\n  pcVar30 = *(code **)(pcVar28 + 0x19ae0);\n  pcVar31 = FUN_00013860;\n  pcVar15 = pcVar6;\n  (*pcVar30)();\n  pcVar28 = pcStack_4160;\n  pcStack_61c0 = pcVar30 + 0x21870;\n  pcStack_61a4 = pcStack_415c;\n  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);\n  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;\n  iStack_419c = *piStack_61ac;\n  if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }\n  uStack_61c8 = 0;\n  uVar21 = 0x2000;\n  if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }\n  pcVar23 = pcStack_4154 + -uVar21;\n  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);\n  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));\n  iStack_61c4 = iVar7;\n  iStack_61b4 = iVar7;\n  pcStack_4198 = pcVar6;\n  pcStack_4194 = unaff_s1;\n  pcStack_4190 = unaff_s2;\n  iStack_418c = iVar22;\n  pcStack_4188 = pcVar24;\n  puStack_4184 = puVar26;\n  piStack_4180 = piVar27;\n  pcStack_417c = pcVar19;\n  pcStack_4178 = unaff_s8;\n  pcStack_4174 = pcVar31;\n  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);\n  if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }\nLAB_00013b8c:\n  uVar8 = 0;\n  pcVar31 = pcStack_61c0;\nLAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }\n  pcVar28 = *(code **)(pcVar31 + -0x7e0c);\n  pcVar32 = usage;\n  iVar7 = iStack_419c;\n  (*pcVar28)();\n  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);\n  pcVar31 = *(code **)(pcVar28 + 0x19660);\n  pcStack_61f0 = param_3;\n  pcStack_61ec = unaff_s1;\n  uStack_61e8 = uVar21;\n  pcStack_61e4 = pcVar23;\n  pcStack_61e0 = pcVar30;\n  pcStack_61dc = pcVar32;\n  if (iVar7 == 0) goto LAB_00013cf8;\n  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);\n  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);\n  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n  do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "char *unaff_s0;" (primitive_type "char") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "char *unaff_s1;" (primitive_type "char") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "undefined4 uVar20;" (type_identifier "undefined4") (identifier "uVar20") (; ";")) (declaration "char *unaff_s2;" (primitive_type "char") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "char *unaff_s3;" (primitive_type "char") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "char *pcVar23;" (primitive_type "char") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "char *pcVar24;" (primitive_type "char") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "char *unaff_s4;" (primitive_type "char") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "undefined *unaff_s5;" (type_identifier "undefined") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "undefined *puVar26;" (type_identifier "undefined") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "char *unaff_s7;" (primitive_type "char") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "char *unaff_s8;" (primitive_type "char") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "undefined4 uVar29;" (type_identifier "undefined4") (identifier "uVar29") (; ";")) (declaration "code *pcVar30;" (type_identifier "code") (pointer_declarator "*pcVar30" (* "*") (identifier "pcVar30")) (; ";")) (declaration "code *pcVar31;" (type_identifier "code") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "code *pcVar32;" (type_identifier "code") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "int aiStack_622c [14];" (primitive_type "int") (array_declarator "aiStack_622c [14]" (identifier "aiStack_622c") ([ "[") (number_literal "14") (] "]")) (; ";")) (declaration "undefined4 uStack_61f4;" (type_identifier "undefined4") (identifier "uStack_61f4") (; ";")) (declaration "char *pcStack_61f0;" (primitive_type "char") (pointer_declarator "*pcStack_61f0" (* "*") (identifier "pcStack_61f0")) (; ";")) (declaration "char *pcStack_61ec;" (primitive_type "char") (pointer_declarator "*pcStack_61ec" (* "*") (identifier "pcStack_61ec")) (; ";")) (declaration "uint uStack_61e8;" (type_identifier "uint") (identifier "uStack_61e8") (; ";")) (declaration "char *pcStack_61e4;" (primitive_type "char") (pointer_declarator "*pcStack_61e4" (* "*") (identifier "pcStack_61e4")) (; ";")) (declaration "code *pcStack_61e0;" (type_identifier "code") (pointer_declarator "*pcStack_61e0" (* "*") (identifier "pcStack_61e0")) (; ";")) (declaration "code *pcStack_61dc;" (type_identifier "code") (pointer_declarator "*pcStack_61dc" (* "*") (identifier "pcStack_61dc")) (; ";")) (declaration "undefined4 uStack_61c8;" (type_identifier "undefined4") (identifier "uStack_61c8") (; ";")) (declaration "int iStack_61c4;" (primitive_type "int") (identifier "iStack_61c4") (; ";")) (declaration "code *pcStack_61c0;" (type_identifier "code") (pointer_declarator "*pcStack_61c0" (* "*") (identifier "pcStack_61c0")) (; ";")) (declaration "int iStack_61b4;" (primitive_type "int") (identifier "iStack_61b4") (; ";")) (declaration "code *pcStack_61b0;" (type_identifier "code") (pointer_declarator "*pcStack_61b0" (* "*") (identifier "pcStack_61b0")) (; ";")) (declaration "int *piStack_61ac;" (primitive_type "int") (pointer_declarator "*piStack_61ac" (* "*") (identifier "piStack_61ac")) (; ";")) (declaration "char *pcStack_61a8;" (primitive_type "char") (pointer_declarator "*pcStack_61a8" (* "*") (identifier "pcStack_61a8")) (; ";")) (declaration "char *pcStack_61a4;" (primitive_type "char") (pointer_declarator "*pcStack_61a4" (* "*") (identifier "pcStack_61a4")) (; ";")) (declaration "char acStack_619d [8193];" (primitive_type "char") (array_declarator "acStack_619d [8193]" (identifier "acStack_619d") ([ "[") (number_literal "8193") (] "]")) (; ";")) (declaration "int iStack_419c;" (primitive_type "int") (identifier "iStack_419c") (; ";")) (declaration "char *pcStack_4198;" (primitive_type "char") (pointer_declarator "*pcStack_4198" (* "*") (identifier "pcStack_4198")) (; ";")) (declaration "char *pcStack_4194;" (primitive_type "char") (pointer_declarator "*pcStack_4194" (* "*") (identifier "pcStack_4194")) (; ";")) (declaration "char *pcStack_4190;" (primitive_type "char") (pointer_declarator "*pcStack_4190" (* "*") (identifier "pcStack_4190")) (; ";")) (declaration "int iStack_418c;" (primitive_type "int") (identifier "iStack_418c") (; ";")) (declaration "char *pcStack_4188;" (primitive_type "char") (pointer_declarator "*pcStack_4188" (* "*") (identifier "pcStack_4188")) (; ";")) (declaration "undefined *puStack_4184;" (type_identifier "undefined") (pointer_declarator "*puStack_4184" (* "*") (identifier "puStack_4184")) (; ";")) (declaration "int *piStack_4180;" (primitive_type "int") (pointer_declarator "*piStack_4180" (* "*") (identifier "piStack_4180")) (; ";")) (declaration "char *pcStack_417c;" (primitive_type "char") (pointer_declarator "*pcStack_417c" (* "*") (identifier "pcStack_417c")) (; ";")) (declaration "char *pcStack_4178;" (primitive_type "char") (pointer_declarator "*pcStack_4178" (* "*") (identifier "pcStack_4178")) (; ";")) (declaration "code *pcStack_4174;" (type_identifier "code") (pointer_declarator "*pcStack_4174" (* "*") (identifier "pcStack_4174")) (; ";")) (declaration "code *pcStack_4160;" (type_identifier "code") (pointer_declarator "*pcStack_4160" (* "*") (identifier "pcStack_4160")) (; ";")) (declaration "char *pcStack_415c;" (primitive_type "char") (pointer_declarator "*pcStack_415c" (* "*") (identifier "pcStack_415c")) (; ";")) (declaration "int iStack_4158;" (primitive_type "int") (identifier "iStack_4158") (; ";")) (declaration "char *pcStack_4154;" (primitive_type "char") (pointer_declarator "*pcStack_4154" (* "*") (identifier "pcStack_4154")) (; ";")) (declaration "char *pcStack_4150;" (primitive_type "char") (pointer_declarator "*pcStack_4150" (* "*") (identifier "pcStack_4150")) (; ";")) (declaration "code *pcStack_414c;" (type_identifier "code") (pointer_declarator "*pcStack_414c" (* "*") (identifier "pcStack_414c")) (; ";")) (declaration "undefined *local_4138;" (type_identifier "undefined") (pointer_declarator "*local_4138" (* "*") (identifier "local_4138")) (; ";")) (declaration "int local_412c;" (primitive_type "int") (identifier "local_412c") (; ";")) (declaration "char acStack_4124 [8192];" (primitive_type "char") (array_declarator "acStack_4124 [8192]" (identifier "acStack_4124") ([ "[") (number_literal "8192") (] "]")) (; ";")) (declaration "int local_2124;" (primitive_type "int") (identifier "local_2124") (; ";")) (declaration "char *local_2120;" (primitive_type "char") (pointer_declarator "*local_2120" (* "*") (identifier "local_2120")) (; ";")) (declaration "char *local_211c;" (primitive_type "char") (pointer_declarator "*local_211c" (* "*") (identifier "local_211c")) (; ";")) (declaration "char *local_2118;" (primitive_type "char") (pointer_declarator "*local_2118" (* "*") (identifier "local_2118")) (; ";")) (declaration "char *local_2114;" (primitive_type "char") (pointer_declarator "*local_2114" (* "*") (identifier "local_2114")) (; ";")) (declaration "char *local_2110;" (primitive_type "char") (pointer_declarator "*local_2110" (* "*") (identifier "local_2110")) (; ";")) (declaration "undefined *local_210c;" (type_identifier "undefined") (pointer_declarator "*local_210c" (* "*") (identifier "local_210c")) (; ";")) (declaration "undefined *local_2108;" (type_identifier "undefined") (pointer_declarator "*local_2108" (* "*") (identifier "local_2108")) (; ";")) (declaration "char *local_2104;" (primitive_type "char") (pointer_declarator "*local_2104" (* "*") (identifier "local_2104")) (; ";")) (declaration "char *local_2100;" (primitive_type "char") (pointer_declarator "*local_2100" (* "*") (identifier "local_2100")) (; ";")) (declaration "undefined4 local_20fc;" (type_identifier "undefined4") (identifier "local_20fc") (; ";")) (declaration "undefined4 local_20e8;" (type_identifier "undefined4") (identifier "local_20e8") (; ";")) (declaration "undefined4 local_20e4;" (type_identifier "undefined4") (identifier "local_20e4") (; ";")) (declaration "char acStack_20d0 [24];" (primitive_type "char") (array_declarator "acStack_20d0 [24]" (identifier "acStack_20d0") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "uint local_20b8;" (type_identifier "uint") (identifier "local_20b8") (; ";")) (declaration "char local_202c [8192];" (primitive_type "char") (array_declarator "local_202c [8192]" (identifier "local_202c") ([ "[") (number_literal "8192") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_0002d2dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0002d2dc" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_0002d2dc")) (; ";")) (expression_statement "puVar2 = PTR_0002d104;" (assignment_expression "puVar2 = PTR_0002d104" (identifier "puVar2") (= "=") (identifier "PTR_0002d104")) (; ";")) (expression_statement "puVar26 = PTR_DAT_0002d0f8;" (assignment_expression "puVar26 = PTR_DAT_0002d0f8" (identifier "puVar26") (= "=") (identifier "PTR_DAT_0002d0f8")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002d2dc" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0002d2dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0002d2dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0002d2dc")))) (; ";")) (expression_statement "pcVar15 = param_2;" (assignment_expression "pcVar15 = param_2" (identifier "pcVar15") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_2110 = unaff_s4;" (assignment_expression "local_2110 = unaff_s4" (identifier "local_2110") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {\nLAB_00013598:\n    uVar8 = 1;\n  }\n  else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" (if "if") (parenthesized_expression "(param_3 == (char *)0x0 && param_4 == (char *)0x0)" (( "(") (binary_expression "param_3 == (char *)0x0 && param_4 == (char *)0x0" (binary_expression "param_3 == (char *)0x0" (identifier "param_3") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "param_4 == (char *)0x0" (identifier "param_4") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\nLAB_00013598:\n    uVar8 = 1;\n  }" ({ "{") (labeled_statement "LAB_00013598:\n    uVar8 = 1;" (statement_identifier "LAB_00013598") (: ":") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";"))) (} "}")) (else_clause "else {\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" (else "else") (compound_statement "{\n    unaff_s7 = local_202c;\n    pcVar19 = (char *)0x2000;\n    unaff_s3 = (char *)0xffffffff;\n    pcVar15 = unaff_s7;\n    pcVar24 = param_4;\n    pcVar6 = (char *)safe_read(param_2);\n    unaff_s5 = puVar2 + 0x3118;\n    unaff_s8 = param_3;\n    unaff_s1 = param_4;\n    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }\n    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();\n    unaff_s0 = (char *)*piVar27;\n    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);\n    param_4 = (char *)quotearg_style(4,param_1);\n    pcVar15 = unaff_s0;\n    param_3 = unaff_s1;\n    (*(code *)PTR_error_0002d2a0)(0);\n    uVar8 = 0;\n  }" ({ "{") (expression_statement "unaff_s7 = local_202c;" (assignment_expression "unaff_s7 = local_202c" (identifier "unaff_s7") (= "=") (identifier "local_202c")) (; ";")) (expression_statement "pcVar19 = (char *)0x2000;" (assignment_expression "pcVar19 = (char *)0x2000" (identifier "pcVar19") (= "=") (cast_expression "(char *)0x2000" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2000"))) (; ";")) (expression_statement "unaff_s3 = (char *)0xffffffff;" (assignment_expression "unaff_s3 = (char *)0xffffffff" (identifier "unaff_s3") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar15 = unaff_s7;" (assignment_expression "pcVar15 = unaff_s7" (identifier "pcVar15") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcVar24 = param_4;" (assignment_expression "pcVar24 = param_4" (identifier "pcVar24") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pcVar6 = (char *)safe_read(param_2);" (assignment_expression "pcVar6 = (char *)safe_read(param_2)" (identifier "pcVar6") (= "=") (cast_expression "(char *)safe_read(param_2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safe_read(param_2)" (identifier "safe_read") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "unaff_s5 = puVar2 + 0x3118;" (assignment_expression "unaff_s5 = puVar2 + 0x3118" (identifier "unaff_s5") (= "=") (binary_expression "puVar2 + 0x3118" (identifier "puVar2") (+ "+") (number_literal "0x3118"))) (; ";")) (expression_statement "unaff_s8 = param_3;" (assignment_expression "unaff_s8 = param_3" (identifier "unaff_s8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "unaff_s1 = param_4;" (assignment_expression "unaff_s1 = param_4" (identifier "unaff_s1") (= "=") (identifier "param_4")) (; ";")) (while_statement "while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff) {\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }" (while "while") (parenthesized_expression "(param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff)" (( "(") (comma_expression "param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "param_4 = pcVar24" (identifier "param_4") (= "=") (identifier "pcVar24")) (, ",") (comma_expression "param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "param_3 = pcVar19" (identifier "param_3") (= "=") (identifier "pcVar19")) (, ",") (comma_expression "unaff_s2 = param_2, local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "unaff_s2 = param_2" (identifier "unaff_s2") (= "=") (identifier "param_2")) (, ",") (comma_expression "local_2110 = puVar26,\n          pcVar6 != (char *)0xffffffff" (assignment_expression "local_2110 = puVar26" (identifier "local_2110") (= "=") (identifier "puVar26")) (, ",") (binary_expression "pcVar6 != (char *)0xffffffff" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))))))) () ")")) (compound_statement "{\n      if (pcVar6 == (char *)0x0) goto LAB_00013598;\n      unaff_s0 = (char *)0x0;\n      do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);\n      FUN_00013118(unaff_s7,pcVar6);\n      pcVar19 = (char *)0x2000;\n      pcVar15 = unaff_s7;\n      pcVar6 = (char *)safe_read(param_2);\n      pcVar24 = param_4;\n    }" ({ "{") (if_statement "if (pcVar6 == (char *)0x0) goto LAB_00013598;" (if "if") (parenthesized_expression "(pcVar6 == (char *)0x0)" (( "(") (binary_expression "pcVar6 == (char *)0x0" (identifier "pcVar6") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00013598;" (goto "goto") (statement_identifier "LAB_00013598") (; ";"))) (expression_statement "unaff_s0 = (char *)0x0;" (assignment_expression "unaff_s0 = (char *)0x0" (identifier "unaff_s0") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      } while (pcVar6 != unaff_s0);" (do "do") (compound_statement "{\n        unaff_s0 = unaff_s0 + 1;\n        pcVar15 = unaff_s1 + -1;\n        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }\n      }" ({ "{") (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar15 = unaff_s1 + -1;" (assignment_expression "pcVar15 = unaff_s1 + -1" (identifier "pcVar15") (= "=") (binary_expression "unaff_s1 + -1" (identifier "unaff_s1") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }" (if "if") (parenthesized_expression "(((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0))" (( "(") (binary_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&\n           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)" (parenthesized_expression "((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf])" (( "(") (binary_expression "(&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]" (subscript_expression "(&stack0xffffdfd3)[(int)unaff_s0]" (parenthesized_expression "(&stack0xffffdfd3)" (( "(") (pointer_expression "&stack0xffffdfd3" (& "&") (identifier "stack0xffffdfd3")) () ")")) ([ "[") (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (] "]")) (== "==") (subscript_expression "puVar26[-0x2cdf]" (identifier "puVar26") ([ "[") (number_literal "-0x2cdf") (] "]"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)" (( "(") (comma_expression "unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (assignment_expression "unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1)" (identifier "unaff_s8") (= "=") (binary_expression "unaff_s8 + ((pcVar15 < unaff_s1) - 1)" (identifier "unaff_s8") (+ "+") (parenthesized_expression "((pcVar15 < unaff_s1) - 1)" (( "(") (binary_expression "(pcVar15 < unaff_s1) - 1" (parenthesized_expression "(pcVar15 < unaff_s1)" (( "(") (binary_expression "pcVar15 < unaff_s1" (identifier "pcVar15") (< "<") (identifier "unaff_s1")) () ")")) (- "-") (number_literal "1")) () ")")))) (, ",") (comma_expression "unaff_s1 = pcVar15,\n           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (assignment_expression "unaff_s1 = pcVar15" (identifier "unaff_s1") (= "=") (identifier "pcVar15")) (, ",") (binary_expression "unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0" (binary_expression "unaff_s8 == (char *)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))))) () ")"))) () ")")) (compound_statement "{\n          unaff_s1 = unaff_s0 + -(int)pcVar6;\n          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);\n          local_20e8 = 1;\n          param_3 = unaff_s3;\n          param_4 = unaff_s1;\n          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);\n          if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }\n          pcVar15 = unaff_s0;\n          FUN_00013118(unaff_s7);\n          uVar8 = 1;\n          goto LAB_00013464;\n        }" ({ "{") (expression_statement "unaff_s1 = unaff_s0 + -(int)pcVar6;" (assignment_expression "unaff_s1 = unaff_s0 + -(int)pcVar6" (identifier "unaff_s1") (= "=") (binary_expression "unaff_s0 + -(int)pcVar6" (identifier "unaff_s0") (+ "+") (unary_expression "-(int)pcVar6" (- "-") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6"))))) (; ";")) (expression_statement "unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);" (assignment_expression "unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0)" (identifier "unaff_s3") (= "=") (cast_expression "(char *)-(uint)(unaff_s1 != (char *)0x0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-(uint)(unaff_s1 != (char *)0x0)" (- "-") (call_expression "(uint)(unaff_s1 != (char *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(unaff_s1 != (char *)0x0)" (( "(") (binary_expression "unaff_s1 != (char *)0x0" (identifier "unaff_s1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))))) (; ";")) (expression_statement "local_20e8 = 1;" (assignment_expression "local_20e8 = 1" (identifier "local_20e8") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_3 = unaff_s3;" (assignment_expression "param_3 = unaff_s3" (identifier "param_3") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" (identifier "param_4") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);" (assignment_expression "iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_lseek64_0002d2a8)(param_2)" (parenthesized_expression "(*(code *)PTR_lseek64_0002d2a8)" (( "(") (pointer_expression "*(code *)PTR_lseek64_0002d2a8" (* "*") (cast_expression "(code *)PTR_lseek64_0002d2a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lseek64_0002d2a8"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            param_3 = acStack_20d0;\n            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);\n            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }\n          }" ({ "{") (expression_statement "param_3 = acStack_20d0;" (assignment_expression "param_3 = acStack_20d0" (identifier "param_3") (= "=") (identifier "acStack_20d0")) (; ";")) (expression_statement "iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);" (assignment_expression "iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___fxstat64_0002d2b4)(3,param_2)" (parenthesized_expression "(*(code *)PTR___fxstat64_0002d2b4)" (( "(") (pointer_expression "*(code *)PTR___fxstat64_0002d2b4" (* "*") (cast_expression "(code *)PTR___fxstat64_0002d2b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fxstat64_0002d2b4"))) () ")")) (argument_list "(3,param_2)" (( "(") (number_literal "3") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }" (if "if") (parenthesized_expression "((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000))" (( "(") (binary_expression "(iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((local_20b8 & 0xf000) == 0x8000)" (( "(") (binary_expression "(local_20b8 & 0xf000) == 0x8000" (parenthesized_expression "(local_20b8 & 0xf000)" (( "(") (binary_expression "local_20b8 & 0xf000" (identifier "local_20b8") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x8000")) () ")"))) () ")")) (compound_statement "{\n              local_20e8 = 1;\n              param_3 = unaff_s3;\n              param_4 = unaff_s1;\n              local_20e4 = param_1;\n              FUN_00012fbc(param_2);\n            }" ({ "{") (expression_statement "local_20e8 = 1;" (assignment_expression "local_20e8 = 1" (identifier "local_20e8") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_3 = unaff_s3;" (assignment_expression "param_3 = unaff_s3" (identifier "param_3") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" (identifier "param_4") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "local_20e4 = param_1;" (assignment_expression "local_20e4 = param_1" (identifier "local_20e4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_00012fbc(param_2);" (call_expression "FUN_00012fbc(param_2)" (identifier "FUN_00012fbc") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar15 = unaff_s0;" (assignment_expression "pcVar15 = unaff_s0" (identifier "pcVar15") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "FUN_00013118(unaff_s7);" (call_expression "FUN_00013118(unaff_s7)" (identifier "FUN_00013118") (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")"))) (; ";")) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00013464;" (goto "goto") (statement_identifier "LAB_00013464") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(pcVar6 != unaff_s0)" (( "(") (binary_expression "pcVar6 != unaff_s0" (identifier "pcVar6") (!= "!=") (identifier "unaff_s0")) () ")")) (; ";")) (expression_statement "FUN_00013118(unaff_s7,pcVar6);" (call_expression "FUN_00013118(unaff_s7,pcVar6)" (identifier "FUN_00013118") (argument_list "(unaff_s7,pcVar6)" (( "(") (identifier "unaff_s7") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "pcVar19 = (char *)0x2000;" (assignment_expression "pcVar19 = (char *)0x2000" (identifier "pcVar19") (= "=") (cast_expression "(char *)0x2000" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2000"))) (; ";")) (expression_statement "pcVar15 = unaff_s7;" (assignment_expression "pcVar15 = unaff_s7" (identifier "pcVar15") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcVar6 = (char *)safe_read(param_2);" (assignment_expression "pcVar6 = (char *)safe_read(param_2)" (identifier "pcVar6") (= "=") (cast_expression "(char *)safe_read(param_2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safe_read(param_2)" (identifier "safe_read") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "pcVar24 = param_4;" (assignment_expression "pcVar24 = param_4" (identifier "pcVar24") (= "=") (identifier "param_4")) (; ";")) (} "}"))) (expression_statement "piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();" (assignment_expression "piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)()" (identifier "piVar27") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0002d264)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0002d264)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002d264)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0002d264" (* "*") (cast_expression "(code *)PTR___errno_location_0002d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0002d264"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s0 = (char *)*piVar27;" (assignment_expression "unaff_s0 = (char *)*piVar27" (identifier "unaff_s0") (= "=") (cast_expression "(char *)*piVar27" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar27" (* "*") (identifier "piVar27")))) (; ";")) (expression_statement "unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" (identifier "unaff_s1") (= "=") (cast_expression "(char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002d2c8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0002d2c8" (* "*") (cast_expression "(code *)PTR_dcgettext_0002d2c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0002d2c8"))) () ")")) (argument_list "(0,PTR_DAT_0002d108 + -0x4f50,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0002d108 + -0x4f50" (identifier "PTR_DAT_0002d108") (+ "+") (number_literal "-0x4f50")) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "param_4 = (char *)quotearg_style(4,param_1);" (assignment_expression "param_4 = (char *)quotearg_style(4,param_1)" (identifier "param_4") (= "=") (cast_expression "(char *)quotearg_style(4,param_1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "quotearg_style(4,param_1)" (identifier "quotearg_style") (argument_list "(4,param_1)" (( "(") (number_literal "4") (, ",") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "pcVar15 = unaff_s0;" (assignment_expression "pcVar15 = unaff_s0" (identifier "pcVar15") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" (identifier "param_3") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "(*(code *)PTR_error_0002d2a0)(0);" (call_expression "(*(code *)PTR_error_0002d2a0)(0)" (parenthesized_expression "(*(code *)PTR_error_0002d2a0)" (( "(") (pointer_expression "*(code *)PTR_error_0002d2a0" (* "*") (cast_expression "(code *)PTR_error_0002d2a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_0002d2a0"))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_00013464:\n  if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }" (statement_identifier "LAB_00013464") (: ":") (if_statement "if (local_2c == *(int *)puVar3) {\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar3)" (( "(") (binary_expression "local_2c == *(int *)puVar3" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return uVar8;\n  }" ({ "{") (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))) (expression_statement "uVar29 = 0x135ac;" (assignment_expression "uVar29 = 0x135ac" (identifier "uVar29") (= "=") (number_literal "0x135ac")) (; ";")) (expression_statement "iVar7 = local_2c;" (assignment_expression "iVar7 = local_2c" (identifier "iVar7") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar26 = PTR___stack_chk_fail_0002d2c4;" (assignment_expression "puVar26 = PTR___stack_chk_fail_0002d2c4" (identifier "puVar26") (= "=") (identifier "PTR___stack_chk_fail_0002d2c4")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d2c4)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d2c4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0002d2c4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0002d2c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0002d2c4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_4138 = puVar26 + 0x21b24;" (assignment_expression "local_4138 = puVar26 + 0x21b24" (identifier "local_4138") (= "=") (binary_expression "puVar26 + 0x21b24" (identifier "puVar26") (+ "+") (number_literal "0x21b24"))) (; ";")) (expression_statement "local_2108 = puVar3;" (assignment_expression "local_2108 = puVar3" (identifier "local_2108") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "piVar27 = *(int **)(puVar26 + 0x19d30);" (assignment_expression "piVar27 = *(int **)(puVar26 + 0x19d30)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(puVar26 + 0x19d30)" (* "*") (cast_expression "(int **)(puVar26 + 0x19d30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x19d30)" (( "(") (binary_expression "puVar26 + 0x19d30" (identifier "puVar26") (+ "+") (number_literal "0x19d30")) () ")"))))) (; ";")) (expression_statement "local_2124 = *piVar27;" (assignment_expression "local_2124 = *piVar27" (identifier "local_2124") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (expression_statement "iVar22 = *(int *)(puVar26 + 0x19b58);" (assignment_expression "iVar22 = *(int *)(puVar26 + 0x19b58)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(puVar26 + 0x19b58)" (* "*") (cast_expression "(int *)(puVar26 + 0x19b58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x19b58)" (( "(") (binary_expression "puVar26 + 0x19b58" (identifier "puVar26") (+ "+") (number_literal "0x19b58")) () ")"))))) (; ";")) (expression_statement "pcVar6 = pcVar15;" (assignment_expression "pcVar6 = pcVar15" (identifier "pcVar6") (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "pcVar24 = local_2110;" (assignment_expression "pcVar24 = local_2110" (identifier "pcVar24") (= "=") (identifier "local_2110")) (; ";")) (expression_statement "puVar26 = unaff_s5;" (assignment_expression "puVar26 = unaff_s5" (identifier "puVar26") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pcVar19 = unaff_s7;" (assignment_expression "pcVar19 = unaff_s7" (identifier "pcVar19") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "local_412c = iVar7;" (assignment_expression "local_412c = iVar7" (identifier "local_412c") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "local_2120 = unaff_s0;" (assignment_expression "local_2120 = unaff_s0" (identifier "local_2120") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "local_211c = unaff_s1;" (assignment_expression "local_211c = unaff_s1" (identifier "local_211c") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "local_2118 = unaff_s2;" (assignment_expression "local_2118 = unaff_s2" (identifier "local_2118") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "local_2114 = unaff_s3;" (assignment_expression "local_2114 = unaff_s3" (identifier "local_2114") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "local_210c = unaff_s5;" (assignment_expression "local_210c = unaff_s5" (identifier "local_210c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "local_2104 = unaff_s7;" (assignment_expression "local_2104 = unaff_s7" (identifier "local_2104") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "local_2100 = unaff_s8;" (assignment_expression "local_2100 = unaff_s8" (identifier "local_2100") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "local_20fc = uVar29;" (assignment_expression "local_20fc = uVar29" (identifier "local_20fc") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }" (if "if") (parenthesized_expression "(param_3 != (char *)0x0 || param_4 != (char *)0x0)" (( "(") (binary_expression "param_3 != (char *)0x0 || param_4 != (char *)0x0" (binary_expression "param_3 != (char *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "param_4 != (char *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n    pcVar19 = acStack_4124;\n    puVar26 = (undefined *)0xffffffff;\n    iVar22 = iVar22 + 0x3118;\n    pcVar23 = param_4;\n    pcVar9 = (char *)0x2000;\n    pcVar5 = param_3;\n    do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);\n  }" ({ "{") (expression_statement "pcVar19 = acStack_4124;" (assignment_expression "pcVar19 = acStack_4124" (identifier "pcVar19") (= "=") (identifier "acStack_4124")) (; ";")) (expression_statement "puVar26 = (undefined *)0xffffffff;" (assignment_expression "puVar26 = (undefined *)0xffffffff" (identifier "puVar26") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "iVar22 = iVar22 + 0x3118;" (assignment_expression "iVar22 = iVar22 + 0x3118" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 0x3118" (identifier "iVar22") (+ "+") (number_literal "0x3118"))) (; ";")) (expression_statement "pcVar23 = param_4;" (assignment_expression "pcVar23 = param_4" (identifier "pcVar23") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pcVar9 = (char *)0x2000;" (assignment_expression "pcVar9 = (char *)0x2000" (identifier "pcVar9") (= "=") (cast_expression "(char *)0x2000" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2000"))) (; ";")) (expression_statement "pcVar5 = param_3;" (assignment_expression "pcVar5 = param_3" (identifier "pcVar5") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);" (do "do") (compound_statement "{\n      unaff_s8 = pcVar5;\n      unaff_s2 = pcVar9;\n      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }\n      pcVar6 = pcVar19;\n      param_3 = unaff_s2;\n      pcVar9 = (char *)safe_read(pcVar15);\n      pcVar24 = pcVar15;\n      if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }\n      unaff_s0 = pcVar23 + -(int)pcVar9;\n      unaff_s1 = pcVar23;\n      if (pcVar9 == (char *)0x0) break;\n      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);\n      FUN_00013118(pcVar19);\n      pcVar6 = pcVar9;\n      unaff_s1 = unaff_s0;\n      pcVar23 = unaff_s0;\n      pcVar9 = unaff_s2;\n      pcVar5 = unaff_s8;\n    }" ({ "{") (expression_statement "unaff_s8 = pcVar5;" (assignment_expression "unaff_s8 = pcVar5" (identifier "unaff_s8") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "unaff_s2 = pcVar9;" (assignment_expression "unaff_s2 = pcVar9" (identifier "unaff_s2") (= "=") (identifier "pcVar9")) (; ";")) (if_statement "if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {\n        unaff_s2 = pcVar23;\n      }" (if "if") (parenthesized_expression "((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9))" (( "(") (binary_expression "(unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)" (parenthesized_expression "(unaff_s8 == (char *)0x0)" (( "(") (binary_expression "unaff_s8 == (char *)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar23 < pcVar9)" (( "(") (binary_expression "pcVar23 < pcVar9" (identifier "pcVar23") (< "<") (identifier "pcVar9")) () ")"))) () ")")) (compound_statement "{\n        unaff_s2 = pcVar23;\n      }" ({ "{") (expression_statement "unaff_s2 = pcVar23;" (assignment_expression "unaff_s2 = pcVar23" (identifier "unaff_s2") (= "=") (identifier "pcVar23")) (; ";")) (} "}"))) (expression_statement "pcVar6 = pcVar19;" (assignment_expression "pcVar6 = pcVar19" (identifier "pcVar6") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "param_3 = unaff_s2;" (assignment_expression "param_3 = unaff_s2" (identifier "param_3") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "pcVar9 = (char *)safe_read(pcVar15);" (assignment_expression "pcVar9 = (char *)safe_read(pcVar15)" (identifier "pcVar9") (= "=") (cast_expression "(char *)safe_read(pcVar15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safe_read(pcVar15)" (identifier "safe_read") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")"))))) (; ";")) (expression_statement "pcVar24 = pcVar15;" (assignment_expression "pcVar24 = pcVar15" (identifier "pcVar24") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (pcVar9 == (char *)0xffffffff) {\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }" (if "if") (parenthesized_expression "(pcVar9 == (char *)0xffffffff)" (( "(") (binary_expression "pcVar9 == (char *)0xffffffff" (identifier "pcVar9") (== "==") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();\n        unaff_s0 = (char *)*piVar10;\n        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);\n        param_4 = (char *)quotearg_style(4,local_412c);\n        pcVar6 = unaff_s0;\n        param_3 = unaff_s1;\n        (**(code **)(local_4138 + -0x7e30))(0);\n        uVar8 = 0;\n        goto LAB_000136f4;\n      }" ({ "{") (expression_statement "piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();" (assignment_expression "piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))()" (identifier "piVar10") (= "=") (cast_expression "(int *)(**(code **)(local_4138 + -0x7e6c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(local_4138 + -0x7e6c))()" (parenthesized_expression "(**(code **)(local_4138 + -0x7e6c))" (( "(") (pointer_expression "**(code **)(local_4138 + -0x7e6c)" (* "*") (pointer_expression "*(code **)(local_4138 + -0x7e6c)" (* "*") (cast_expression "(code **)(local_4138 + -0x7e6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_4138 + -0x7e6c)" (( "(") (binary_expression "local_4138 + -0x7e6c" (identifier "local_4138") (+ "+") (number_literal "-0x7e6c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s0 = (char *)*piVar10;" (assignment_expression "unaff_s0 = (char *)*piVar10" (identifier "unaff_s0") (= "=") (cast_expression "(char *)*piVar10" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")))) (; ";")) (expression_statement "unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" (identifier "unaff_s1") (= "=") (cast_expression "(char *)(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(local_4138 + -0x7e08))\n                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(local_4138 + -0x7e08))" (( "(") (pointer_expression "**(code **)(local_4138 + -0x7e08)" (* "*") (pointer_expression "*(code **)(local_4138 + -0x7e08)" (* "*") (cast_expression "(code **)(local_4138 + -0x7e08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_4138 + -0x7e08)" (( "(") (binary_expression "local_4138 + -0x7e08" (identifier "local_4138") (+ "+") (number_literal "-0x7e08")) () ")"))))) () ")")) (argument_list "(0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(local_4138 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(local_4138 + -0x7fc8)" (* "*") (cast_expression "(int *)(local_4138 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_4138 + -0x7fc8)" (( "(") (binary_expression "local_4138 + -0x7fc8" (identifier "local_4138") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x4f50")) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "param_4 = (char *)quotearg_style(4,local_412c);" (assignment_expression "param_4 = (char *)quotearg_style(4,local_412c)" (identifier "param_4") (= "=") (cast_expression "(char *)quotearg_style(4,local_412c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "quotearg_style(4,local_412c)" (identifier "quotearg_style") (argument_list "(4,local_412c)" (( "(") (number_literal "4") (, ",") (identifier "local_412c") () ")"))))) (; ";")) (expression_statement "pcVar6 = unaff_s0;" (assignment_expression "pcVar6 = unaff_s0" (identifier "pcVar6") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" (identifier "param_3") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "(**(code **)(local_4138 + -0x7e30))(0);" (call_expression "(**(code **)(local_4138 + -0x7e30))(0)" (parenthesized_expression "(**(code **)(local_4138 + -0x7e30))" (( "(") (pointer_expression "**(code **)(local_4138 + -0x7e30)" (* "*") (pointer_expression "*(code **)(local_4138 + -0x7e30)" (* "*") (cast_expression "(code **)(local_4138 + -0x7e30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_4138 + -0x7e30)" (( "(") (binary_expression "local_4138 + -0x7e30" (identifier "local_4138") (+ "+") (number_literal "-0x7e30")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000136f4;" (goto "goto") (statement_identifier "LAB_000136f4") (; ";")) (} "}"))) (expression_statement "unaff_s0 = pcVar23 + -(int)pcVar9;" (assignment_expression "unaff_s0 = pcVar23 + -(int)pcVar9" (identifier "unaff_s0") (= "=") (binary_expression "pcVar23 + -(int)pcVar9" (identifier "pcVar23") (+ "+") (unary_expression "-(int)pcVar9" (- "-") (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9"))))) (; ";")) (expression_statement "unaff_s1 = pcVar23;" (assignment_expression "unaff_s1 = pcVar23" (identifier "unaff_s1") (= "=") (identifier "pcVar23")) (; ";")) (if_statement "if (pcVar9 == (char *)0x0) break;" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);" (assignment_expression "unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0)" (identifier "unaff_s8") (= "=") (binary_expression "unaff_s8 + -(uint)(pcVar23 < unaff_s0)" (identifier "unaff_s8") (+ "+") (unary_expression "-(uint)(pcVar23 < unaff_s0)" (- "-") (call_expression "(uint)(pcVar23 < unaff_s0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar23 < unaff_s0)" (( "(") (binary_expression "pcVar23 < unaff_s0" (identifier "pcVar23") (< "<") (identifier "unaff_s0")) () ")")))))) (; ";")) (expression_statement "FUN_00013118(pcVar19);" (call_expression "FUN_00013118(pcVar19)" (identifier "FUN_00013118") (argument_list "(pcVar19)" (( "(") (identifier "pcVar19") () ")"))) (; ";")) (expression_statement "pcVar6 = pcVar9;" (assignment_expression "pcVar6 = pcVar9" (identifier "pcVar6") (= "=") (identifier "pcVar9")) (; ";")) (expression_statement "unaff_s1 = unaff_s0;" (assignment_expression "unaff_s1 = unaff_s0" (identifier "unaff_s1") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "pcVar23 = unaff_s0;" (assignment_expression "pcVar23 = unaff_s0" (identifier "pcVar23") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "pcVar9 = unaff_s2;" (assignment_expression "pcVar9 = unaff_s2" (identifier "pcVar9") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "pcVar5 = unaff_s8;" (assignment_expression "pcVar5 = unaff_s8" (identifier "pcVar5") (= "=") (identifier "unaff_s8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0)" (( "(") (binary_expression "unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0" (binary_expression "unaff_s8 != (char *)0x0" (identifier "unaff_s8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "unaff_s0 != (char *)0x0" (identifier "unaff_s0") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000136f4:\n  if (local_2124 == *piVar27) {\n    return uVar8;\n  }" (statement_identifier "LAB_000136f4") (: ":") (if_statement "if (local_2124 == *piVar27) {\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(local_2124 == *piVar27)" (( "(") (binary_expression "local_2124 == *piVar27" (identifier "local_2124") (== "==") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) () ")")) (compound_statement "{\n    return uVar8;\n  }" ({ "{") (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))) (expression_statement "pcVar28 = *(code **)(local_4138 + -0x7e0c);" (assignment_expression "pcVar28 = *(code **)(local_4138 + -0x7e0c)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(local_4138 + -0x7e0c)" (* "*") (cast_expression "(code **)(local_4138 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_4138 + -0x7e0c)" (( "(") (binary_expression "local_4138 + -0x7e0c" (identifier "local_4138") (+ "+") (number_literal "-0x7e0c")) () ")"))))) (; ";")) (expression_statement "pcVar30 = FUN_0001373c;" (assignment_expression "pcVar30 = FUN_0001373c" (identifier "pcVar30") (= "=") (identifier "FUN_0001373c")) (; ";")) (expression_statement "iVar7 = local_2124;" (assignment_expression "iVar7 = local_2124" (identifier "iVar7") (= "=") (identifier "local_2124")) (; ";")) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_4160 = pcVar28 + 0x21994;" (assignment_expression "pcStack_4160 = pcVar28 + 0x21994" (identifier "pcStack_4160") (= "=") (binary_expression "pcVar28 + 0x21994" (identifier "pcVar28") (+ "+") (number_literal "0x21994"))) (; ";")) (expression_statement "pcStack_4154 = unaff_s0;" (assignment_expression "pcStack_4154 = unaff_s0" (identifier "pcStack_4154") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "pcStack_4150 = unaff_s1;" (assignment_expression "pcStack_4150 = unaff_s1" (identifier "pcStack_4150") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pcStack_414c = pcVar30;" (assignment_expression "pcStack_414c = pcVar30" (identifier "pcStack_414c") (= "=") (identifier "pcVar30")) (; ";")) (if_statement "if (iVar7 == 1) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(iVar7 == 1)" (( "(") (binary_expression "iVar7 == 1" (identifier "iVar7") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);\n    uVar12 = quotearg_style(4,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" ({ "{") (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar28 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19b28))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19b28)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19b28)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19b28)" (( "(") (binary_expression "pcVar28 + 0x19b28" (identifier "pcVar28") (+ "+") (number_literal "0x19b28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar20 = *puVar11;" (assignment_expression "uVar20 = *puVar11" (identifier "uVar20") (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);" (assignment_expression "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" (( "(") (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" (* "*") (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" (* "*") (cast_expression "(code **)(pcStack_4160 + -0x7e08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_4160 + -0x7e08)" (( "(") (binary_expression "pcStack_4160 + -0x7e08" (identifier "pcStack_4160") (+ "+") (number_literal "-0x7e08")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_4160 + -0x7fc8)" (( "(") (binary_expression "pcStack_4160 + -0x7fc8" (identifier "pcStack_4160") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x4f50")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar12 = quotearg_style(4,pcVar6);" (assignment_expression "uVar12 = quotearg_style(4,pcVar6)" (identifier "uVar12") (= "=") (call_expression "quotearg_style(4,pcVar6)" (identifier "quotearg_style") (argument_list "(4,pcVar6)" (( "(") (number_literal "4") (, ",") (identifier "pcVar6") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);" (assignment_expression "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" (( "(") (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" (* "*") (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" (* "*") (cast_expression "(code **)(pcStack_4160 + -0x7e30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_4160 + -0x7e30)" (( "(") (binary_expression "pcStack_4160 + -0x7e30" (identifier "pcStack_4160") (+ "+") (number_literal "-0x7e30")) () ")"))))) () ")")) (argument_list "(0,uVar20,uVar29,uVar12)" (( "(") (number_literal "0") (, ",") (identifier "uVar20") (, ",") (identifier "uVar29") (, ",") (identifier "uVar12") () ")")))) (; ";")) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (if_statement "if (iVar7 == 2) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(iVar7 == 2)" (( "(") (binary_expression "iVar7 == 2" (identifier "iVar7") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();\n    uVar20 = *puVar11;\n    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);\n    uVar12 = quotearg_n_style_colon(0,3,pcVar6);\n                    \n                    \n    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);\n    return uVar8;\n  }" ({ "{") (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x19b28))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar28 + 0x19b28))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19b28))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19b28)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19b28)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19b28)" (( "(") (binary_expression "pcVar28 + 0x19b28" (identifier "pcVar28") (+ "+") (number_literal "0x19b28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar20 = *puVar11;" (assignment_expression "uVar20 = *puVar11" (identifier "uVar20") (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);" (assignment_expression "uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e08))" (( "(") (pointer_expression "**(code **)(pcStack_4160 + -0x7e08)" (* "*") (pointer_expression "*(code **)(pcStack_4160 + -0x7e08)" (* "*") (cast_expression "(code **)(pcStack_4160 + -0x7e08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_4160 + -0x7e08)" (( "(") (binary_expression "pcStack_4160 + -0x7e08" (identifier "pcStack_4160") (+ "+") (number_literal "-0x7e08")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c" (pointer_expression "*(int *)(pcStack_4160 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_4160 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_4160 + -0x7fc8)" (( "(") (binary_expression "pcStack_4160 + -0x7fc8" (identifier "pcStack_4160") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x4f3c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar12 = quotearg_n_style_colon(0,3,pcVar6);" (assignment_expression "uVar12 = quotearg_n_style_colon(0,3,pcVar6)" (identifier "uVar12") (= "=") (call_expression "quotearg_n_style_colon(0,3,pcVar6)" (identifier "quotearg_n_style_colon") (argument_list "(0,3,pcVar6)" (( "(") (number_literal "0") (, ",") (number_literal "3") (, ",") (identifier "pcVar6") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);" (assignment_expression "uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12)" (parenthesized_expression "(**(code **)(pcStack_4160 + -0x7e30))" (( "(") (pointer_expression "**(code **)(pcStack_4160 + -0x7e30)" (* "*") (pointer_expression "*(code **)(pcStack_4160 + -0x7e30)" (* "*") (cast_expression "(code **)(pcStack_4160 + -0x7e30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_4160 + -0x7e30)" (( "(") (binary_expression "pcStack_4160 + -0x7e30" (identifier "pcStack_4160") (+ "+") (number_literal "-0x7e30")) () ")"))))) () ")")) (argument_list "(0,uVar20,uVar29,uVar12)" (( "(") (number_literal "0") (, ",") (identifier "uVar20") (, ",") (identifier "uVar29") (, ",") (identifier "uVar12") () ")")))) (; ";")) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (expression_statement "pcVar30 = *(code **)(pcVar28 + 0x19ae0);" (assignment_expression "pcVar30 = *(code **)(pcVar28 + 0x19ae0)" (identifier "pcVar30") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x19ae0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19ae0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19ae0)" (( "(") (binary_expression "pcVar28 + 0x19ae0" (identifier "pcVar28") (+ "+") (number_literal "0x19ae0")) () ")"))))) (; ";")) (expression_statement "pcVar31 = FUN_00013860;" (assignment_expression "pcVar31 = FUN_00013860" (identifier "pcVar31") (= "=") (identifier "FUN_00013860")) (; ";")) (expression_statement "pcVar15 = pcVar6;" (assignment_expression "pcVar15 = pcVar6" (identifier "pcVar15") (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar28 = pcStack_4160;" (assignment_expression "pcVar28 = pcStack_4160" (identifier "pcVar28") (= "=") (identifier "pcStack_4160")) (; ";")) (expression_statement "pcStack_61c0 = pcVar30 + 0x21870;" (assignment_expression "pcStack_61c0 = pcVar30 + 0x21870" (identifier "pcStack_61c0") (= "=") (binary_expression "pcVar30 + 0x21870" (identifier "pcVar30") (+ "+") (number_literal "0x21870"))) (; ";")) (expression_statement "pcStack_61a4 = pcStack_415c;" (assignment_expression "pcStack_61a4 = pcStack_415c" (identifier "pcStack_61a4") (= "=") (identifier "pcStack_415c")) (; ";")) (expression_statement "piStack_61ac = *(int **)(pcVar30 + 0x19a7c);" (assignment_expression "piStack_61ac = *(int **)(pcVar30 + 0x19a7c)" (identifier "piStack_61ac") (= "=") (pointer_expression "*(int **)(pcVar30 + 0x19a7c)" (* "*") (cast_expression "(int **)(pcVar30 + 0x19a7c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar30 + 0x19a7c)" (( "(") (binary_expression "pcVar30 + 0x19a7c" (identifier "pcVar30") (+ "+") (number_literal "0x19a7c")) () ")"))))) (; ";")) (expression_statement "uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;" (assignment_expression "uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff" (identifier "uVar8") (= "=") (binary_expression "(uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff" (call_expression "(uint)(pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcStack_4154 + -(int)pcStack_415c)" (( "(") (binary_expression "pcStack_4154 + -(int)pcStack_415c" (identifier "pcStack_4154") (+ "+") (unary_expression "-(int)pcStack_415c" (- "-") (cast_expression "(int)pcStack_415c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_415c")))) () ")"))) (& "&") (number_literal "0x1fff"))) (; ";")) (expression_statement "iStack_419c = *piStack_61ac;" (assignment_expression "iStack_419c = *piStack_61ac" (identifier "iStack_419c") (= "=") (pointer_expression "*piStack_61ac" (* "*") (identifier "piStack_61ac"))) (; ";")) (if_statement "if ((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }" (if "if") (parenthesized_expression "((int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0)" (( "(") (binary_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0" (cast_expression "(int)((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c))" (( "(") (binary_expression "(iStack_4158 - (int)pcStack_4160) -\n           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(iStack_4158 - (int)pcStack_4160)" (( "(") (binary_expression "iStack_4158 - (int)pcStack_4160" (identifier "iStack_4158") (- "-") (cast_expression "(int)pcStack_4160" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_4160"))) () ")")) (- "-") (call_expression "(uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)" (( "(") (binary_expression "pcStack_4154 < pcStack_4154 + -(int)pcStack_415c" (identifier "pcStack_4154") (< "<") (binary_expression "pcStack_4154 + -(int)pcStack_415c" (identifier "pcStack_4154") (+ "+") (unary_expression "-(int)pcStack_415c" (- "-") (cast_expression "(int)pcStack_415c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_415c"))))) () ")")))) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;\n  }" ({ "{") (expression_statement "uVar8 = (uVar8 - 1 | 0xffffe000) + 1;" (assignment_expression "uVar8 = (uVar8 - 1 | 0xffffe000) + 1" (identifier "uVar8") (= "=") (binary_expression "(uVar8 - 1 | 0xffffe000) + 1" (parenthesized_expression "(uVar8 - 1 | 0xffffe000)" (( "(") (binary_expression "uVar8 - 1 | 0xffffe000" (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1")) (| "|") (number_literal "0xffffe000")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" (identifier "uStack_61c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0x2000;" (assignment_expression "uVar21 = 0x2000" (identifier "uVar21") (= "=") (number_literal "0x2000")) (; ";")) (if_statement "if (uVar8 != 0) {\n    uVar21 = uVar8;\n  }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar21 = uVar8;\n  }" ({ "{") (expression_statement "uVar21 = uVar8;" (assignment_expression "uVar21 = uVar8" (identifier "uVar21") (= "=") (identifier "uVar8")) (; ";")) (} "}"))) (expression_statement "pcVar23 = pcStack_4154 + -uVar21;" (assignment_expression "pcVar23 = pcStack_4154 + -uVar21" (identifier "pcVar23") (= "=") (binary_expression "pcStack_4154 + -uVar21" (identifier "pcStack_4154") (+ "+") (unary_expression "-uVar21" (- "-") (identifier "uVar21")))) (; ";")) (expression_statement "pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);" (assignment_expression "pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" (identifier "pcStack_61b0") (= "=") (cast_expression "(code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar30 + 0x198a4) + 0x2fbc)" (( "(") (binary_expression "*(int *)(pcVar30 + 0x198a4) + 0x2fbc" (pointer_expression "*(int *)(pcVar30 + 0x198a4)" (* "*") (cast_expression "(int *)(pcVar30 + 0x198a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar30 + 0x198a4)" (( "(") (binary_expression "pcVar30 + 0x198a4" (identifier "pcVar30") (+ "+") (number_literal "0x198a4")) () ")")))) (+ "+") (number_literal "0x2fbc")) () ")")))) (; ";")) (expression_statement "pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));" (assignment_expression "pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" (identifier "pcVar30") (= "=") (cast_expression "(code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_4158 - (uint)(pcStack_4154 < pcVar23))" (( "(") (binary_expression "iStack_4158 - (uint)(pcStack_4154 < pcVar23)" (identifier "iStack_4158") (- "-") (call_expression "(uint)(pcStack_4154 < pcVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcStack_4154 < pcVar23)" (( "(") (binary_expression "pcStack_4154 < pcVar23" (identifier "pcStack_4154") (< "<") (identifier "pcVar23")) () ")")))) () ")")))) (; ";")) (expression_statement "iStack_61c4 = iVar7;" (assignment_expression "iStack_61c4 = iVar7" (identifier "iStack_61c4") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "iStack_61b4 = iVar7;" (assignment_expression "iStack_61b4 = iVar7" (identifier "iStack_61b4") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "pcStack_4198 = pcVar6;" (assignment_expression "pcStack_4198 = pcVar6" (identifier "pcStack_4198") (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "pcStack_4194 = unaff_s1;" (assignment_expression "pcStack_4194 = unaff_s1" (identifier "pcStack_4194") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pcStack_4190 = unaff_s2;" (assignment_expression "pcStack_4190 = unaff_s2" (identifier "pcStack_4190") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "iStack_418c = iVar22;" (assignment_expression "iStack_418c = iVar22" (identifier "iStack_418c") (= "=") (identifier "iVar22")) (; ";")) (expression_statement "pcStack_4188 = pcVar24;" (assignment_expression "pcStack_4188 = pcVar24" (identifier "pcStack_4188") (= "=") (identifier "pcVar24")) (; ";")) (expression_statement "puStack_4184 = puVar26;" (assignment_expression "puStack_4184 = puVar26" (identifier "puStack_4184") (= "=") (identifier "puVar26")) (; ";")) (expression_statement "piStack_4180 = piVar27;" (assignment_expression "piStack_4180 = piVar27" (identifier "piStack_4180") (= "=") (identifier "piVar27")) (; ";")) (expression_statement "pcStack_417c = pcVar19;" (assignment_expression "pcStack_417c = pcVar19" (identifier "pcStack_417c") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "pcStack_4178 = unaff_s8;" (assignment_expression "pcStack_4178 = unaff_s8" (identifier "pcStack_4178") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_4174 = pcVar31;" (assignment_expression "pcStack_4174 = pcVar31" (identifier "pcStack_4174") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);" (assignment_expression "iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23)" (identifier "iVar7") (= "=") (call_expression "FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23)" (identifier "FUN_00012fbc") (argument_list "(pcVar15,iStack_419c,pcVar30,pcVar23)" (( "(") (identifier "pcVar15") (, ",") (identifier "iStack_419c") (, ",") (identifier "pcVar30") (, ",") (identifier "pcVar23") () ")")))) (; ";")) (if_statement "if (-1 < iVar7) {\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n    unaff_s1 = acStack_619d + 1;\n    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);\n    if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }\nLAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();\n    param_3 = (char *)*puVar11;\n    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);\n    uVar29 = quotearg_style(4,iStack_61b4);\n    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);\n  }" ({ "{") (expression_statement "unaff_s1 = acStack_619d + 1;" (assignment_expression "unaff_s1 = acStack_619d + 1" (identifier "unaff_s1") (= "=") (binary_expression "acStack_619d + 1" (identifier "acStack_619d") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);" (assignment_expression "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21)" (identifier "pcVar6") (= "=") (cast_expression "(char *)safe_read(pcVar15,unaff_s1,uVar21)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safe_read(pcVar15,unaff_s1,uVar21)" (identifier "safe_read") (argument_list "(pcVar15,unaff_s1,uVar21)" (( "(") (identifier "pcVar15") (, ",") (identifier "unaff_s1") (, ",") (identifier "uVar21") () ")"))))) (; ";")) (if_statement "if (pcVar6 != (char *)0xffffffff) {\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }" (if "if") (parenthesized_expression "(pcVar6 != (char *)0xffffffff)" (( "(") (binary_expression "pcVar6 != (char *)0xffffffff" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n      uVar21 = (uint)param_3 | (uint)param_4;\n      pcVar24 = pcVar23;\n      pcVar19 = param_4;\n      if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }\n      do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);\n      goto LAB_00013b94;\n    }" ({ "{") (expression_statement "uVar21 = (uint)param_3 | (uint)param_4;" (assignment_expression "uVar21 = (uint)param_3 | (uint)param_4" (identifier "uVar21") (= "=") (binary_expression "(uint)param_3 | (uint)param_4" (cast_expression "(uint)param_3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_3")) (| "|") (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")))) (; ";")) (expression_statement "pcVar24 = pcVar23;" (assignment_expression "pcVar24 = pcVar23" (identifier "pcVar24") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "pcVar19 = param_4;" (assignment_expression "pcVar19 = param_4" (identifier "pcVar19") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (uVar21 == 0) {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }\n      else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n      }" ({ "{") (expression_statement "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" (identifier "pcStack_61a8") (= "=") (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" (* "*") (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" (( "(") (binary_expression "pcStack_61c0 + -0x7fd8" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" (else "else") (compound_statement "{\n        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);\n        if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }\n      }" ({ "{") (expression_statement "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" (identifier "pcStack_61a8") (= "=") (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" (* "*") (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" (( "(") (binary_expression "pcStack_61c0 + -0x7fd8" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (if_statement "if ((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }" (if "if") (parenthesized_expression "((pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)))" (( "(") (binary_expression "(pcVar6 != (char *)0x0) &&\n           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))" (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))" (( "(") (comma_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),\n           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (assignment_expression "pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8)" (identifier "pcStack_61a8") (= "=") (pointer_expression "*(char **)(pcStack_61c0 + -0x7fd8)" (* "*") (cast_expression "(char **)(pcStack_61c0 + -0x7fd8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" (( "(") (binary_expression "pcStack_61c0 + -0x7fd8" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (, ",") (binary_expression "acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (subscript_expression "acStack_619d[(int)pcVar6]" (identifier "acStack_619d") ([ "[") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6")) (] "]")) (!= "!=") (pointer_expression "*(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (* "*") (cast_expression "(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf)" (( "(") (binary_expression "*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf" (pointer_expression "*(int *)(pcStack_61c0 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_61c0 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7fd8)" (( "(") (binary_expression "pcStack_61c0 + -0x7fd8" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "-0x2cdf")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n          pcVar19 = param_4 + -1;\n          param_3 = param_3 + ((pcVar19 < param_4) - 1);\n        }" ({ "{") (expression_statement "pcVar19 = param_4 + -1;" (assignment_expression "pcVar19 = param_4 + -1" (identifier "pcVar19") (= "=") (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "param_3 = param_3 + ((pcVar19 < param_4) - 1);" (assignment_expression "param_3 = param_3 + ((pcVar19 < param_4) - 1)" (identifier "param_3") (= "=") (binary_expression "param_3 + ((pcVar19 < param_4) - 1)" (identifier "param_3") (+ "+") (parenthesized_expression "((pcVar19 < param_4) - 1)" (( "(") (binary_expression "(pcVar19 < param_4) - 1" (parenthesized_expression "(pcVar19 < param_4)" (( "(") (binary_expression "pcVar19 < param_4" (identifier "pcVar19") (< "<") (identifier "param_4")) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (} "}")))) (do_statement "do {\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      } while (pcVar6 != (char *)0x0);" (do "do") (compound_statement "{\n        pcVar31 = pcStack_61c0;\n        pcVar23 = pcVar24;\n        if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }\n        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;\n        pcVar23 = pcVar24 + -0x2000;\n        uStack_61c8 = 0;\n        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);\n        iStack_61c4 = iStack_61b4;\n        iVar7 = (*pcStack_61b0)(pcVar15);\n        if (iVar7 < 0) goto LAB_00013b8c;\n        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);\n        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;\n        uVar8 = 1;\n        pcVar24 = pcVar23;\n        pcVar31 = pcStack_61c0;\n      }" ({ "{") (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" (identifier "pcVar31") (= "=") (identifier "pcStack_61c0")) (; ";")) (expression_statement "pcVar23 = pcVar24;" (assignment_expression "pcVar23 = pcVar24" (identifier "pcVar23") (= "=") (identifier "pcVar24")) (; ";")) (if_statement "if (pcVar6 != (char *)0x0) {\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }" (if "if") (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          cVar1 = pcStack_61a8[-0x2cdf];\n          pcVar9 = param_3;\n          do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);\n        }" ({ "{") (expression_statement "cVar1 = pcStack_61a8[-0x2cdf];" (assignment_expression "cVar1 = pcStack_61a8[-0x2cdf]" (identifier "cVar1") (= "=") (subscript_expression "pcStack_61a8[-0x2cdf]" (identifier "pcStack_61a8") ([ "[") (number_literal "-0x2cdf") (] "]"))) (; ";")) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" (identifier "pcVar9") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          } while (pcVar6 != (char *)0x0);" (do "do") (compound_statement "{\n            if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }\n            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);\n            pcVar19 = pcVar19 + -1;\n            pcVar9 = param_3;\n          }" ({ "{") (if_statement "if (uVar21 == 0) {\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }\n            else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar6 = pcVar6 + -1;\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;\n            }" ({ "{") (expression_statement "pcVar6 = pcVar6 + -1;" (assignment_expression "pcVar6 = pcVar6 + -1" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + -1" (identifier "pcVar6") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0" (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "pcVar19 == (char *)0x0" (identifier "pcVar19") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (goto_statement "goto LAB_000139ec;" (goto "goto") (statement_identifier "LAB_000139ec") (; ";"))) (} "}")) (else_clause "else {\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" (else "else") (compound_statement "{\n              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);\n              param_3 = pcVar9;\n              pcVar31 = pcStack_61c0;\n              if (iVar7 == 0) break;\n              pcVar6 = (char *)(iVar7 - (int)unaff_s1);\n              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }\n            }" ({ "{") (expression_statement "iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);" (assignment_expression "iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6)" (parenthesized_expression "(**(code **)(pcVar31 + -0x7e50))" (( "(") (pointer_expression "**(code **)(pcVar31 + -0x7e50)" (* "*") (pointer_expression "*(code **)(pcVar31 + -0x7e50)" (* "*") (cast_expression "(code **)(pcVar31 + -0x7e50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar31 + -0x7e50)" (( "(") (binary_expression "pcVar31 + -0x7e50" (identifier "pcVar31") (+ "+") (number_literal "-0x7e50")) () ")"))))) () ")")) (argument_list "(unaff_s1,(int)cVar1,pcVar6)" (( "(") (identifier "unaff_s1") (, ",") (cast_expression "(int)cVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar1")) (, ",") (identifier "pcVar6") () ")")))) (; ";")) (expression_statement "param_3 = pcVar9;" (assignment_expression "param_3 = pcVar9" (identifier "param_3") (= "=") (identifier "pcVar9")) (; ";")) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" (identifier "pcVar31") (= "=") (identifier "pcStack_61c0")) (; ";")) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar6 = (char *)(iVar7 - (int)unaff_s1);" (assignment_expression "pcVar6 = (char *)(iVar7 - (int)unaff_s1)" (identifier "pcVar6") (= "=") (cast_expression "(char *)(iVar7 - (int)unaff_s1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 - (int)unaff_s1)" (( "(") (binary_expression "iVar7 - (int)unaff_s1" (identifier "iVar7") (- "-") (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1"))) () ")")))) (; ";")) (if_statement "if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0" (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "pcVar19 == (char *)0x0" (identifier "pcVar19") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\nLAB_000139ec:\n                pcStack_61a8 = pcVar6;\n                param_3 = pcStack_61a4;\n                pcVar6 = pcVar9 + -1;\n                if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }\n                FUN_00013118(unaff_s1,pcVar6);\n                pcVar24 = pcStack_61a8 + (int)pcVar24;\n                uStack_61c8 = 0;\n                iStack_61c4 = iStack_61b4;\n                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);\n                uVar8 = (*pcStack_61b0)(pcVar15);\n                uVar8 = ~uVar8 >> 0x1f;\n                param_3 = pcVar9;\n                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);\n                pcVar31 = pcStack_61c0;\n                goto LAB_00013b94;\n              }" ({ "{") (labeled_statement "LAB_000139ec:\n                pcStack_61a8 = pcVar6;" (statement_identifier "LAB_000139ec") (: ":") (expression_statement "pcStack_61a8 = pcVar6;" (assignment_expression "pcStack_61a8 = pcVar6" (identifier "pcStack_61a8") (= "=") (identifier "pcVar6")) (; ";"))) (expression_statement "param_3 = pcStack_61a4;" (assignment_expression "param_3 = pcStack_61a4" (identifier "param_3") (= "=") (identifier "pcStack_61a4")) (; ";")) (expression_statement "pcVar6 = pcVar9 + -1;" (assignment_expression "pcVar6 = pcVar9 + -1" (identifier "pcVar6") (= "=") (binary_expression "pcVar9 + -1" (identifier "pcVar9") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if ((int)pcVar28 < (int)pcVar30) {\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }\n                else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" (if "if") (parenthesized_expression "((int)pcVar28 < (int)pcVar30)" (( "(") (binary_expression "(int)pcVar28 < (int)pcVar30" (cast_expression "(int)pcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar28")) (< "<") (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30"))) () ")")) (compound_statement "{\nLAB_000139f8:\n                  iStack_61c4 = iStack_61b4;\n                  uStack_61c8 = 0;\n                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);\n                  if (iVar7 < 0) goto LAB_00013b8c;\n                  iVar7 = FUN_000131f4(pcVar15);\n                  pcVar9 = param_3;\n                  if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }\nLAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;\n                }" ({ "{") (labeled_statement "LAB_000139f8:\n                  iStack_61c4 = iStack_61b4;" (statement_identifier "LAB_000139f8") (: ":") (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" (identifier "iStack_61c4") (= "=") (identifier "iStack_61b4")) (; ";"))) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" (identifier "uStack_61c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);" (assignment_expression "iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4)" (identifier "iVar7") (= "=") (call_expression "(*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4)" (parenthesized_expression "(*pcStack_61b0)" (( "(") (pointer_expression "*pcStack_61b0" (* "*") (identifier "pcStack_61b0")) () ")")) (argument_list "(pcVar15,pcVar6,pcVar28,pcStack_61a4)" (( "(") (identifier "pcVar15") (, ",") (identifier "pcVar6") (, ",") (identifier "pcVar28") (, ",") (identifier "pcStack_61a4") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00013b8c;" (goto "goto") (statement_identifier "LAB_00013b8c") (; ";"))) (expression_statement "iVar7 = FUN_000131f4(pcVar15);" (assignment_expression "iVar7 = FUN_000131f4(pcVar15)" (identifier "iVar7") (= "=") (call_expression "FUN_000131f4(pcVar15)" (identifier "FUN_000131f4") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" (identifier "pcVar9") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (iVar7 != 0) {\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    FUN_0001373c(iVar7,iStack_61b4);\n                    uVar8 = 0;\n                    pcVar31 = pcStack_61c0;\n                    goto LAB_00013b94;\n                  }" ({ "{") (expression_statement "FUN_0001373c(iVar7,iStack_61b4);" (call_expression "FUN_0001373c(iVar7,iStack_61b4)" (identifier "FUN_0001373c") (argument_list "(iVar7,iStack_61b4)" (( "(") (identifier "iVar7") (, ",") (identifier "iStack_61b4") () ")"))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" (identifier "pcVar31") (= "=") (identifier "pcStack_61c0")) (; ";")) (goto_statement "goto LAB_00013b94;" (goto "goto") (statement_identifier "LAB_00013b94") (; ";")) (} "}"))) (labeled_statement "LAB_00013a58:\n                  pcVar6 = pcStack_61a8 + 1;" (statement_identifier "LAB_00013a58") (: ":") (expression_statement "pcVar6 = pcStack_61a8 + 1;" (assignment_expression "pcVar6 = pcStack_61a8 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcStack_61a8 + 1" (identifier "pcStack_61a8") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" (else "else") (compound_statement "{\n                  if (pcVar30 != pcVar28) goto LAB_00013a58;\n                  pcVar6 = pcStack_61a8 + 1;\n                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;\n                }" ({ "{") (if_statement "if (pcVar30 != pcVar28) goto LAB_00013a58;" (if "if") (parenthesized_expression "(pcVar30 != pcVar28)" (( "(") (binary_expression "pcVar30 != pcVar28" (identifier "pcVar30") (!= "!=") (identifier "pcVar28")) () ")")) (goto_statement "goto LAB_00013a58;" (goto "goto") (statement_identifier "LAB_00013a58") (; ";"))) (expression_statement "pcVar6 = pcStack_61a8 + 1;" (assignment_expression "pcVar6 = pcStack_61a8 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcStack_61a8 + 1" (identifier "pcStack_61a8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcStack_61a4 < pcVar24) goto LAB_000139f8;" (if "if") (parenthesized_expression "(pcStack_61a4 < pcVar24)" (( "(") (binary_expression "pcStack_61a4 < pcVar24" (identifier "pcStack_61a4") (< "<") (identifier "pcVar24")) () ")")) (goto_statement "goto LAB_000139f8;" (goto "goto") (statement_identifier "LAB_000139f8") (; ";"))) (} "}")))) (expression_statement "FUN_00013118(unaff_s1,pcVar6);" (call_expression "FUN_00013118(unaff_s1,pcVar6)" (identifier "FUN_00013118") (argument_list "(unaff_s1,pcVar6)" (( "(") (identifier "unaff_s1") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "pcVar24 = pcStack_61a8 + (int)pcVar24;" (assignment_expression "pcVar24 = pcStack_61a8 + (int)pcVar24" (identifier "pcVar24") (= "=") (binary_expression "pcStack_61a8 + (int)pcVar24" (identifier "pcStack_61a8") (+ "+") (cast_expression "(int)pcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar24")))) (; ";")) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" (identifier "uStack_61c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" (identifier "iStack_61c4") (= "=") (identifier "iStack_61b4")) (; ";")) (expression_statement "pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);" (assignment_expression "pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8)" (identifier "pcVar30") (= "=") (binary_expression "pcVar30 + (pcVar24 < pcStack_61a8)" (identifier "pcVar30") (+ "+") (parenthesized_expression "(pcVar24 < pcStack_61a8)" (( "(") (binary_expression "pcVar24 < pcStack_61a8" (identifier "pcVar24") (< "<") (identifier "pcStack_61a8")) () ")")))) (; ";")) (expression_statement "uVar8 = (*pcStack_61b0)(pcVar15);" (assignment_expression "uVar8 = (*pcStack_61b0)(pcVar15)" (identifier "uVar8") (= "=") (call_expression "(*pcStack_61b0)(pcVar15)" (parenthesized_expression "(*pcStack_61b0)" (( "(") (pointer_expression "*pcStack_61b0" (* "*") (identifier "pcStack_61b0")) () ")")) (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "uVar8 = ~uVar8 >> 0x1f;" (assignment_expression "uVar8 = ~uVar8 >> 0x1f" (identifier "uVar8") (= "=") (binary_expression "~uVar8 >> 0x1f" (unary_expression "~uVar8" (~ "~") (identifier "uVar8")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "param_3 = pcVar9;" (assignment_expression "param_3 = pcVar9" (identifier "param_3") (= "=") (identifier "pcVar9")) (; ";")) (expression_statement "pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);" (assignment_expression "pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24)" (identifier "pcVar23") (= "=") (cast_expression "(char *)(uint)(pcVar24 + 1 < pcVar24)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(pcVar24 + 1 < pcVar24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar24 + 1 < pcVar24)" (( "(") (binary_expression "pcVar24 + 1 < pcVar24" (binary_expression "pcVar24 + 1" (identifier "pcVar24") (+ "+") (number_literal "1")) (< "<") (identifier "pcVar24")) () ")"))))) (; ";")) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" (identifier "pcVar31") (= "=") (identifier "pcStack_61c0")) (; ";")) (goto_statement "goto LAB_00013b94;" (goto "goto") (statement_identifier "LAB_00013b94") (; ";")) (} "}"))) (} "}")))) (expression_statement "param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);" (assignment_expression "param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1)" (identifier "param_3") (= "=") (binary_expression "pcVar9 + ((pcVar19 + -1 < pcVar19) - 1)" (identifier "pcVar9") (+ "+") (parenthesized_expression "((pcVar19 + -1 < pcVar19) - 1)" (( "(") (binary_expression "(pcVar19 + -1 < pcVar19) - 1" (parenthesized_expression "(pcVar19 + -1 < pcVar19)" (( "(") (binary_expression "pcVar19 + -1 < pcVar19" (binary_expression "pcVar19 + -1" (identifier "pcVar19") (+ "+") (number_literal "-1")) (< "<") (identifier "pcVar19")) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar19 = pcVar19 + -1;" (assignment_expression "pcVar19 = pcVar19 + -1" (identifier "pcVar19") (= "=") (binary_expression "pcVar19 + -1" (identifier "pcVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pcVar9 = param_3;" (assignment_expression "pcVar9 = param_3" (identifier "pcVar9") (= "=") (identifier "param_3")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;" (if "if") (parenthesized_expression "((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4))" (( "(") (binary_expression "(pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)" (parenthesized_expression "(pcVar30 == pcVar28)" (( "(") (binary_expression "pcVar30 == pcVar28" (identifier "pcVar30") (== "==") (identifier "pcVar28")) () ")")) (&& "&&") (parenthesized_expression "(uVar8 = 1, pcVar24 == pcStack_61a4)" (( "(") (comma_expression "uVar8 = 1, pcVar24 == pcStack_61a4" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (, ",") (binary_expression "pcVar24 == pcStack_61a4" (identifier "pcVar24") (== "==") (identifier "pcStack_61a4"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar23 = pcVar24 + -0x2000;" (assignment_expression "pcVar23 = pcVar24 + -0x2000" (identifier "pcVar23") (= "=") (binary_expression "pcVar24 + -0x2000" (identifier "pcVar24") (+ "+") (number_literal "-0x2000"))) (; ";")) (expression_statement "uStack_61c8 = 0;" (assignment_expression "uStack_61c8 = 0" (identifier "uStack_61c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);" (assignment_expression "pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1)" (identifier "pcVar30") (= "=") (binary_expression "pcVar30 + ((pcVar23 < pcVar24) - 1)" (identifier "pcVar30") (+ "+") (parenthesized_expression "((pcVar23 < pcVar24) - 1)" (( "(") (binary_expression "(pcVar23 < pcVar24) - 1" (parenthesized_expression "(pcVar23 < pcVar24)" (( "(") (binary_expression "pcVar23 < pcVar24" (identifier "pcVar23") (< "<") (identifier "pcVar24")) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iStack_61c4 = iStack_61b4;" (assignment_expression "iStack_61c4 = iStack_61b4" (identifier "iStack_61c4") (= "=") (identifier "iStack_61b4")) (; ";")) (expression_statement "iVar7 = (*pcStack_61b0)(pcVar15);" (assignment_expression "iVar7 = (*pcStack_61b0)(pcVar15)" (identifier "iVar7") (= "=") (call_expression "(*pcStack_61b0)(pcVar15)" (parenthesized_expression "(*pcStack_61b0)" (( "(") (pointer_expression "*pcStack_61b0" (* "*") (identifier "pcStack_61b0")) () ")")) (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) goto LAB_00013b8c;" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00013b8c;" (goto "goto") (statement_identifier "LAB_00013b8c") (; ";"))) (expression_statement "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);" (assignment_expression "pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000)" (identifier "pcVar6") (= "=") (cast_expression "(char *)safe_read(pcVar15,unaff_s1,0x2000)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safe_read(pcVar15,unaff_s1,0x2000)" (identifier "safe_read") (argument_list "(pcVar15,unaff_s1,0x2000)" (( "(") (identifier "pcVar15") (, ",") (identifier "unaff_s1") (, ",") (number_literal "0x2000") () ")"))))) (; ";")) (if_statement "if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;" (if "if") (parenthesized_expression "(pcVar6 == (char *)0xffffffff)" (( "(") (binary_expression "pcVar6 == (char *)0xffffffff" (identifier "pcVar6") (== "==") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_00013b28;" (goto "goto") (statement_identifier "LAB_00013b28") (; ";"))) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar24 = pcVar23;" (assignment_expression "pcVar24 = pcVar23" (identifier "pcVar24") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" (identifier "pcVar31") (= "=") (identifier "pcStack_61c0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (goto_statement "goto LAB_00013b94;" (goto "goto") (statement_identifier "LAB_00013b94") (; ";")) (} "}"))) (labeled_statement "LAB_00013b28:\n    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();" (statement_identifier "LAB_00013b28") (: ":") (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))()" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_61c0 + -0x7e6c))()" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e6c))" (( "(") (pointer_expression "**(code **)(pcStack_61c0 + -0x7e6c)" (* "*") (pointer_expression "*(code **)(pcStack_61c0 + -0x7e6c)" (* "*") (cast_expression "(code **)(pcStack_61c0 + -0x7e6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7e6c)" (( "(") (binary_expression "pcStack_61c0 + -0x7e6c" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7e6c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "param_3 = (char *)*puVar11;" (assignment_expression "param_3 = (char *)*puVar11" (identifier "param_3") (= "=") (cast_expression "(char *)*puVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (expression_statement "unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);" (assignment_expression "unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" (identifier "unaff_s1") (= "=") (cast_expression "(char *)(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_61c0 + -0x7e08))\n                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e08))" (( "(") (pointer_expression "**(code **)(pcStack_61c0 + -0x7e08)" (* "*") (pointer_expression "*(code **)(pcStack_61c0 + -0x7e08)" (* "*") (cast_expression "(code **)(pcStack_61c0 + -0x7e08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7e08)" (( "(") (binary_expression "pcStack_61c0 + -0x7e08" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7e08")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50" (pointer_expression "*(int *)(pcStack_61c0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_61c0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7fc8)" (( "(") (binary_expression "pcStack_61c0 + -0x7fc8" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x4f50")) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "uVar29 = quotearg_style(4,iStack_61b4);" (assignment_expression "uVar29 = quotearg_style(4,iStack_61b4)" (identifier "uVar29") (= "=") (call_expression "quotearg_style(4,iStack_61b4)" (identifier "quotearg_style") (argument_list "(4,iStack_61b4)" (( "(") (number_literal "4") (, ",") (identifier "iStack_61b4") () ")")))) (; ";")) (expression_statement "(**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);" (call_expression "(**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29)" (parenthesized_expression "(**(code **)(pcStack_61c0 + -0x7e30))" (( "(") (pointer_expression "**(code **)(pcStack_61c0 + -0x7e30)" (* "*") (pointer_expression "*(code **)(pcStack_61c0 + -0x7e30)" (* "*") (cast_expression "(code **)(pcStack_61c0 + -0x7e30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_61c0 + -0x7e30)" (( "(") (binary_expression "pcStack_61c0 + -0x7e30" (identifier "pcStack_61c0") (+ "+") (number_literal "-0x7e30")) () ")"))))) () ")")) (argument_list "(0,param_3,unaff_s1,uVar29)" (( "(") (number_literal "0") (, ",") (identifier "param_3") (, ",") (identifier "unaff_s1") (, ",") (identifier "uVar29") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00013b8c:\n  uVar8 = 0;" (statement_identifier "LAB_00013b8c") (: ":") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";"))) (expression_statement "pcVar31 = pcStack_61c0;" (assignment_expression "pcVar31 = pcStack_61c0" (identifier "pcVar31") (= "=") (identifier "pcStack_61c0")) (; ";")) (labeled_statement "LAB_00013b94:\n  if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }" (statement_identifier "LAB_00013b94") (: ":") (if_statement "if (iStack_419c == *piStack_61ac) {\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(iStack_419c == *piStack_61ac)" (( "(") (binary_expression "iStack_419c == *piStack_61ac" (identifier "iStack_419c") (== "==") (pointer_expression "*piStack_61ac" (* "*") (identifier "piStack_61ac"))) () ")")) (compound_statement "{\n    return uVar8;\n  }" ({ "{") (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))) (expression_statement "pcVar28 = *(code **)(pcVar31 + -0x7e0c);" (assignment_expression "pcVar28 = *(code **)(pcVar31 + -0x7e0c)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar31 + -0x7e0c)" (* "*") (cast_expression "(code **)(pcVar31 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar31 + -0x7e0c)" (( "(") (binary_expression "pcVar31 + -0x7e0c" (identifier "pcVar31") (+ "+") (number_literal "-0x7e0c")) () ")"))))) (; ";")) (expression_statement "pcVar32 = usage;" (assignment_expression "pcVar32 = usage" (identifier "pcVar32") (= "=") (identifier "usage")) (; ";")) (expression_statement "iVar7 = iStack_419c;" (assignment_expression "iVar7 = iStack_419c" (identifier "iVar7") (= "=") (identifier "iStack_419c")) (; ";")) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);" (assignment_expression "uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674)" (identifier "uStack_61f4") (= "=") (pointer_expression "**(undefined4 **)(pcVar28 + 0x19674)" (* "*") (pointer_expression "*(undefined4 **)(pcVar28 + 0x19674)" (* "*") (cast_expression "(undefined4 **)(pcVar28 + 0x19674)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19674)" (( "(") (binary_expression "pcVar28 + 0x19674" (identifier "pcVar28") (+ "+") (number_literal "0x19674")) () ")")))))) (; ";")) (expression_statement "pcVar31 = *(code **)(pcVar28 + 0x19660);" (assignment_expression "pcVar31 = *(code **)(pcVar28 + 0x19660)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) (; ";")) (expression_statement "pcStack_61f0 = param_3;" (assignment_expression "pcStack_61f0 = param_3" (identifier "pcStack_61f0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pcStack_61ec = unaff_s1;" (assignment_expression "pcStack_61ec = unaff_s1" (identifier "pcStack_61ec") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "uStack_61e8 = uVar21;" (assignment_expression "uStack_61e8 = uVar21" (identifier "uStack_61e8") (= "=") (identifier "uVar21")) (; ";")) (expression_statement "pcStack_61e4 = pcVar23;" (assignment_expression "pcStack_61e4 = pcVar23" (identifier "pcStack_61e4") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "pcStack_61e0 = pcVar30;" (assignment_expression "pcStack_61e0 = pcVar30" (identifier "pcStack_61e0") (= "=") (identifier "pcVar30")) (; ";")) (expression_statement "pcStack_61dc = pcVar32;" (assignment_expression "pcStack_61dc = pcVar32" (identifier "pcStack_61dc") (= "=") (identifier "pcVar32")) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00013cf8;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00013cf8;" (goto "goto") (statement_identifier "LAB_00013cf8") (; ";"))) (expression_statement "uVar12 = **(undefined4 **)(pcVar28 + 0x19684);" (assignment_expression "uVar12 = **(undefined4 **)(pcVar28 + 0x19684)" (identifier "uVar12") (= "=") (pointer_expression "**(undefined4 **)(pcVar28 + 0x19684)" (* "*") (pointer_expression "*(undefined4 **)(pcVar28 + 0x19684)" (* "*") (cast_expression "(undefined4 **)(pcVar28 + 0x19684)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19684)" (( "(") (binary_expression "pcVar28 + 0x19684" (identifier "pcVar28") (+ "+") (number_literal "0x19684")) () ")")))))) (; ";")) (expression_statement "uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);" (assignment_expression "uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" (identifier "uVar29") (= "=") (call_expression "(*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4f14")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));" (call_expression "(**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar28 + 0x195c4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195c4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195c4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195c4)" (( "(") (binary_expression "pcVar28 + 0x195c4" (identifier "pcVar28") (+ "+") (number_literal "0x195c4")) () ")"))))) () ")")) (argument_list "(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (( "(") (identifier "uVar12") (, ",") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (pointer_expression "**(undefined4 **)(pcVar28 + 0x194b8)" (* "*") (pointer_expression "*(undefined4 **)(pcVar28 + 0x194b8)" (* "*") (cast_expression "(undefined4 **)(pcVar28 + 0x194b8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x194b8)" (( "(") (binary_expression "pcVar28 + 0x194b8" (identifier "pcVar28") (+ "+") (number_literal "0x194b8")) () ")"))))) () ")"))) (; ";")) (do_statement "do {\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  } while( true );" (do "do") (compound_statement "{\n    pcVar31 = *(code **)(pcVar28 + 0x19620);\n    (*pcVar31)(iVar7);\nLAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);\n    uVar29 = (*pcVar31)();\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);\n    piVar27 = aiStack_622c;\n    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);\n    iVar22 = *(int *)(pcVar28 + 0x19490);\n    piVar10 = (int *)(iVar22 + -0x2ff0);\n    piVar4 = piVar27;\n    do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));\n    iVar22 = piVar13[5];\n    iVar17 = *(int *)(pcVar28 + 0x194a0);\n    piVar16[4] = *piVar10;\n    piVar16[5] = iVar22;\n    iVar22 = aiStack_622c[0];\n    while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }\n    iVar22 = *(int *)(pcVar28 + 0x194a0);\nLAB_00013f44:\n    iVar18 = piVar27[1];\n    iVar25 = *(int *)(pcVar28 + 0x194a0);\n    if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }\n    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);\n  }" ({ "{") (expression_statement "pcVar31 = *(code **)(pcVar28 + 0x19620);" (assignment_expression "pcVar31 = *(code **)(pcVar28 + 0x19620)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x19620)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19620)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19620)" (( "(") (binary_expression "pcVar28 + 0x19620" (identifier "pcVar28") (+ "+") (number_literal "0x19620")) () ")"))))) (; ";")) (expression_statement "(*pcVar31)(iVar7);" (call_expression "(*pcVar31)(iVar7)" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";")) (labeled_statement "LAB_00013cf8:\n    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);" (statement_identifier "LAB_00013cf8") (: ":") (expression_statement "puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar28 + 0x195f4)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)(pcVar28 + 0x195f4)" (* "*") (cast_expression "(undefined4 **)(pcVar28 + 0x195f4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f4)" (( "(") (binary_expression "pcVar28 + 0x195f4" (identifier "pcVar28") (+ "+") (number_literal "0x195f4")) () ")"))))) (; ";"))) (expression_statement "uVar29 = (*pcVar31)();" (assignment_expression "uVar29 = (*pcVar31)()" (identifier "uVar29") (= "=") (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8))" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (pointer_expression "**(undefined4 **)(pcVar28 + 0x194b8)" (* "*") (pointer_expression "*(undefined4 **)(pcVar28 + 0x194b8)" (* "*") (cast_expression "(undefined4 **)(pcVar28 + 0x194b8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x194b8)" (( "(") (binary_expression "pcVar28 + 0x194b8" (identifier "pcVar28") (+ "+") (number_literal "0x194b8")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4ec8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4ec8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,10)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (number_literal "10") () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4e40" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4e40")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4e08" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4e08")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4dbc" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4dbc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,10)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (number_literal "10") () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4c2c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4c2c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4ba8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4ba8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b68" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4b68")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b38" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4b38")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4b00" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4b00")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar27 = aiStack_622c;" (assignment_expression "piVar27 = aiStack_622c" (identifier "piVar27") (= "=") (identifier "aiStack_622c")) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);" (call_expression "(**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1969c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1969c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1969c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1969c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1969c)" (( "(") (binary_expression "pcVar28 + 0x1969c" (identifier "pcVar28") (+ "+") (number_literal "0x1969c")) () ")"))))) () ")")) (argument_list "(uVar29,*puVar11)" (( "(") (identifier "uVar29") (, ",") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x19490);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x19490)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(pcVar28 + 0x19490)" (* "*") (cast_expression "(int *)(pcVar28 + 0x19490)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x19490)" (( "(") (binary_expression "pcVar28 + 0x19490" (identifier "pcVar28") (+ "+") (number_literal "0x19490")) () ")"))))) (; ";")) (expression_statement "piVar10 = (int *)(iVar22 + -0x2ff0);" (assignment_expression "piVar10 = (int *)(iVar22 + -0x2ff0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(iVar22 + -0x2ff0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x2ff0)" (( "(") (binary_expression "iVar22 + -0x2ff0" (identifier "iVar22") (+ "+") (number_literal "-0x2ff0")) () ")")))) (; ";")) (expression_statement "piVar4 = piVar27;" (assignment_expression "piVar4 = piVar27" (identifier "piVar4") (= "=") (identifier "piVar27")) (; ";")) (do_statement "do {\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    } while (piVar10 != (int *)(iVar22 + -0x2fc0));" (do "do") (compound_statement "{\n      piVar16 = piVar4;\n      piVar13 = piVar10;\n      piVar10 = piVar13 + 4;\n      *piVar16 = *piVar13;\n      iVar18 = piVar13[2];\n      iVar17 = piVar13[3];\n      piVar16[1] = piVar13[1];\n      piVar16[2] = iVar18;\n      piVar16[3] = iVar17;\n      piVar4 = piVar16 + 4;\n    }" ({ "{") (expression_statement "piVar16 = piVar4;" (assignment_expression "piVar16 = piVar4" (identifier "piVar16") (= "=") (identifier "piVar4")) (; ";")) (expression_statement "piVar13 = piVar10;" (assignment_expression "piVar13 = piVar10" (identifier "piVar13") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "piVar10 = piVar13 + 4;" (assignment_expression "piVar10 = piVar13 + 4" (identifier "piVar10") (= "=") (binary_expression "piVar13 + 4" (identifier "piVar13") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar16 = *piVar13;" (assignment_expression "*piVar16 = *piVar13" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "iVar18 = piVar13[2];" (assignment_expression "iVar18 = piVar13[2]" (identifier "iVar18") (= "=") (subscript_expression "piVar13[2]" (identifier "piVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar17 = piVar13[3];" (assignment_expression "iVar17 = piVar13[3]" (identifier "iVar17") (= "=") (subscript_expression "piVar13[3]" (identifier "piVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar16[1] = piVar13[1];" (assignment_expression "piVar16[1] = piVar13[1]" (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "piVar13[1]" (identifier "piVar13") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar16[2] = iVar18;" (assignment_expression "piVar16[2] = iVar18" (subscript_expression "piVar16[2]" (identifier "piVar16") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar18")) (; ";")) (expression_statement "piVar16[3] = iVar17;" (assignment_expression "piVar16[3] = iVar17" (subscript_expression "piVar16[3]" (identifier "piVar16") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "piVar4 = piVar16 + 4;" (assignment_expression "piVar4 = piVar16 + 4" (identifier "piVar4") (= "=") (binary_expression "piVar16 + 4" (identifier "piVar16") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != (int *)(iVar22 + -0x2fc0))" (( "(") (binary_expression "piVar10 != (int *)(iVar22 + -0x2fc0)" (identifier "piVar10") (!= "!=") (cast_expression "(int *)(iVar22 + -0x2fc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x2fc0)" (( "(") (binary_expression "iVar22 + -0x2fc0" (identifier "iVar22") (+ "+") (number_literal "-0x2fc0")) () ")")))) () ")")) (; ";")) (expression_statement "iVar22 = piVar13[5];" (assignment_expression "iVar22 = piVar13[5]" (identifier "iVar22") (= "=") (subscript_expression "piVar13[5]" (identifier "piVar13") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "iVar17 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar17 = *(int *)(pcVar28 + 0x194a0)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")"))))) (; ";")) (expression_statement "piVar16[4] = *piVar10;" (assignment_expression "piVar16[4] = *piVar10" (subscript_expression "piVar16[4]" (identifier "piVar16") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) (; ";")) (expression_statement "piVar16[5] = iVar22;" (assignment_expression "piVar16[5] = iVar22" (subscript_expression "piVar16[5]" (identifier "piVar16") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar22")) (; ";")) (expression_statement "iVar22 = aiStack_622c[0];" (assignment_expression "iVar22 = aiStack_622c[0]" (identifier "iVar22") (= "=") (subscript_expression "aiStack_622c[0]" (identifier "aiStack_622c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (while_statement "while (iVar22 != 0) {\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }" (while "while") (parenthesized_expression "(iVar22 != 0)" (( "(") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }\n      piVar27 = piVar27 + 2;\n      iVar22 = *piVar27;\n    }" ({ "{") (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c)" (identifier "iVar22") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19698))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19698)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19698)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19698)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19698)" (( "(") (binary_expression "pcVar28 + 0x19698" (identifier "pcVar28") (+ "+") (number_literal "0x19698")) () ")"))))) () ")")) (argument_list "(iVar17 + -0x4f1c)" (( "(") (binary_expression "iVar17 + -0x4f1c" (identifier "iVar17") (+ "+") (number_literal "-0x4f1c")) () ")")))) (; ";")) (if_statement "if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }" (if "if") (parenthesized_expression "(iVar22 == 0)" (( "(") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0);\n        goto LAB_00013f44;\n      }" ({ "{") (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")"))))) (; ";")) (goto_statement "goto LAB_00013f44;" (goto "goto") (statement_identifier "LAB_00013f44") (; ";")) (} "}"))) (expression_statement "piVar27 = piVar27 + 2;" (assignment_expression "piVar27 = piVar27 + 2" (identifier "piVar27") (= "=") (binary_expression "piVar27 + 2" (identifier "piVar27") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar22 = *piVar27;" (assignment_expression "iVar22 = *piVar27" (identifier "iVar22") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (} "}"))) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")"))))) (; ";")) (labeled_statement "LAB_00013f44:\n    iVar18 = piVar27[1];" (statement_identifier "LAB_00013f44") (: ":") (expression_statement "iVar18 = piVar27[1];" (assignment_expression "iVar18 = piVar27[1]" (identifier "iVar18") (= "=") (subscript_expression "piVar27[1]" (identifier "piVar27") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "iVar25 = *(int *)(pcVar28 + 0x194a0);" (assignment_expression "iVar25 = *(int *)(pcVar28 + 0x194a0)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")"))))) (; ";")) (if_statement "if (iVar18 == 0) {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }\n    else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }\n      iVar18 = iVar17 + -0x4f1c;\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n    }" ({ "{") (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,iVar22 + -0x4a64,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar22 + -0x4a64" (identifier "iVar22") (+ "+") (number_literal "-0x4a64")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4a24")) (, ",") (binary_expression "iVar25 + -0x4a4c" (identifier "iVar25") (+ "+") (number_literal "-0x4a4c")) () ")"))) (; ";")) (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0)" (identifier "iVar22") (= "=") (call_expression "(**(code **)(pcVar28 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195e0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195e0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195e0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195e0)" (( "(") (binary_expression "pcVar28 + 0x195e0" (identifier "pcVar28") (+ "+") (number_literal "0x195e0")) () ")"))))) () ")")) (argument_list "(5,0)" (( "(") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)) {\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" (if "if") (parenthesized_expression "((iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0))" (( "(") (binary_expression "(iVar22 != 0) &&\n         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)" (parenthesized_expression "(iVar22 != 0)" (( "(") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0)" (( "(") (comma_expression "iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),\n         iVar22 != 0" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (identifier "iVar22") (= "=") (call_expression "(**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195b8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195b8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195b8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195b8)" (( "(") (binary_expression "pcVar28 + 0x195b8" (identifier "pcVar28") (+ "+") (number_literal "0x195b8")) () ")"))))) () ")")) (argument_list "(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (( "(") (identifier "iVar22") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4a14")) (, ",") (number_literal "3") () ")")))) (, ",") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        iVar18 = iVar17 + -0x4f1c;\n        iVar22 = iVar18;\nLAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);\n        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);\n        goto LAB_00013fcc;\n      }" ({ "{") (expression_statement "iVar18 = iVar17 + -0x4f1c;" (assignment_expression "iVar18 = iVar17 + -0x4f1c" (identifier "iVar18") (= "=") (binary_expression "iVar17 + -0x4f1c" (identifier "iVar17") (+ "+") (number_literal "-0x4f1c"))) (; ";")) (expression_statement "iVar22 = iVar18;" (assignment_expression "iVar22 = iVar18" (identifier "iVar22") (= "=") (identifier "iVar18")) (; ";")) (labeled_statement "LAB_00014148:\n        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);" (statement_identifier "LAB_00014148") (: ":") (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a10" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4a10")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,iVar17 + -0x4f1c)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (binary_expression "iVar17 + -0x4f1c" (identifier "iVar17") (+ "+") (number_literal "-0x4f1c")) () ")"))) (; ";")) (goto_statement "goto LAB_00013fcc;" (goto "goto") (statement_identifier "LAB_00013fcc") (; ";")) (} "}"))) (expression_statement "iVar18 = iVar17 + -0x4f1c;" (assignment_expression "iVar18 = iVar17 + -0x4f1c" (identifier "iVar18") (= "=") (binary_expression "iVar17 + -0x4f1c" (identifier "iVar17") (+ "+") (number_literal "-0x4f1c"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x49c8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,iVar25 + -0x4a4c,iVar18)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (binary_expression "iVar25 + -0x4a4c" (identifier "iVar25") (+ "+") (number_literal "-0x4a4c")) (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x49a8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c" (identifier "iVar22") (= "=") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x496c"))) (; ";")) (} "}")) (else_clause "else {\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" (else "else") (compound_statement "{\n      uVar29 = (**(code **)(pcVar28 + 0x19660))();\n      (**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);\n      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);\n      if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }\nLAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);\n      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);\n      if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }\n    }" ({ "{") (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))();" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))()" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))\n                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a24" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4a24")) (, ",") (binary_expression "iVar25 + -0x4a4c" (identifier "iVar25") (+ "+") (number_literal "-0x4a4c")) () ")"))) (; ";")) (expression_statement "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);" (assignment_expression "iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0)" (identifier "iVar22") (= "=") (call_expression "(**(code **)(pcVar28 + 0x195e0))(5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195e0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195e0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195e0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195e0)" (( "(") (binary_expression "pcVar28 + 0x195e0" (identifier "pcVar28") (+ "+") (number_literal "0x195e0")) () ")"))))) () ")")) (argument_list "(5,0)" (( "(") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar22 == 0) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }\n      else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" (if "if") (parenthesized_expression "(iVar22 == 0)" (( "(") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n      }" ({ "{") (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c" (identifier "iVar22") (= "=") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4f1c"))) (; ";")) (} "}")) (else_clause "else {\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" (else "else") (compound_statement "{\n        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;\n        if (iVar14 != 0) goto LAB_00014148;\n      }" ({ "{") (expression_statement "iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);" (assignment_expression "iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195b8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195b8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195b8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195b8)" (( "(") (binary_expression "pcVar28 + 0x195b8" (identifier "pcVar28") (+ "+") (number_literal "0x195b8")) () ")"))))) () ")")) (argument_list "(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3)" (( "(") (identifier "iVar22") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4a14" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4a14")) (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c" (identifier "iVar22") (= "=") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x4f1c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x4f1c"))) (; ";")) (if_statement "if (iVar14 != 0) goto LAB_00014148;" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014148;" (goto "goto") (statement_identifier "LAB_00014148") (; ";"))) (} "}")))) (labeled_statement "LAB_00013fcc:\n      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (statement_identifier "LAB_00013fcc") (: ":") (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49c8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x49c8")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (binary_expression "iVar25 + -0x4a4c" (identifier "iVar25") (+ "+") (number_literal "-0x4a4c")) (, ",") (binary_expression "iVar17 + -0x4f1c" (identifier "iVar17") (+ "+") (number_literal "-0x4f1c")) () ")"))) (; ";")) (expression_statement "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);" (assignment_expression "uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x19660))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x19660)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x19660)" (* "*") (cast_expression "(code **)(pcVar28 + 0x19660)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x19660)" (( "(") (binary_expression "pcVar28 + 0x19660" (identifier "pcVar28") (+ "+") (number_literal "0x19660")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x49a8" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x49a8")) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar18 == iVar22) {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }\n      else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" (if "if") (parenthesized_expression "(iVar18 == iVar22)" (( "(") (binary_expression "iVar18 == iVar22" (identifier "iVar18") (== "==") (identifier "iVar22")) () ")")) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;\n      }" ({ "{") (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c" (identifier "iVar22") (= "=") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x496c" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x496c"))) (; ";")) (} "}")) (else_clause "else {\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" (else "else") (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;\n      }" ({ "{") (expression_statement "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858" (identifier "iVar22") (= "=") (binary_expression "*(int *)(pcVar28 + 0x194a0) + -0x3858" (pointer_expression "*(int *)(pcVar28 + 0x194a0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x194a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x194a0)" (( "(") (binary_expression "pcVar28 + 0x194a0" (identifier "pcVar28") (+ "+") (number_literal "0x194a0")) () ")")))) (+ "+") (number_literal "-0x3858"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);" (call_expression "(**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22)" (parenthesized_expression "(**(code **)(pcVar28 + 0x195f0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x195f0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x195f0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x195f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x195f0)" (( "(") (binary_expression "pcVar28 + 0x195f0" (identifier "pcVar28") (+ "+") (number_literal "0x195f0")) () ")"))))) () ")")) (argument_list "(1,uVar29,iVar18,iVar22)" (( "(") (number_literal "1") (, ",") (identifier "uVar29") (, ",") (identifier "iVar18") (, ",") (identifier "iVar22") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */

type_1 function_1(char *filename,int fd,type_2 lines_to_write)

{
  char cVar1;
  type_3 *var_4;
  type_3 *puVar3;
  int *piVar4;
  type_4 *psVar5;
  type_5 extraout_var;
  type_4 *var_5;
  int var_9;
  type_1 _Var16;
  type_4 *var_20;
  type_6 *puVar9;
  type_6 uVar10;
  type_7 uVar17;
  type_8 var_29;
  size_t var_33;
  int var_10;
  type_9 var_39;
  int *var_43;
  int var_50;
  char *var_17;
  int *var_44;
  int var_46;
  type_4 *var_6;
  int *var_45;
  int var_48;
  type_4 *var_1;
  type_4 *var_35;
  type_4 *var_2;
  type_4 *var_34;
  type_4 *var_14;
  type_4 *var_7;
  type_6 uVar26;
  type_4 *unaff_s2;
  size_t var_30;
  type_4 *unaff_s3;
  type_7 *puVar27;
  type_4 *var_19;
  int var_49;
  type_4 *unaff_s4;
  type_10 *var_36;
  type_3 *unaff_s5;
  type_3 *var_18;
  int *var_47;
  type_4 *unaff_s7;
  type_10 *pcVar32;
  type_4 *var_8;
  type_10 *var_23;
  type_10 *var_26;
  type_10 *pcVar35;
  type_11 var_32;
  int aiStackY_622c [14];
  type_6 uStackY_61f4;
  type_4 *psStackY_61f0;
  type_4 *psStackY_61ec;
  size_t sStackY_61e8;
  type_4 *psStackY_61e4;
  type_10 *pcStackY_61e0;
  type_10 *pcStackY_61dc;
  char *pcVar37;
  char acStack_619d [8193];
  int var_42;
  type_4 *psStack_4198;
  type_4 *psStack_4194;
  type_4 *psStack_4190;
  type_7 *puStack_418c;
  type_4 *psStack_4188;
  type_3 *puStack_4184;
  int *piStack_4180;
  type_4 *psStack_417c;
  type_4 *psStack_4178;
  type_10 *pcStack_4174;
  type_10 *var_24;
  type_4 *var_37;
  int var_27;
  type_4 *var_28;
  type_4 *psStack_4150;
  type_10 *pcStack_414c;
  type_3 *var_21;
  char *pcStack_412c;
  type_4 asStack_4124 [51];
  char *var_22;
  type_4 *psStack_2120;
  type_4 *psStack_211c;
  type_4 *psStack_2118;
  type_4 *psStack_2114;
  type_4 *psStack_2110;
  type_3 *puStack_210c;
  type_3 *puStack_2108;
  type_4 *psStack_2104;
  type_4 *psStack_2100;
  type_10 *pcStack_20fc;
  type_4 st;
  char buffer [8192];
  
  puVar3 = PTR___stack_chk_guard_0002d2dc;
  var_4 = PTR_0002d104;
  var_18 = PTR_DAT_0002d0f8;
  var_17 = *(char **)PTR___stack_chk_guard_0002d2dc;
  var_6 = (type_4 *)fd;
  psStack_2110 = unaff_s4;
  if (var_1 == (type_4 *)0x0 && var_2 == (type_4 *)0x0) {
LAB_00013598:
    _Var16 = true;
  }
  else {
    unaff_s7 = (type_4 *)buffer;
    var_35 = (type_4 *)0x2000;
    unaff_s3 = (type_4 *)0xffffffff;
    var_6 = unaff_s7;
    var_34 = var_2;
    var_5 = (type_4 *)var_3(fd,unaff_s7,0x2000);
    unaff_s5 = var_4 + 0x3118;
    var_8 = var_1;
    var_7 = var_2;
    while (var_2 = var_34, var_1 = var_35, unaff_s2 = (type_4 *)fd, psStack_2110 = (type_4 *)var_18,
          var_5 != (type_4 *)0xffffffff) {
      if (var_5 == (type_4 *)0x0) goto LAB_00013598;
      var_14 = (type_4 *)0x0;
      do {
        var_14 = (type_4 *)((int)&var_14->st_dev + 1);
        var_6 = (type_4 *)((int)var_7[-1].st_pad5 + 0x37);
        if (((&stack0xffffdfd3)[(int)var_14] == var_18[-0x2cdf]) &&
           (var_8 = (type_4 *)((int)var_8->st_pad1 + ((var_6 < var_7) - 5)),
           var_7 = var_6, var_8 == (type_4 *)0x0 && var_6 == (type_4 *)0x0)) {
          var_7 = (type_4 *)((int)var_14 - (int)var_5);
          unaff_s3 = (type_4 *)-(type_8)(var_7 != (type_4 *)0x0);
          var_1 = unaff_s3;
          var_2 = var_7;
          var_9 = (*(type_10 *)PTR_lseek64_0002d2a8)(fd);
          if (var_9 < 0) {
            var_1 = &st;
            var_9 = fd;
            var_10 = (*(type_10 *)PTR___fxstat64_0002d2b4)(3);
            if ((var_10 != 0) || ((st.st_mode & 0xf000) == 0x8000)) {
              var_1 = unaff_s3;
              var_2 = var_7;
              var_11(fd,var_12(1,filename),var_9,(char *)unaff_s3);
            }
          }
          var_6 = var_14;
          var_13((char *)unaff_s7,(size_t)var_14);
          _Var16 = true;
          goto LAB_00013464;
        }
      } while (var_5 != var_14);
      var_13((char *)unaff_s7,(size_t)var_5);
      var_35 = (type_4 *)0x2000;
      var_6 = unaff_s7;
      var_5 = (type_4 *)var_3(fd,unaff_s7,0x2000);
      var_34 = var_2;
    }
    puVar9 = (type_6 *)(*(type_10 *)PTR___errno_location_0002d264)();
    var_14 = (type_4 *)*puVar9;
    var_7 = (type_4 *)(*(type_10 *)PTR_dcgettext_0002d2c8)(0,var_15 + -0x4f50,5);
    var_2 = (type_4 *)var_16(shell_escape_always_quoting_style,filename);
    var_6 = var_14;
    var_1 = var_7;
    (*(type_10 *)PTR_error_0002d2a0)(0);
    _Var16 = false;
  }
LAB_00013464:
  if (var_17 == *(char **)puVar3) {
    return _Var16;
  }
  var_23 = head_bytes;
  var_18 = PTR___stack_chk_fail_0002d2c4;
  (*(type_10 *)PTR___stack_chk_fail_0002d2c4)();
  var_21 = var_18 + 0x21b24;
  puStack_2108 = puVar3;
  var_47 = *(int **)(var_18 + 0x19d30);
  var_22 = (char *)*var_47;
  puVar27 = *(type_7 **)(var_18 + 0x19b58);
  var_5 = var_6;
  var_34 = psStack_2110;
  var_18 = unaff_s5;
  var_35 = unaff_s7;
  pcStack_412c = var_17;
  psStack_2120 = var_14;
  psStack_211c = var_7;
  psStack_2118 = unaff_s2;
  psStack_2114 = unaff_s3;
  puStack_210c = unaff_s5;
  psStack_2104 = unaff_s7;
  psStack_2100 = var_8;
  pcStack_20fc = var_23;
  if (var_1 != (type_4 *)0x0 || var_2 != (type_4 *)0x0) {
    var_35 = asStack_4124;
    var_18 = (type_3 *)0xffffffff;
    puVar27 = &DAT_00003118 + (int)puVar27;
    var_19 = var_2;
    var_20 = (type_4 *)0x2000;
    psVar5 = var_1;
    do {
      var_8 = psVar5;
      unaff_s2 = var_20;
      if ((var_8 == (type_4 *)0x0) && (var_19 < var_20)) {
        unaff_s2 = var_19;
      }
      var_5 = var_35;
      var_1 = unaff_s2;
      var_20 = (type_4 *)var_3((int)var_6,var_35,(size_t)unaff_s2);
      var_34 = var_6;
      if (var_20 == (type_4 *)0xffffffff) {
        puVar9 = (type_6 *)(**(type_10 **)(var_21 + -0x7e6c))();
        var_14 = (type_4 *)*puVar9;
        var_7 = (type_4 *)(**(type_10 **)(var_21 + -0x7e08))
                                     (0,*(int *)(var_21 + -0x7fc8) + -0x4f50,5);
        var_2 = (type_4 *)var_16(shell_escape_always_quoting_style,pcStack_412c);
        var_5 = var_14;
        var_1 = var_7;
        (**(type_10 **)(var_21 + -0x7e30))(0);
        _Var16 = false;
        goto LAB_000136f4;
      }
      var_14 = (type_4 *)((int)var_19 - (int)var_20);
      var_7 = var_19;
      if (var_20 == (type_4 *)0x0) break;
      var_8 = (type_4 *)((int)var_8 - (type_8)(var_19 < var_14));
      var_13((char *)var_35,(size_t)var_20);
      var_5 = var_20;
      var_7 = var_14;
      var_19 = var_14;
      var_20 = unaff_s2;
      psVar5 = var_8;
    } while (var_8 != (type_4 *)0x0 || var_14 != (type_4 *)0x0);
  }
  _Var16 = true;
LAB_000136f4:
  if (var_22 == (char *)*var_47) {
    return _Var16;
  }
  var_23 = *(type_10 **)(var_21 + -0x7e0c);
  var_26 = var_41;
  var_17 = var_22;
  (*var_23)();
  var_24 = var_23 + 0x21994;
  var_28 = var_14;
  psStack_4150 = var_7;
  pcStack_414c = var_26;
  if (var_17 == (char *)0x1) {
    puVar9 = (type_6 *)(**(type_10 **)(var_23 + 0x19b28))();
    uVar26 = *puVar9;
    uVar10 = (**(type_10 **)(var_24 + -0x7e08))(0,*(int *)(var_24 + -0x7fc8) + -0x4f50,5);
    var_17 = var_16(shell_escape_always_quoting_style,(char *)var_5);
                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar17 = (**(type_10 **)(var_24 + -0x7e30))(0,uVar26,uVar10,var_17);
    return (type_1)uVar17;
  }
  if (var_17 == (char *)0x2) {
    puVar9 = (type_6 *)(**(type_10 **)(var_23 + 0x19b28))();
    uVar26 = *puVar9;
    uVar10 = (**(type_10 **)(var_24 + -0x7e08))(0,*(int *)(var_24 + -0x7fc8) + -0x4f3c,5);
    var_17 = var_25(0,shell_escape_quoting_style,(char *)var_5);
                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar17 = (**(type_10 **)(var_24 + -0x7e30))(0,uVar26,uVar10,var_17);
    return (type_1)uVar17;
  }
  var_26 = *(type_10 **)(var_23 + 0x19ae0);
  pcVar35 = elide_tail_lines_seekable;
  var_6 = var_5;
  (*var_26)();
  var_23 = var_24;
  var_45 = *(int **)(var_26 + 0x19a7c);
  var_29 = (type_8)((int)var_28 - (int)var_37) & 0x1fff;
  var_42 = *var_45;
  if ((int)((var_27 - (int)var_24) -
           (type_8)(var_28 < (type_4 *)((int)var_28 - (int)var_37))) < 0) {
    var_29 = (var_29 - 1 | 0xffffe000) + 1;
  }
  var_30 = 0x2000;
  if (var_29 != 0) {
    var_30 = var_29;
  }
  var_19 = (type_4 *)((int)var_28 - var_30);
  pcVar32 = (type_10 *)(&DAT_00002fbc + *(int *)(var_26 + 0x198a4));
  var_36 = (type_10 *)(var_27 - (type_8)(var_28 < var_19));
  psStack_4198 = var_5;
  psStack_4194 = var_7;
  psStack_4190 = unaff_s2;
  puStack_418c = puVar27;
  psStack_4188 = var_34;
  puStack_4184 = var_18;
  piStack_4180 = var_47;
  psStack_417c = var_35;
  psStack_4178 = var_8;
  pcStack_4174 = pcVar35;
  var_32 = var_11((int)var_6,var_31(var_17),var_42,(char *)var_36);
  if (-1 < var_32) {
    var_7 = (type_4 *)((int)acStack_619d + 1);
    var_33 = var_3((int)var_6,var_7,var_30);
    if (var_33 != 0xffffffff) {
      var_30 = (type_8)var_1 | (type_8)var_2;
      var_5 = var_19;
      var_34 = var_2;
      if (var_30 == 0) {
        var_9 = *(int *)(var_26 + 0x19898);
      }
      else {
        var_9 = *(int *)(var_26 + 0x19898);
        if ((var_33 != 0) &&
           (var_9 = *(int *)(var_26 + 0x19898),
           acStack_619d[var_33] != *(char *)(*(int *)(var_26 + 0x19898) + -0x2cdf))) {
          var_34 = (type_4 *)((int)var_2[-1].st_pad5 + 0x37);
          var_1 = (type_4 *)((int)var_1->st_pad1 + ((var_34 < var_2) - 5));
        }
      }
      do {
        var_19 = var_5;
        if (var_33 != 0) {
          cVar1 = *(char *)(var_9 + -0x2cdf);
          var_35 = var_1;
          do {
            if (var_30 == 0) {
              var_33 = var_33 - 1;
              var_1 = (type_4 *)((int)var_35->st_pad1 +
                              (((type_4 *)((int)var_34[-1].st_pad5 + 0x37) < var_34) - 5));
              if (var_35 == (type_4 *)0x0 && var_34 == (type_4 *)0x0) goto LAB_000139ec;
            }
            else {
              var_10 = (**(type_10 **)(var_26 + 0x19a20))(var_7,(int)cVar1,var_33);
              var_1 = var_35;
              if (var_10 == 0) break;
              var_33 = var_10 - (int)var_7;
              var_1 = (type_4 *)((int)var_35->st_pad1 +
                              (((type_4 *)((int)var_34[-1].st_pad5 + 0x37) < var_34) - 5));
              if (var_35 == (type_4 *)0x0 && var_34 == (type_4 *)0x0) {
LAB_000139ec:
                puVar27 = (type_7 *)((int)var_35[-1].st_pad5 + 0x37);
                if (((int)var_23 < (int)var_36) ||
                   ((var_1 = var_35, var_36 == var_23 &&
                    (puVar27 = (type_7 *)(var_33 + 1), var_37 < var_5)))) {
                  uVar10 = 0;
                  pcVar37 = var_17;
                  var_9 = (*pcVar32)(var_6,puVar27,var_23,var_37);
                  var_1 = var_37;
                  if (var_9 < 0) goto LAB_00013b8c;
                  var_39 = var_38((int)var_6,var_12(uVar10,pcVar37));
                  if (var_39 != var_40) {
                    var_41(var_39,var_17);
                    _Var16 = false;
                    goto LAB_00013b94;
                  }
                }
                var_13((char *)var_7,var_33 + 1);
                var_29 = (int)var_5->st_pad1 + (var_33 - 4);
                var_36 = var_36 + (var_29 < var_33);
                (*pcVar32)(var_6);
                _Var16 = (type_1)((type_5)~extraout_var >> 7);
                var_19 = (type_4 *)(type_8)(var_29 + 1 < var_29);
                goto LAB_00013b94;
              }
            }
            var_34 = (type_4 *)((int)var_34[-1].st_pad5 + 0x37);
            var_35 = var_1;
          } while (var_33 != 0);
        }
        if ((var_36 == var_23) && (_Var16 = true, var_5 == var_37)) break;
        var_19 = (type_4 *)(var_5[-0x34].st_pad5 + 6);
        var_36 = var_36 + ((var_19 < var_5) - 1);
        var_10 = (*pcVar32)(var_6);
        if (var_10 < 0) goto LAB_00013b8c;
        var_33 = var_3((int)var_6,var_7,0x2000);
        if (var_33 == 0xffffffff) goto LAB_00013b28;
        _Var16 = true;
        var_5 = var_19;
      } while (var_33 != 0);
      goto LAB_00013b94;
    }
LAB_00013b28:
    puVar9 = (type_6 *)(**(type_10 **)(var_26 + 0x19a04))();
    var_1 = (type_4 *)*puVar9;
    var_7 = (type_4 *)(**(type_10 **)(var_26 + 0x19a68))(0,*(int *)(var_26 + 0x198a8) + -0x4f50,5);
    var_17 = var_16(shell_escape_always_quoting_style,var_17);
    (**(type_10 **)(var_26 + 0x19a40))(0,var_1,var_7,var_17);
  }
LAB_00013b8c:
  _Var16 = false;
LAB_00013b94:
  if (var_42 == *var_45) {
    return _Var16;
  }
  var_23 = *(type_10 **)(var_26 + 0x19a64);
  pcVar35 = usage;
  var_9 = var_42;
  (*var_23)();
  uStackY_61f4 = **(type_6 **)(var_23 + 0x19674);
  var_26 = *(type_10 **)(var_23 + 0x19660);
  psStackY_61f0 = var_1;
  psStackY_61ec = var_7;
  sStackY_61e8 = var_30;
  psStackY_61e4 = var_19;
  pcStackY_61e0 = var_36;
  pcStackY_61dc = pcVar35;
  if (var_9 == 0) goto LAB_00013cf8;
  uVar26 = **(type_6 **)(var_23 + 0x19684);
  uVar10 = (*var_26)(0,*(int *)(var_23 + 0x194a0) + -0x4f14,5);
  (**(type_10 **)(var_23 + 0x195c4))(uVar26,1,uVar10,**(type_6 **)(var_23 + 0x194b8));
  do {
    var_26 = *(type_10 **)(var_23 + 0x19620);
    (*var_26)(var_9);
LAB_00013cf8:
    puVar9 = *(type_6 **)(var_23 + 0x195f4);
    uVar10 = (*var_26)();
    (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,**(type_6 **)(var_23 + 0x194b8));
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4ec8,5);
    (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,10);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4e40,5);
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4e08,5);
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4dbc,5);
    (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,10);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4c2c,5);
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4ba8,5);
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4b68,5);
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4b38,5);
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4b00,5);
    var_47 = aiStackY_622c;
    (**(type_10 **)(var_23 + 0x1969c))(uVar10,*puVar9);
    var_10 = *(int *)(var_23 + 0x19490);
    var_45 = (int *)(var_10 + -0x2ff0);
    piVar4 = var_47;
    do {
      var_44 = piVar4;
      var_43 = var_45;
      var_45 = var_43 + 4;
      *var_44 = *var_43;
      var_48 = var_43[2];
      var_46 = var_43[3];
      var_44[1] = var_43[1];
      var_44[2] = var_48;
      var_44[3] = var_46;
      piVar4 = var_44 + 4;
    } while (var_45 != (int *)(var_10 + -0x2fc0));
    var_10 = var_43[5];
    var_46 = *(int *)(var_23 + 0x194a0);
    var_44[4] = *var_45;
    var_44[5] = var_10;
    var_10 = aiStackY_622c[0];
    while (var_10 != 0) {
      var_10 = (**(type_10 **)(var_23 + 0x19698))(var_46 + -0x4f1c);
      if (var_10 == 0) {
        var_10 = *(int *)(var_23 + 0x194a0);
        goto LAB_00013f44;
      }
      var_47 = var_47 + 2;
      var_10 = *var_47;
    }
    var_10 = *(int *)(var_23 + 0x194a0);
LAB_00013f44:
    var_48 = var_47[1];
    var_49 = *(int *)(var_23 + 0x194a0);
    if (var_48 == 0) {
      uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,var_10 + -0x4a64,5);
      (**(type_10 **)(var_23 + 0x195f0))
                (1,uVar10,*(int *)(var_23 + 0x194a0) + -0x4a24,var_49 + -0x4a4c);
      var_10 = (**(type_10 **)(var_23 + 0x195e0))(5,0);
      if ((var_10 != 0) &&
         (var_10 = (**(type_10 **)(var_23 + 0x195b8))(var_10,*(int *)(var_23 + 0x194a0) + -0x4a14,3),
         var_10 != 0)) {
        var_48 = var_46 + -0x4f1c;
        var_10 = var_48;
LAB_00014148:
        uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x4a10,5);
        (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,var_46 + -0x4f1c);
        goto LAB_00013fcc;
      }
      var_48 = var_46 + -0x4f1c;
      uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x49c8,5);
      (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,var_49 + -0x4a4c,var_48);
      uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x49a8,5);
      var_10 = *(int *)(var_23 + 0x194a0) + -0x496c;
    }
    else {
      uVar10 = (**(type_10 **)(var_23 + 0x19660))();
      (**(type_10 **)(var_23 + 0x195f0))
                (1,uVar10,*(int *)(var_23 + 0x194a0) + -0x4a24,var_49 + -0x4a4c);
      var_10 = (**(type_10 **)(var_23 + 0x195e0))(5,0);
      if (var_10 == 0) {
        var_10 = *(int *)(var_23 + 0x194a0) + -0x4f1c;
      }
      else {
        var_50 = (**(type_10 **)(var_23 + 0x195b8))(var_10,*(int *)(var_23 + 0x194a0) + -0x4a14,3);
        var_10 = *(int *)(var_23 + 0x194a0) + -0x4f1c;
        if (var_50 != 0) goto LAB_00014148;
      }
LAB_00013fcc:
      uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x49c8,5);
      (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,var_49 + -0x4a4c,var_46 + -0x4f1c);
      uVar10 = (**(type_10 **)(var_23 + 0x19660))(0,*(int *)(var_23 + 0x194a0) + -0x49a8,5);
      if (var_48 == var_10) {
        var_10 = *(int *)(var_23 + 0x194a0) + -0x496c;
      }
      else {
        var_10 = *(int *)(var_23 + 0x194a0) + -0x3858;
      }
    }
    (**(type_10 **)(var_23 + 0x195f0))(1,uVar10,var_48,var_10);
  } while( true );
}


(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: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (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: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) body: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (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: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal)))) (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: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_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: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (pointer_expression argument: (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: (number_literal))))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (pointer_expression argument: (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: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (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: (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: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (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))))))) (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: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (binary_expression left: (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))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (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))))) right: (number_literal)) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (binary_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (binary_expression left: (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))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (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))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier))))) condition: (parenthesized_expression (true))))))

/* WARNING: Type propagation algorithm not settling */

uint MASKED(undefined4 param_1,char *param_2,char *param_3,char *param_4)

{
  char cVar1;
  undefined *puVar2;
  undefined *puVar3;
  int *piVar4;
  char *pcVar5;
  char *pcVar6;
  int iVar7;
  uint uVar8;
  char *pcVar9;
  int *piVar10;
  undefined4 *puVar11;
  undefined4 uVar12;
  int *piVar13;
  int iVar14;
  char *pcVar15;
  int *piVar16;
  int iVar17;
  int iVar18;
  char *pcVar19;
  char *unaff_s0;
  char *unaff_s1;
  undefined4 uVar20;
  char *unaff_s2;
  uint uVar21;
  char *unaff_s3;
  int iVar22;
  char *pcVar23;
  char *pcVar24;
  int iVar25;
  char *unaff_s4;
  undefined *unaff_s5;
  undefined *puVar26;
  int *piVar27;
  char *unaff_s7;
  code *pcVar28;
  char *unaff_s8;
  undefined4 uVar29;
  code *pcVar30;
  code *pcVar31;
  code *pcVar32;
  int aiStack_622c [14];
  undefined4 uStack_61f4;
  char *pcStack_61f0;
  char *pcStack_61ec;
  uint uStack_61e8;
  char *pcStack_61e4;
  code *pcStack_61e0;
  code *pcStack_61dc;
  undefined4 uStack_61c8;
  int iStack_61c4;
  code *pcStack_61c0;
  int iStack_61b4;
  code *pcStack_61b0;
  int *piStack_61ac;
  char *pcStack_61a8;
  char *pcStack_61a4;
  char acStack_619d [8193];
  int iStack_419c;
  char *pcStack_4198;
  char *pcStack_4194;
  char *pcStack_4190;
  int iStack_418c;
  char *pcStack_4188;
  undefined *puStack_4184;
  int *piStack_4180;
  char *pcStack_417c;
  char *pcStack_4178;
  code *pcStack_4174;
  code *pcStack_4160;
  char *pcStack_415c;
  int iStack_4158;
  char *pcStack_4154;
  char *pcStack_4150;
  code *pcStack_414c;
  undefined *local_4138;
  int local_412c;
  char acStack_4124 [8192];
  int local_2124;
  char *local_2120;
  char *local_211c;
  char *local_2118;
  char *local_2114;
  char *local_2110;
  undefined *local_210c;
  undefined *local_2108;
  char *local_2104;
  char *local_2100;
  undefined4 local_20fc;
  undefined4 local_20e8;
  undefined4 local_20e4;
  char acStack_20d0 [24];
  uint local_20b8;
  char local_202c [8192];
  int local_2c;
  
  puVar3 = PTR___stack_chk_guard_0002d2dc;
  puVar2 = PTR_0002d104;
  puVar26 = PTR_DAT_0002d0f8;
  local_2c = *(int *)PTR___stack_chk_guard_0002d2dc;
  pcVar15 = param_2;
  local_2110 = unaff_s4;
  if (param_3 == (char *)0x0 && param_4 == (char *)0x0) {
LAB_00013598:
    uVar8 = 1;
  }
  else {
    unaff_s7 = local_202c;
    pcVar19 = (char *)0x2000;
    unaff_s3 = (char *)0xffffffff;
    pcVar15 = unaff_s7;
    pcVar24 = param_4;
    pcVar6 = (char *)safe_read(param_2);
    unaff_s5 = puVar2 + 0x3118;
    unaff_s8 = param_3;
    unaff_s1 = param_4;
    while (param_4 = pcVar24, param_3 = pcVar19, unaff_s2 = param_2, local_2110 = puVar26,
          pcVar6 != (char *)0xffffffff) {
      if (pcVar6 == (char *)0x0) goto LAB_00013598;
      unaff_s0 = (char *)0x0;
      do {
        unaff_s0 = unaff_s0 + 1;
        pcVar15 = unaff_s1 + -1;
        if (((&stack0xffffdfd3)[(int)unaff_s0] == puVar26[-0x2cdf]) &&
           (unaff_s8 = unaff_s8 + ((pcVar15 < unaff_s1) - 1), unaff_s1 = pcVar15,
           unaff_s8 == (char *)0x0 && pcVar15 == (char *)0x0)) {
          unaff_s1 = unaff_s0 + -(int)pcVar6;
          unaff_s3 = (char *)-(uint)(unaff_s1 != (char *)0x0);
          local_20e8 = 1;
          param_3 = unaff_s3;
          param_4 = unaff_s1;
          iVar7 = (*(code *)PTR_lseek64_0002d2a8)(param_2);
          if (iVar7 < 0) {
            param_3 = acStack_20d0;
            iVar7 = (*(code *)PTR___fxstat64_0002d2b4)(3,param_2);
            if ((iVar7 != 0) || ((local_20b8 & 0xf000) == 0x8000)) {
              local_20e8 = 1;
              param_3 = unaff_s3;
              param_4 = unaff_s1;
              local_20e4 = param_1;
              FUN_00012fbc(param_2);
            }
          }
          pcVar15 = unaff_s0;
          FUN_00013118(unaff_s7);
          uVar8 = 1;
          goto LAB_00013464;
        }
      } while (pcVar6 != unaff_s0);
      FUN_00013118(unaff_s7,pcVar6);
      pcVar19 = (char *)0x2000;
      pcVar15 = unaff_s7;
      pcVar6 = (char *)safe_read(param_2);
      pcVar24 = param_4;
    }
    piVar27 = (int *)(*(code *)PTR___errno_location_0002d264)();
    unaff_s0 = (char *)*piVar27;
    unaff_s1 = (char *)(*(code *)PTR_dcgettext_0002d2c8)(0,PTR_DAT_0002d108 + -0x4f50,5);
    param_4 = (char *)quotearg_style(4,param_1);
    pcVar15 = unaff_s0;
    param_3 = unaff_s1;
    (*(code *)PTR_error_0002d2a0)(0);
    uVar8 = 0;
  }
LAB_00013464:
  if (local_2c == *(int *)puVar3) {
    return uVar8;
  }
  uVar29 = 0x135ac;
  iVar7 = local_2c;
  puVar26 = PTR___stack_chk_fail_0002d2c4;
  (*(code *)PTR___stack_chk_fail_0002d2c4)();
  local_4138 = puVar26 + 0x21b24;
  local_2108 = puVar3;
  piVar27 = *(int **)(puVar26 + 0x19d30);
  local_2124 = *piVar27;
  iVar22 = *(int *)(puVar26 + 0x19b58);
  pcVar6 = pcVar15;
  pcVar24 = local_2110;
  puVar26 = unaff_s5;
  pcVar19 = unaff_s7;
  local_412c = iVar7;
  local_2120 = unaff_s0;
  local_211c = unaff_s1;
  local_2118 = unaff_s2;
  local_2114 = unaff_s3;
  local_210c = unaff_s5;
  local_2104 = unaff_s7;
  local_2100 = unaff_s8;
  local_20fc = uVar29;
  if (param_3 != (char *)0x0 || param_4 != (char *)0x0) {
    pcVar19 = acStack_4124;
    puVar26 = (undefined *)0xffffffff;
    iVar22 = iVar22 + 0x3118;
    pcVar23 = param_4;
    pcVar9 = (char *)0x2000;
    pcVar5 = param_3;
    do {
      unaff_s8 = pcVar5;
      unaff_s2 = pcVar9;
      if ((unaff_s8 == (char *)0x0) && (pcVar23 < pcVar9)) {
        unaff_s2 = pcVar23;
      }
      pcVar6 = pcVar19;
      param_3 = unaff_s2;
      pcVar9 = (char *)safe_read(pcVar15);
      pcVar24 = pcVar15;
      if (pcVar9 == (char *)0xffffffff) {
        piVar10 = (int *)(**(code **)(local_4138 + -0x7e6c))();
        unaff_s0 = (char *)*piVar10;
        unaff_s1 = (char *)(**(code **)(local_4138 + -0x7e08))
                                     (0,*(int *)(local_4138 + -0x7fc8) + -0x4f50,5);
        param_4 = (char *)quotearg_style(4,local_412c);
        pcVar6 = unaff_s0;
        param_3 = unaff_s1;
        (**(code **)(local_4138 + -0x7e30))(0);
        uVar8 = 0;
        goto LAB_000136f4;
      }
      unaff_s0 = pcVar23 + -(int)pcVar9;
      unaff_s1 = pcVar23;
      if (pcVar9 == (char *)0x0) break;
      unaff_s8 = unaff_s8 + -(uint)(pcVar23 < unaff_s0);
      FUN_00013118(pcVar19);
      pcVar6 = pcVar9;
      unaff_s1 = unaff_s0;
      pcVar23 = unaff_s0;
      pcVar9 = unaff_s2;
      pcVar5 = unaff_s8;
    } while (unaff_s8 != (char *)0x0 || unaff_s0 != (char *)0x0);
  }
  uVar8 = 1;
LAB_000136f4:
  if (local_2124 == *piVar27) {
    return uVar8;
  }
  pcVar28 = *(code **)(local_4138 + -0x7e0c);
  pcVar30 = FUN_0001373c;
  iVar7 = local_2124;
  (*pcVar28)();
  pcStack_4160 = pcVar28 + 0x21994;
  pcStack_4154 = unaff_s0;
  pcStack_4150 = unaff_s1;
  pcStack_414c = pcVar30;
  if (iVar7 == 1) {
    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();
    uVar20 = *puVar11;
    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f50,5);
    uVar12 = quotearg_style(4,pcVar6);
                    /* WARNING: Could not recover jumptable at 0x000137d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);
    return uVar8;
  }
  if (iVar7 == 2) {
    puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x19b28))();
    uVar20 = *puVar11;
    uVar29 = (**(code **)(pcStack_4160 + -0x7e08))(0,*(int *)(pcStack_4160 + -0x7fc8) + -0x4f3c,5);
    uVar12 = quotearg_n_style_colon(0,3,pcVar6);
                    /* WARNING: Could not recover jumptable at 0x0001384c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar8 = (**(code **)(pcStack_4160 + -0x7e30))(0,uVar20,uVar29,uVar12);
    return uVar8;
  }
  pcVar30 = *(code **)(pcVar28 + 0x19ae0);
  pcVar31 = FUN_00013860;
  pcVar15 = pcVar6;
  (*pcVar30)();
  pcVar28 = pcStack_4160;
  pcStack_61c0 = pcVar30 + 0x21870;
  pcStack_61a4 = pcStack_415c;
  piStack_61ac = *(int **)(pcVar30 + 0x19a7c);
  uVar8 = (uint)(pcStack_4154 + -(int)pcStack_415c) & 0x1fff;
  iStack_419c = *piStack_61ac;
  if ((int)((iStack_4158 - (int)pcStack_4160) -
           (uint)(pcStack_4154 < pcStack_4154 + -(int)pcStack_415c)) < 0) {
    uVar8 = (uVar8 - 1 | 0xffffe000) + 1;
  }
  uStack_61c8 = 0;
  uVar21 = 0x2000;
  if (uVar8 != 0) {
    uVar21 = uVar8;
  }
  pcVar23 = pcStack_4154 + -uVar21;
  pcStack_61b0 = (code *)(*(int *)(pcVar30 + 0x198a4) + 0x2fbc);
  pcVar30 = (code *)(iStack_4158 - (uint)(pcStack_4154 < pcVar23));
  iStack_61c4 = iVar7;
  iStack_61b4 = iVar7;
  pcStack_4198 = pcVar6;
  pcStack_4194 = unaff_s1;
  pcStack_4190 = unaff_s2;
  iStack_418c = iVar22;
  pcStack_4188 = pcVar24;
  puStack_4184 = puVar26;
  piStack_4180 = piVar27;
  pcStack_417c = pcVar19;
  pcStack_4178 = unaff_s8;
  pcStack_4174 = pcVar31;
  iVar7 = FUN_00012fbc(pcVar15,iStack_419c,pcVar30,pcVar23);
  if (-1 < iVar7) {
    unaff_s1 = acStack_619d + 1;
    pcVar6 = (char *)safe_read(pcVar15,unaff_s1,uVar21);
    if (pcVar6 != (char *)0xffffffff) {
      uVar21 = (uint)param_3 | (uint)param_4;
      pcVar24 = pcVar23;
      pcVar19 = param_4;
      if (uVar21 == 0) {
        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);
      }
      else {
        pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8);
        if ((pcVar6 != (char *)0x0) &&
           (pcStack_61a8 = *(char **)(pcStack_61c0 + -0x7fd8),
           acStack_619d[(int)pcVar6] != *(char *)(*(int *)(pcStack_61c0 + -0x7fd8) + -0x2cdf))) {
          pcVar19 = param_4 + -1;
          param_3 = param_3 + ((pcVar19 < param_4) - 1);
        }
      }
      do {
        pcVar31 = pcStack_61c0;
        pcVar23 = pcVar24;
        if (pcVar6 != (char *)0x0) {
          cVar1 = pcStack_61a8[-0x2cdf];
          pcVar9 = param_3;
          do {
            if (uVar21 == 0) {
              pcVar6 = pcVar6 + -1;
              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) goto LAB_000139ec;
            }
            else {
              iVar7 = (**(code **)(pcVar31 + -0x7e50))(unaff_s1,(int)cVar1,pcVar6);
              param_3 = pcVar9;
              pcVar31 = pcStack_61c0;
              if (iVar7 == 0) break;
              pcVar6 = (char *)(iVar7 - (int)unaff_s1);
              if (pcVar9 == (char *)0x0 && pcVar19 == (char *)0x0) {
LAB_000139ec:
                pcStack_61a8 = pcVar6;
                param_3 = pcStack_61a4;
                pcVar6 = pcVar9 + -1;
                if ((int)pcVar28 < (int)pcVar30) {
LAB_000139f8:
                  iStack_61c4 = iStack_61b4;
                  uStack_61c8 = 0;
                  iVar7 = (*pcStack_61b0)(pcVar15,pcVar6,pcVar28,pcStack_61a4);
                  if (iVar7 < 0) goto LAB_00013b8c;
                  iVar7 = FUN_000131f4(pcVar15);
                  pcVar9 = param_3;
                  if (iVar7 != 0) {
                    FUN_0001373c(iVar7,iStack_61b4);
                    uVar8 = 0;
                    pcVar31 = pcStack_61c0;
                    goto LAB_00013b94;
                  }
LAB_00013a58:
                  pcVar6 = pcStack_61a8 + 1;
                }
                else {
                  if (pcVar30 != pcVar28) goto LAB_00013a58;
                  pcVar6 = pcStack_61a8 + 1;
                  if (pcStack_61a4 < pcVar24) goto LAB_000139f8;
                }
                FUN_00013118(unaff_s1,pcVar6);
                pcVar24 = pcStack_61a8 + (int)pcVar24;
                uStack_61c8 = 0;
                iStack_61c4 = iStack_61b4;
                pcVar30 = pcVar30 + (pcVar24 < pcStack_61a8);
                uVar8 = (*pcStack_61b0)(pcVar15);
                uVar8 = ~uVar8 >> 0x1f;
                param_3 = pcVar9;
                pcVar23 = (char *)(uint)(pcVar24 + 1 < pcVar24);
                pcVar31 = pcStack_61c0;
                goto LAB_00013b94;
              }
            }
            param_3 = pcVar9 + ((pcVar19 + -1 < pcVar19) - 1);
            pcVar19 = pcVar19 + -1;
            pcVar9 = param_3;
          } while (pcVar6 != (char *)0x0);
        }
        if ((pcVar30 == pcVar28) && (uVar8 = 1, pcVar24 == pcStack_61a4)) break;
        pcVar23 = pcVar24 + -0x2000;
        uStack_61c8 = 0;
        pcVar30 = pcVar30 + ((pcVar23 < pcVar24) - 1);
        iStack_61c4 = iStack_61b4;
        iVar7 = (*pcStack_61b0)(pcVar15);
        if (iVar7 < 0) goto LAB_00013b8c;
        pcVar6 = (char *)safe_read(pcVar15,unaff_s1,0x2000);
        if (pcVar6 == (char *)0xffffffff) goto LAB_00013b28;
        uVar8 = 1;
        pcVar24 = pcVar23;
        pcVar31 = pcStack_61c0;
      } while (pcVar6 != (char *)0x0);
      goto LAB_00013b94;
    }
LAB_00013b28:
    puVar11 = (undefined4 *)(**(code **)(pcStack_61c0 + -0x7e6c))();
    param_3 = (char *)*puVar11;
    unaff_s1 = (char *)(**(code **)(pcStack_61c0 + -0x7e08))
                                 (0,*(int *)(pcStack_61c0 + -0x7fc8) + -0x4f50,5);
    uVar29 = quotearg_style(4,iStack_61b4);
    (**(code **)(pcStack_61c0 + -0x7e30))(0,param_3,unaff_s1,uVar29);
  }
LAB_00013b8c:
  uVar8 = 0;
  pcVar31 = pcStack_61c0;
LAB_00013b94:
  if (iStack_419c == *piStack_61ac) {
    return uVar8;
  }
  pcVar28 = *(code **)(pcVar31 + -0x7e0c);
  pcVar32 = usage;
  iVar7 = iStack_419c;
  (*pcVar28)();
  uStack_61f4 = **(undefined4 **)(pcVar28 + 0x19674);
  pcVar31 = *(code **)(pcVar28 + 0x19660);
  pcStack_61f0 = param_3;
  pcStack_61ec = unaff_s1;
  uStack_61e8 = uVar21;
  pcStack_61e4 = pcVar23;
  pcStack_61e0 = pcVar30;
  pcStack_61dc = pcVar32;
  if (iVar7 == 0) goto LAB_00013cf8;
  uVar12 = **(undefined4 **)(pcVar28 + 0x19684);
  uVar29 = (*pcVar31)(0,*(int *)(pcVar28 + 0x194a0) + -0x4f14,5);
  (**(code **)(pcVar28 + 0x195c4))(uVar12,1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));
  do {
    pcVar31 = *(code **)(pcVar28 + 0x19620);
    (*pcVar31)(iVar7);
LAB_00013cf8:
    puVar11 = *(undefined4 **)(pcVar28 + 0x195f4);
    uVar29 = (*pcVar31)();
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,**(undefined4 **)(pcVar28 + 0x194b8));
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ec8,5);
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e40,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4e08,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4dbc,5);
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,10);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4c2c,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4ba8,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b68,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b38,5);
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4b00,5);
    piVar27 = aiStack_622c;
    (**(code **)(pcVar28 + 0x1969c))(uVar29,*puVar11);
    iVar22 = *(int *)(pcVar28 + 0x19490);
    piVar10 = (int *)(iVar22 + -0x2ff0);
    piVar4 = piVar27;
    do {
      piVar16 = piVar4;
      piVar13 = piVar10;
      piVar10 = piVar13 + 4;
      *piVar16 = *piVar13;
      iVar18 = piVar13[2];
      iVar17 = piVar13[3];
      piVar16[1] = piVar13[1];
      piVar16[2] = iVar18;
      piVar16[3] = iVar17;
      piVar4 = piVar16 + 4;
    } while (piVar10 != (int *)(iVar22 + -0x2fc0));
    iVar22 = piVar13[5];
    iVar17 = *(int *)(pcVar28 + 0x194a0);
    piVar16[4] = *piVar10;
    piVar16[5] = iVar22;
    iVar22 = aiStack_622c[0];
    while (iVar22 != 0) {
      iVar22 = (**(code **)(pcVar28 + 0x19698))(iVar17 + -0x4f1c);
      if (iVar22 == 0) {
        iVar22 = *(int *)(pcVar28 + 0x194a0);
        goto LAB_00013f44;
      }
      piVar27 = piVar27 + 2;
      iVar22 = *piVar27;
    }
    iVar22 = *(int *)(pcVar28 + 0x194a0);
LAB_00013f44:
    iVar18 = piVar27[1];
    iVar25 = *(int *)(pcVar28 + 0x194a0);
    if (iVar18 == 0) {
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,iVar22 + -0x4a64,5);
      (**(code **)(pcVar28 + 0x195f0))
                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);
      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);
      if ((iVar22 != 0) &&
         (iVar22 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3),
         iVar22 != 0)) {
        iVar18 = iVar17 + -0x4f1c;
        iVar22 = iVar18;
LAB_00014148:
        uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x4a10,5);
        (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar17 + -0x4f1c);
        goto LAB_00013fcc;
      }
      iVar18 = iVar17 + -0x4f1c;
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);
      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar18);
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);
      iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;
    }
    else {
      uVar29 = (**(code **)(pcVar28 + 0x19660))();
      (**(code **)(pcVar28 + 0x195f0))
                (1,uVar29,*(int *)(pcVar28 + 0x194a0) + -0x4a24,iVar25 + -0x4a4c);
      iVar22 = (**(code **)(pcVar28 + 0x195e0))(5,0);
      if (iVar22 == 0) {
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;
      }
      else {
        iVar14 = (**(code **)(pcVar28 + 0x195b8))(iVar22,*(int *)(pcVar28 + 0x194a0) + -0x4a14,3);
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x4f1c;
        if (iVar14 != 0) goto LAB_00014148;
      }
LAB_00013fcc:
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49c8,5);
      (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar25 + -0x4a4c,iVar17 + -0x4f1c);
      uVar29 = (**(code **)(pcVar28 + 0x19660))(0,*(int *)(pcVar28 + 0x194a0) + -0x49a8,5);
      if (iVar18 == iVar22) {
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x496c;
      }
      else {
        iVar22 = *(int *)(pcVar28 + 0x194a0) + -0x3858;
      }
    }
    (**(code **)(pcVar28 + 0x195f0))(1,uVar29,iVar18,iVar22);
  } while( true );
}

