
int diffreg(char **file)

{
  int *piVar1;
  off_t *poVar2;
  bool bVar3;
  off_t oVar4;
  undefined *puVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  FILE *pFVar10;
  int iVar11;
  off_t *poVar12;
  char *pcVar13;
  uint uVar14;
  anon_struct_8_2_94730f06 *paVar15;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  off_t **ppoVar19;
  char **ppcVar20;
  FILE *pFVar21;
  FILE_and_pos_t *pFVar22;
  FILE_and_pos_t *pFVar23;
  int unaff_s3;
  FILE *pFVar24;
  undefined1 *puVar25;
  FILE *pFVar26;
  FILE_and_pos_t *pFVar27;
  undefined *puVar28;
  longlong lVar29;
  FILE_and_pos_t *local_b4;
  code *local_b0;
  anon_struct_8_2_94730f06 *local_ac;
  FILE *local_a8;
  undefined *local_a0;
  FILE *local_9c;
  undefined *local_90;
  undefined *local_8c;
  FILE *fp [2];
  int nlen [2];
  off_t *ix [2];
  vec_t span;
  FILE_and_pos_t ft [2];
  char name [15];
  
  pFVar24 = (FILE *)PTR_bdcommands_4__name_4__001311a4;
  iVar6 = *(int *)PTR___stack_chk_guard_00132164;
  fp[0] = *(FILE **)PTR_stdin_00131efc;
  pFVar22 = (FILE_and_pos_t *)fp;
  pFVar23 = (FILE_and_pos_t *)(file + 2);
  puVar25 = PTR_LAB_0013118c + 0x6e58;
  pFVar26 = *(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c);
  ppcVar20 = file;
  fp[1] = fp[0];
  do {
    pcVar13 = *ppcVar20;
    if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {
      iVar7 = 0;
    }
    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {
      iVar7 = (*(code *)PTR_open_or_warn_00131400)();
      if (iVar7 == -1) {
        pcVar13 = (char *)0x0;
        goto LAB_000d9af0;
      }
    }
    else {
      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);
      if (iVar7 == -1) {
        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);
      }
    }
    lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);
    iVar8 = iVar7;
    if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {
      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);
      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);
      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);
      name[0xe] = *(char *)((int)pFVar24 + 0x459a);
      name._0_4_ = pFVar26;
      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);
      (*(code *)PTR_unlink_001320a8)(name);
      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);
      if (iVar9 < 0) {
        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();
        return iVar6;
      }
      if (iVar7 != 0) {
        (*(code *)PTR_close_00131ca8)(iVar7);
      }
      (*(code *)PTR_xlseek_001316c8)(iVar8);
      unaff_s3 = iVar8;
    }
    pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));
    pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;
    pFVar22->ft_fp = pFVar10;
    ppcVar20 = ppcVar20 + 1;
    pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;
  } while ((FILE_and_pos_t *)ppcVar20 != pFVar23);
  puVar25 = (undefined1 *)0x0;
  pFVar22 = (FILE_and_pos_t *)0x0;
  puVar28 = PTR_bb_common_bufsiz1_0013136c + 0x200;
  local_b4 = (FILE_and_pos_t *)&DAT_00000001;
  while( true ) {
    pFVar26 = fp[0];
    unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);
    pFVar24 = fp[1];
    iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);
    if (unaff_s3 != iVar7) {
      if (unaff_s3 < iVar7) {
        iVar7 = unaff_s3;
      }
      puVar25 = &DAT_00000001;
    }
    if (iVar7 == 0) break;
    if (0 < iVar7) {
      pcVar13 = PTR_bb_common_bufsiz1_0013136c;
      do {
        pFVar23 = local_b4;
        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {
          pFVar22 = pFVar23;
          if (pcVar13[0x200] != *pcVar13) {
            puVar25 = &DAT_00000001;
          }
        }
        else {
          puVar25 = &DAT_00000001;
          pFVar22 = local_b4;
        }
        pcVar13 = pcVar13 + 1;
      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);
    }
  }
  pcVar13 = (char *)0x0;
  pFVar23 = pFVar27;
  if (puVar25 == (undefined1 *)0x0) goto LAB_000d9af0;
  if ((pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0)) {
    pcVar13 = (char *)0x2;
    goto LAB_000d9ad8;
  }
  ft[0].ft_fp = pFVar26;
  ft[1].ft_fp = pFVar24;
  pFVar26 = (FILE *)create_J(ft,nlen,ix);
  local_b4 = (FILE_and_pos_t *)0x0;
  unaff_s3 = 1;
  pFVar24 = (FILE *)0x0;
  local_90 = PTR_bdcommands_4__name_4__001311a4;
  local_a0 = PTR_bdcommands_4__name_4__001311a4 + 0x457c;
  local_8c = PTR_bdcommands_4__name_4__001311a4 + 0x4584;
  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);
LAB_000d9610:
  puVar5 = PTR_xrealloc_vector_helper_001313dc;
  puVar28 = PTR_ptr_to_globals_00131330;
  bVar3 = false;
  local_9c = (FILE *)ft;
  iVar7 = -1;
  do {
    span[0].a = unaff_s3;
    if ((unaff_s3 <= nlen[0]) &&
       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,
       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {
      do {
        span[0].a = span[0].a + 1;
        if (nlen[0] < span[0].a) {
          goto LAB_000d9698;
        }
        iVar8 = *(int *)pcVar16;
        piVar1 = (int *)(pcVar16 + 4);
        pcVar16 = pcVar16 + 4;
      } while (*piVar1 == iVar8 + 1);
    }
LAB_000d9698:
    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;
    span[0].b = span[0].a + -1;
    if ((span[0].a + -1 < nlen[0]) &&
       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,
       *(int *)pcVar16 == 0)) {
      do {
        span[0].b = iVar8;
        if (span[0].b == nlen[0]) {
          goto LAB_000d96f8;
        }
        piVar1 = (int *)(pcVar16 + 4);
        pcVar16 = pcVar16 + 4;
        iVar8 = span[0].b + 1;
      } while (*piVar1 == 0);
    }
LAB_000d96f8:
    pFVar22 = (FILE_and_pos_t *)span[0].b;
    iVar8 = span[0].b * 4;
    pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);
    span[1].b = (int)pFVar27;
    iVar9 = iVar7;
    if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {
      if ((-1 < iVar7) &&
         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,
          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&
          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))
      goto LAB_000d987c;
      paVar15 = span;
      ppoVar19 = ix;
      do {
        if (paVar15->a <= paVar15->b) {
          poVar12 = *ppoVar19 + paVar15->a;
          do {
            iVar9 = *(int *)poVar12;
            oVar4 = *poVar12;
            poVar2 = poVar12 + -1;
            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);
            poVar12 = poVar12 + 1;
            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||
                                   uVar14 != 1));
          } while (poVar12 != *ppoVar19 + paVar15->b + 1);
        }
        paVar15 = paVar15 + 1;
        ppoVar19 = ppoVar19 + 1;
      } while ((FILE *)paVar15 != local_9c);
      iVar9 = iVar7 + 1;
      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);
      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;
      *(int *)pcVar16 = span[0].a;
      *(int *)(pcVar16 + 4) = span[0].b;
      *(int *)(pcVar16 + 8) = span[1].a;
      *(int *)(pcVar16 + 0xc) = span[1].b;
    }
    unaff_s3 = (int)pFVar22 + 1;
    if (nlen[0] < unaff_s3) break;
    *(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;
    iVar7 = iVar9;
  } while( true );
  if (iVar9 < 0) goto LAB_000d9a78;
LAB_000d987c:
  if (((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))
  goto LAB_000d9a68;
  pFVar23 = (FILE_and_pos_t *)puVar25;
  if ((*(uint *)PTR_option_mask32_0013135c & 0x40) != 0) goto LAB_000d9a68;
  if (local_b4 == (FILE_and_pos_t *)0x0) {
    iVar7 = *(int *)PTR_ptr_to_globals_00131330;
    pcVar16 = *(char **)(iVar7 + 0xc);
    if (pcVar16 == (char *)0x0) {
      pcVar16 = *file;
    }
    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);
    pcVar16 = *(char **)(iVar7 + 0x10);
    if (pcVar16 == (char *)0x0) {
      pcVar16 = file[1];
    }
    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);
  }
  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);
  local_9c = (FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47);
  local_ac = span;
  ppcVar20 = &local_9c->_IO_read_ptr;
  local_b4 = (FILE_and_pos_t *)nlen;
  iVar8 = 1;
  iVar7 = *(int *)PTR_ptr_to_globals_00131330;
  local_a8 = pFVar24;
  do {
    iVar9 = *(int *)(iVar7 + 4);
    pcVar16 = (char *)((int)local_a8->_flags - iVar9);
    if ((int)pcVar16 < 1) {
      pcVar16 = &DAT_00000001;
    }
    local_ac->a = (int)pcVar16;
    pcVar17 = *(char **)local_b4;
    if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {
      pcVar17 = *ppcVar20 + iVar9;
    }
    local_ac->b = (int)pcVar17;
    if (iVar8 == 1) {
      pcVar18 = pcVar17;
      if ((int)pcVar16 <= (int)pcVar17) {
        pcVar18 = pcVar16;
      }
      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);
      if (pcVar16 != pcVar17) goto LAB_000d99d8;
    }
    else {
      pcVar18 = pcVar17;
      if ((int)pcVar16 <= (int)pcVar17) {
        pcVar18 = pcVar16;
      }
      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);
      if (pcVar16 != pcVar17) {
LAB_000d99d8:
        pcVar18 = pcVar13;
        if ((int)pcVar16 < (int)pcVar17) {
          pcVar18 = pcVar17 + (1 - (int)pcVar16);
        }
        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);
      }
      if (1 < iVar8) break;
    }
    local_a8 = (FILE *)&local_a8->_IO_read_end;
    local_ac = local_ac + 1;
    ppcVar20 = ppcVar20 + 2;
    local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);
    iVar8 = iVar8 + 1;
  } while( true );
  (*(code *)PTR_puts_00131fd0)(PTR_bdcommands_4__name_4__001311a4 + 0x4588);
  pFVar22 = ft;
  pFVar27 = ft + 1;
  pcVar16 = (char *)span[0].a;
  pFVar10 = pFVar24;
  do {
    pFVar21 = pFVar24;
    if (local_9c < pFVar24) {
      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);
      pFVar24 = pFVar10;
      pFVar23 = (FILE_and_pos_t *)puVar25;
LAB_000d9a68:
      local_b4 = pFVar23;
      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;
LAB_000d9a78:
      (*(code *)PTR_free_00132180)(pFVar24);
      (*(code *)PTR_free_00132180)(ix[0]);
      (*(code *)PTR_free_00132180)(ix[1]);
      (*(code *)PTR_free_00132180)(pFVar26);
      pFVar23 = pFVar27;
      if (local_b4 != (FILE_and_pos_t *)0x0) {
        pcVar13 = (char *)0x1;
LAB_000d9ad8:
        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;
        pFVar23 = pFVar27;
      }
LAB_000d9af0:
      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;
      fclose_if_not_stdin(fp[0]);
      fclose_if_not_stdin(fp[1]);
      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {
        return (int)pcVar13;
      }
      (*(code *)PTR___stack_chk_fail_001320e4)();
      pFVar10 = pFVar24;
      pFVar27 = pFVar23;
    }
    (*local_b0)(pFVar22);
    (*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);
    (*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);
    pFVar24 = (FILE *)&pFVar21->_IO_write_base;
    pcVar16 = pFVar21->_IO_read_ptr + 1;
  } while( true );
}



int FUN_000d9278(int *****param_1)

{
  uint *puVar1;
  int *piVar2;
  bool bVar3;
  undefined *puVar4;
  int *****pppppiVar5;
  int *****pppppiVar6;
  int iVar7;
  int *****pppppiVar8;
  char *pcVar9;
  int iVar10;
  int *piVar11;
  int ****ppppiVar12;
  int ****ppppiVar13;
  uint uVar14;
  int ****ppppiVar15;
  int *piVar16;
  int iVar17;
  int *****pppppiVar18;
  int *****pppppiVar19;
  int iVar20;
  int *****unaff_s3;
  int *****pppppiVar21;
  undefined1 *puVar22;
  int *****pppppiVar23;
  int *****pppppiVar24;
  undefined *puVar25;
  longlong lVar26;
  int ****local_b4;
  code *local_b0;
  int ****local_ac;
  int ****local_a8;
  undefined *local_a0;
  int ****local_9c;
  undefined *local_90;
  undefined *local_8c;
  int ****local_88 [4];
  int local_78 [2];
  int ****local_70 [2];
  int ***local_68;
  int ****local_64;
  int ****local_60 [4];
  int ****local_50 [5];
  int ****local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined2 local_30;
  undefined1 local_2e;
  int local_2c;
  
  pppppiVar21 = (int *****)PTR_FUN_001311a4;
  local_2c = *(int *)PTR___stack_chk_guard_00132164;
  local_88[0] = *(int *****)PTR_stdin_00131efc;
  pppppiVar19 = local_88;
  pppppiVar24 = param_1 + 2;
  puVar22 = PTR_LAB_0013118c + 0x6e58;
  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);
  pppppiVar8 = param_1;
  local_88[1] = local_88[0];
  do {
    ppppiVar13 = *pppppiVar8;
    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {
      pppppiVar5 = (int *****)0x0;
    }
    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {
      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();
      if (pppppiVar5 == (int *****)0xffffffff) {
        iVar7 = 0;
        goto LAB_000d9af0;
      }
    }
    else {
      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);
      if (pppppiVar5 == (int *****)0xffffffff) {
        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);
      }
    }
    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);
    pppppiVar6 = pppppiVar5;
    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {
      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);
      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);
      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);
      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);
      local_3c = (int ****)pppppiVar23;
      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);
      (*(code *)PTR_unlink_001320a8)(&local_3c);
      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);
      if (iVar7 < 0) {
        iVar7 = (*(code *)PTR_FUN_001311b4)();
        return iVar7;
      }
      if (pppppiVar5 != (int *****)0x0) {
        (*(code *)PTR_close_00131ca8)(pppppiVar5);
      }
      (*(code *)PTR_FUN_001316c8)(pppppiVar6);
      unaff_s3 = pppppiVar6;
    }
    ppppiVar13 = (int ****)
                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))
    ;
    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;
    *pppppiVar19 = ppppiVar13;
    pppppiVar8 = pppppiVar8 + 1;
    pppppiVar19 = pppppiVar19 + 1;
  } while (pppppiVar8 != pppppiVar24);
  puVar22 = (undefined1 *)0x0;
  pppppiVar19 = (int *****)0x0;
  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;
  local_b4 = (int ****)&DAT_00000001;
  while( true ) {
    pppppiVar23 = (int *****)local_88[0];
    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);
    pppppiVar21 = (int *****)local_88[1];
    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);
    if (unaff_s3 != pppppiVar8) {
      if ((int)unaff_s3 < (int)pppppiVar8) {
        pppppiVar8 = unaff_s3;
      }
      puVar22 = &DAT_00000001;
    }
    if (pppppiVar8 == (int *****)0x0) break;
    if (0 < (int)pppppiVar8) {
      pcVar9 = PTR_bb_common_bufsiz1_0013136c;
      do {
        pppppiVar21 = (int *****)local_b4;
        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {
          pppppiVar19 = pppppiVar21;
          if (pcVar9[0x200] != *pcVar9) {
            puVar22 = &DAT_00000001;
          }
        }
        else {
          puVar22 = &DAT_00000001;
          pppppiVar19 = (int *****)local_b4;
        }
        pcVar9 = pcVar9 + 1;
      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));
    }
  }
  iVar7 = 0;
  pppppiVar24 = pppppiVar5;
  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;
  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {
    iVar7 = 2;
    goto LAB_000d9ad8;
  }
  local_60[0] = (int ****)pppppiVar23;
  local_50[0] = (int ****)pppppiVar21;
  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);
  local_b4 = (int ****)0x0;
  unaff_s3 = (int *****)&DAT_00000001;
  pppppiVar21 = (int *****)0x0;
  local_90 = PTR_FUN_001311a4;
  local_a0 = PTR_FUN_001311a4 + 0x457c;
  local_8c = PTR_FUN_001311a4 + 0x4584;
  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);
LAB_000d9610:
  puVar4 = PTR_FUN_001313dc;
  puVar25 = PTR_DAT_00131330;
  bVar3 = false;
  iVar17 = -1;
  local_9c = (int ****)local_60;
  do {
    local_70[0] = (int ****)unaff_s3;
    if (((int)unaff_s3 <= (int)local_88[2]) &&
       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,
       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {
      do {
        local_70[0] = (int ****)((int)local_70[0] + 1);
        if ((int)local_88[2] < (int)local_70[0]) {
          goto LAB_000d9698;
        }
        ppppiVar13 = *pppppiVar19;
        pppppiVar8 = pppppiVar19 + 1;
        pppppiVar19 = pppppiVar19 + 1;
      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));
    }
LAB_000d9698:
    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);
    local_70[1] = (int ****)((int)local_70[0] + -1);
    if (((int)local_70[0] + -1 < (int)local_88[2]) &&
       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),
       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {
      do {
        local_70[1] = (int ****)pppppiVar19;
        if (local_70[1] == local_88[2]) {
          goto LAB_000d96f8;
        }
        pppppiVar24 = pppppiVar8 + 1;
        pppppiVar8 = pppppiVar8 + 1;
        pppppiVar19 = (int *****)((int)local_70[1] + 1);
      } while (*pppppiVar24 == (int ****)0x0);
    }
LAB_000d96f8:
    pppppiVar19 = (int *****)local_70[1];
    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);
    local_64 = (int ****)pppppiVar5;
    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {
      if ((-1 < iVar17) &&
         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,
          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&
          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;
      pppppiVar8 = local_70;
      piVar16 = local_78;
      do {
        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {
          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);
          do {
            iVar10 = *piVar11;
            puVar1 = (uint *)(piVar11 + 1);
            piVar2 = piVar11 + -2;
            uVar14 = *puVar1 - piVar11[-1];
            piVar11 = piVar11 + 2;
            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));
          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));
        }
        pppppiVar8 = pppppiVar8 + 2;
        piVar16 = piVar16 + 1;
      } while (pppppiVar8 != (int *****)local_9c);
      iVar17 = iVar17 + 1;
      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);
      pppppiVar8 = pppppiVar21 + iVar17 * 4;
      *pppppiVar8 = local_70[0];
      pppppiVar8[1] = local_70[1];
      pppppiVar8[2] = (int ****)local_68;
      pppppiVar8[3] = local_64;
    }
    unaff_s3 = (int *****)((int)pppppiVar19 + 1);
    if ((int)local_88[2] < (int)unaff_s3) break;
    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;
  } while( true );
  if (iVar17 < 0) goto LAB_000d9a78;
LAB_000d987c:
  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))
  goto LAB_000d9a68;
  ppppiVar13 = (int ****)puVar22;
  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;
  if (local_b4 == (int ****)0x0) {
    iVar10 = *(int *)PTR_DAT_00131330;
    ppppiVar13 = *(int *****)(iVar10 + 0xc);
    if (ppppiVar13 == (int ****)0x0) {
      ppppiVar13 = *param_1;
    }
    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);
    ppppiVar13 = *(int *****)(iVar10 + 0x10);
    if (ppppiVar13 == (int ****)0x0) {
      ppppiVar13 = param_1[1];
    }
    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);
  }
  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);
  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);
  local_ac = (int ****)local_70;
  pppppiVar19 = (int *****)local_9c + 1;
  local_b4 = (int ****)(local_88 + 2);
  iVar10 = 1;
  iVar17 = *(int *)PTR_DAT_00131330;
  local_a8 = (int ****)pppppiVar21;
  do {
    iVar20 = *(int *)(iVar17 + 4);
    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);
    if ((int)ppppiVar13 < 1) {
      ppppiVar13 = (int ****)0x1;
    }
    *local_ac = (int ***)ppppiVar13;
    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);
    ppppiVar15 = (int ****)*local_b4;
    if ((int)ppppiVar12 <= (int)*local_b4) {
      ppppiVar15 = ppppiVar12;
    }
    local_ac[1] = (int ***)ppppiVar15;
    if (iVar10 == 1) {
      ppppiVar12 = ppppiVar15;
      if ((int)ppppiVar13 <= (int)ppppiVar15) {
        ppppiVar12 = ppppiVar13;
      }
      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);
      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;
    }
    else {
      ppppiVar12 = ppppiVar15;
      if ((int)ppppiVar13 <= (int)ppppiVar15) {
        ppppiVar12 = ppppiVar13;
      }
      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);
      if (ppppiVar13 != ppppiVar15) {
LAB_000d99d8:
        iVar20 = iVar7;
        if ((int)ppppiVar13 < (int)ppppiVar15) {
          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);
        }
        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);
      }
      if (1 < iVar10) break;
    }
    local_a8 = local_a8 + 2;
    local_ac = local_ac + 2;
    pppppiVar19 = pppppiVar19 + 2;
    local_b4 = local_b4 + 1;
    iVar10 = iVar10 + 1;
  } while( true );
  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);
  pppppiVar19 = local_60;
  pppppiVar5 = local_50;
  pppppiVar8 = (int *****)local_70[0];
  pppppiVar6 = pppppiVar21;
  do {
    pppppiVar18 = pppppiVar21;
    if (local_9c < pppppiVar21) {
      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);
      pppppiVar21 = pppppiVar6;
      ppppiVar13 = (int ****)puVar22;
LAB_000d9a68:
      local_b4 = ppppiVar13;
      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;
LAB_000d9a78:
      (*(code *)PTR_free_00132180)(pppppiVar21);
      (*(code *)PTR_free_00132180)(local_78[0]);
      (*(code *)PTR_free_00132180)(local_78[1]);
      (*(code *)PTR_free_00132180)(pppppiVar23);
      pppppiVar24 = pppppiVar5;
      if (local_b4 != (int ****)0x0) {
        iVar7 = 1;
LAB_000d9ad8:
        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;
        pppppiVar24 = pppppiVar5;
      }
LAB_000d9af0:
      pppppiVar18 = (int *****)PTR_FUN_00131418;
      FUN_000f12b4(local_88[0]);
      FUN_000f12b4(local_88[1]);
      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {
        return iVar7;
      }
      (*(code *)PTR___stack_chk_fail_001320e4)();
      pppppiVar6 = pppppiVar21;
      pppppiVar5 = pppppiVar24;
    }
    (*local_b0)(pppppiVar19);
    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);
    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);
    pppppiVar21 = pppppiVar18 + 4;
    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);
  } while( true );
}


lui gp,0x6
addiu gp,gp,-0x128
addu gp,gp,t9
addiu sp,sp,-0xd8
sw ra,0xd4(sp)
sw s8,0xd0(sp)
sw s7,0xcc(sp)
sw s6,0xc8(sp)
sw s5,0xc4(sp)
sw s4,0xc0(sp)
sw s3,0xbc(sp)
sw s2,0xb8(sp)
sw s1,0xb4(sp)
sw s0,0xb0(sp)
sw gp,0x18(sp)
sw a0,0x34(sp)
lw v0,-0x6fec(gp)
lw v0,0x0(v0)
sw v0,0xac(sp)
lw v0,-0x7254(gp)
lw v0,0x0(v0)
sw v0,0x50(sp)
sw v0,0x54(sp)
or s1,a0,zero
addiu s2,sp,0x50
addiu s7,a0,0x8
lw v0,-0x7fc4(gp)
addiu s5,v0,0x6e58
lw s4,-0x7fac(gp)
lw s6,0x458c(s4)
lw s8,-0x7fac(gp)
lw a0,0x0(s1)
lbu v1,0x0(a0)
li v0,0x2d
bne v1,v0,0x000d9314
_lw v0,-0x7df4(gp)
lbu v0,0x1(a0)
beq v0,zero,0x000d9448
_lw v0,-0x7df4(gp)
lw v0,0x0(v0)
andi v0,v0,0x20
bne v0,zero,0x000d940c
_or a1,zero,zero
lw t9,-0x7d50(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s0,v0,zero
li v0,-0x1
beq s0,v0,0x000d9bc8
_nop
sw zero,0x10(sp)
or a3,zero,zero
or a2,zero,zero
or a0,s0,zero
lw t9,-0x713c(gp)
jalr t9
_nop
lw gp,0x18(sp)
li a0,-0x1
bne v0,a0,0x000d948c
_li v0,-0x1
bne v1,v0,0x000d948c
_lw v0,-0x7f78(gp)
lw v0,0x0(v0)
lw v1,0x0(v0)
li v0,0x1d
bne v1,v0,0x000d948c
_addiu v0,s4,0x458c
lw a0,0x4(v0)
lw v1,0x8(v0)
sw s6,0x9c(sp)
sw a0,0xa0(sp)
sw v1,0xa4(sp)
lhu v1,0xc(v0)
sh v1,0xa8(sp)
lbu v0,0xe(v0)
sb v0,0xaa(sp)
addiu v0,sp,0x9c
sw v0,0x24(sp)
or a0,v0,zero
lw t9,-0x75f0(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s3,v0,zero
lw a0,0x24(sp)
lw t9,-0x70a8(gp)
jalr t9
_nop
lw gp,0x18(sp)
or a1,s3,zero
or a0,s0,zero
lw t9,-0x7dbc(gp)
jalr t9
_nop
lw gp,0x18(sp)
bgez v0,0x000d9450
_lw t9,-0x7f9c(gp)
jalr t9
_nop
lw t9,-0x7234(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s0,v0,zero
li v0,-0x1
bne s0,v0,0x000d9344
_or a1,zero,zero
or a0,s5,zero
lw t9,-0x7ebc(gp)
jalr t9
_nop
lw gp,0x18(sp)
b 0x000d9344
_or s0,v0,zero
b 0x000d9344
_or s0,zero,zero
beq s0,zero,0x000d9468
_or a0,s0,zero
lw t9,-0x74a8(gp)
jalr t9
_nop
lw gp,0x18(sp)
sw zero,0x10(sp)
or a3,zero,zero
or a2,zero,zero
or a0,s3,zero
lw t9,-0x7a88(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s0,s3,zero
addiu a1,s8,0x2244
or a0,s0,zero
lw t9,-0x6f60(gp)
jalr t9
_nop
lw gp,0x18(sp)
sw v0,0x0(s2)
addiu s1,s1,0x4
bne s1,s7,0x000d92f4
_addiu s2,s2,0x4
or s5,zero,zero
or s2,zero,zero
li s1,0x1
lw s7,-0x7de4(gp)
addiu s8,s7,0x200
sw s1,0x24(sp)
lw s6,0x50(sp)
or a3,s6,zero
li a2,0x200
or a1,s1,zero
or a0,s7,zero
lw t9,-0x712c(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s3,v0,zero
lw s4,0x54(sp)
or a3,s4,zero
li a2,0x200
or a1,s1,zero
or a0,s8,zero
lw t9,-0x712c(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq s3,v0,0x000d952c
_or s0,v0,zero
slt v0,s3,v0
movn s0,s3,v0
li s5,0x1
beq s0,zero,0x000d958c
_nop
blez s0,0x000d94cc
_lw v0,-0x7de4(gp)
addu s0,s0,v0
lbu a0,0x0(v0)
beq a0,zero,0x000d9578
_or v1,v0,zero
lbu a1,0x200(v0)
beq a1,zero,0x000d9580
_nop
lbu v1,0x200(v1)
xor v1,v1,a0
movn s5,s1,v1
addiu v0,v0,0x1
bne v0,s0,0x000d9540
_nop
b 0x000d94d0
_lw s6,0x50(sp)
b 0x000d9558
_lw s2,0x24(sp)
lw s2,0x24(sp)
b 0x000d9564
_li s5,0x1
beq s5,zero,0x000d9af0
_lw a0,0x50(sp)
beq s2,zero,0x000d95ac
_lw v0,-0x7df4(gp)
lw v0,0x0(v0)
andi v0,v0,0x1
beq v0,zero,0x000d9bc0
_nop
sw s6,0x78(sp)
sw s4,0x88(sp)
addiu a2,sp,0x60
addiu a1,sp,0x58
addiu a0,sp,0x78
lw t9,-0x7558(gp)
addiu t9,t9,-0x7cd8
bal 0x000d8328
_nop
lw gp,0x18(sp)
or s6,v0,zero
sw zero,0x24(sp)
li s3,0x1
or s4,zero,zero
lw v0,-0x7fac(gp)
sw v0,0x48(sp)
lw v0,-0x7fac(gp)
addiu v0,v0,0x457c
sw v0,0x38(sp)
lw v0,-0x7fac(gp)
addiu v0,v0,0x4584
sw v0,0x4c(sp)
lw v0,-0x7558(gp)
addiu v0,v0,-0x708c
sw v0,0x28(sp)
or s8,zero,zero
li s1,-0x1
lui v0,0x3fff
ori v0,v0,0xffff
sw v0,0x30(sp)
addiu v0,sp,0x78
sw v0,0x3c(sp)
lw v0,-0x7d74(gp)
sw v0,0x40(sp)
lw v0,-0x7e20(gp)
sw v0,0x44(sp)
sw s3,0x68(sp)
lw a1,0x58(sp)
slt v0,a1,s3
bne v0,zero,0x000d9698
_or v1,s3,zero
sll v0,s3,0x2
addu v0,s6,v0
lw a0,-0x4(v0)
addiu a0,a0,0x1
lw a2,0x0(v0)
bne a2,a0,0x000d9698
_addiu a0,s3,0x1
slt a2,a1,a0
bne a2,zero,0x000d9864
_or v1,a0,zero
or a3,v0,zero
addiu a0,a0,0x1
lw a2,0x0(a3)
addiu a2,a2,0x1
lw a3,0x4(a3)
beq a3,a2,0x000d966c
_addiu v0,v0,0x4
sw v1,0x68(sp)
or a2,v1,zero
lw v0,0x30(sp)
addu v0,v1,v0
sll v0,v0,0x2
addu a0,s6,v0
lw a0,0x0(a0)
addiu a0,a0,0x1
sw a0,0x70(sp)
addiu s2,v1,-0x1
slt a3,s2,a1
beq a3,zero,0x000d96f8
_sw s2,0x6c(sp)
addiu v0,v0,0x4
addu v0,s6,v0
lw a3,0x0(v0)
bne a3,zero,0x000d96f8
_nop
beq a2,a1,0x000d986c
_or s2,a2,zero
lw a3,0x4(v0)
addiu a2,a2,0x1
beq a3,zero,0x000d96dc
_addiu v0,v0,0x4
sw s2,0x6c(sp)
addiu v0,s2,0x1
sll v0,v0,0x2
sw v0,0x2c(sp)
addu v0,s6,v0
lw s7,0x0(v0)
addiu s7,s7,-0x1
slt v0,s2,v1
beq v0,zero,0x000d9728
_sw s7,0x74(sp)
slt v0,s7,a0
bne v0,zero,0x000d9844
_nop
bltz s1,0x000d9770
_lw v0,0x44(sp)
lw v0,0x0(v0)
lw v0,0x4(v0)
sll v0,v0,0x1
addiu v0,v0,0x1
sll a2,s1,0x4
addu a2,s4,a2
lw a1,0x4(a2)
addu a1,v0,a1
slt v1,a1,v1
beq v1,zero,0x000d9770
_nop
lw v1,0xc(a2)
addu v0,v0,v1
slt v0,v0,a0
bne v0,zero,0x000d987c
_lw v0,-0x7df4(gp)
addiu a2,sp,0x68
addiu a3,sp,0x60
lw v0,0x0(a2)
lw a0,0x4(a2)
slt v1,a0,v0
bne v1,zero,0x000d97d8
_sll v0,v0,0x3
lw v1,0x0(a3)
addu v0,v1,v0
addiu v1,v1,0x8
sll a0,a0,0x3
addu a0,v1,a0
lw v1,0x0(v0)
lw t0,0x4(v0)
lw t1,-0x8(v0)
lw a1,-0x4(v0)
subu a1,t0,a1
sltu t0,t0,a1
subu v1,v1,t1
subu v1,v1,t0
xori a1,a1,0x1
or v1,v1,a1
sltu v1,zero,v1
addiu v0,v0,0x8
bne v0,a0,0x000d97a0
_or s8,s8,v1
addiu a2,a2,0x8
lw v0,0x3c(sp)
bne a2,v0,0x000d9778
_addiu a3,a3,0x4
addiu s1,s1,0x1
or a2,s1,zero
li a1,0x1006
or a0,s4,zero
lw t9,0x40(sp)
jalr t9
_nop
lw gp,0x18(sp)
or s4,v0,zero
sll v0,s1,0x4
addu v0,s4,v0
lw a2,0x68(sp)
lw a1,0x6c(sp)
lw a0,0x70(sp)
lw v1,0x74(sp)
swl a2,0x0(v0)
swr a2,0x3(v0)
swl a1,0x4(v0)
swr a1,0x7(v0)
swl a0,0x8(v0)
swr a0,0xb(v0)
swl v1,0xc(v0)
swr v1,0xf(v0)
addiu s3,s2,0x1
lw v0,0x58(sp)
slt v0,v0,s3
bne v0,zero,0x000d9874
_lw v0,0x2c(sp)
addu v0,s6,v0
b 0x000d963c
_sw s7,-0x4(v0)
b 0x000d9698
_sw a0,0x68(sp)
b 0x000d96f8
_sw a2,0x6c(sp)
bltz s1,0x000d9a78
_lw v0,-0x7df4(gp)
lw v0,0x0(v0)
ext v1,v0,0x10,0x1
beq v1,zero,0x000d9894
_nop
beq s8,zero,0x000d9a68
_nop
andi v0,v0,0x40
bne v0,zero,0x000d9bb8
_lw v0,0x24(sp)
bne v0,zero,0x000d9904
_lw v0,-0x7e20(gp)
lw s2,0x0(v0)
lw a2,0xc(s2)
bne a2,zero,0x000d98bc
_lw v0,0x34(sp)
lw a2,0x0(v0)
lw a1,-0x7fac(gp)
addiu a1,a1,0x4568
li a0,0x1
lw t9,-0x7304(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw a2,0x10(s2)
bne a2,zero,0x000d98e8
_lw v0,0x34(sp)
lw a2,0x4(v0)
lw a1,-0x7fac(gp)
addiu a1,a1,0x4570
li a0,0x1
lw t9,-0x7304(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x48(sp)
addiu a1,v0,0x4578
li a0,0x1
lw t9,-0x7304(gp)
jalr t9
_nop
lw gp,0x18(sp)
sll s1,s1,0x4
addu v0,s4,s1
sw v0,0x3c(sp)
sw s4,0x30(sp)
addiu v1,sp,0x68
sw v1,0x2c(sp)
addiu s8,v0,0x4
addiu v0,sp,0x58
sw v0,0x24(sp)
li s7,0x1
lw v0,-0x7e20(gp)
lw v0,0x0(v0)
sw v0,0x40(sp)
lw v0,0x40(sp)
lw s2,0x4(v0)
lw v0,0x30(sp)
lw s1,0x0(v0)
subu s1,s1,s2
li v1,0x1
slt v0,zero,s1
movz s1,v1,v0
lw a0,0x2c(sp)
sw s1,0x0(a0)
lw v0,0x0(s8)
addu v0,s2,v0
lw a1,0x24(sp)
lw a2,0x0(a1)
slt s2,a2,v0
movz a2,v0,s2
or s2,a2,zero
beq s7,v1,0x000d9bd0
_sw a2,0x4(a0)
slt a3,a2,s1
or v0,a2,zero
movz v0,s1,a3
or a3,v0,zero
li a2,0x2b
lw a1,0x38(sp)
li a0,0x1
lw t9,-0x7304(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq s1,s2,0x000d9a04
_slti v0,s7,0x2
slt v0,s1,s2
beq v0,zero,0x000d99e8
_or a2,s0,zero
subu s1,s2,s1
addiu a2,s1,0x1
lw a1,0x4c(sp)
li a0,0x1
lw t9,-0x7304(gp)
jalr t9
_nop
lw gp,0x18(sp)
slti v0,s7,0x2
bne v0,zero,0x000d9c04
_lw a0,-0x7fac(gp)
addiu a0,a0,0x4588
lw t9,-0x7180(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw a2,0x68(sp)
or s1,s4,zero
addiu s2,sp,0x78
li s8,0x20
addiu s7,sp,0x88
lw v0,0x3c(sp)
sltu v0,v0,s1
beq v0,zero,0x000d9b38
_lw a1,0x60(sp)
li v0,0x20
sw v0,0x10(sp)
lw a3,0x6c(sp)
addiu a0,sp,0x78
lw t9,0x28(sp)
jalr t9
_nop
lw gp,0x18(sp)
sw s5,0x24(sp)
lw v0,0x58(sp)
slt v0,v0,s3
beq v0,zero,0x000d9610
_nop
or a0,s4,zero
lw t9,-0x6fd0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw a0,0x60(sp)
lw t9,-0x6fd0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw a0,0x64(sp)
lw t9,-0x6fd0(gp)
jalr t9
_nop
lw gp,0x18(sp)
or a0,s6,zero
lw t9,-0x6fd0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x24(sp)
beq v0,zero,0x000d9af0
_lw a0,0x50(sp)
li s0,0x1
lw v0,-0x7e20(gp)
lw v1,0x0(v0)
lbu v0,0x0(v1)
ori v0,v0,0x1
sb v0,0x0(v1)
lw a0,0x50(sp)
lw s1,-0x7d38(gp)
or t9,s1,zero
bal 0x000f12b4
_nop
lw gp,0x18(sp)
lw a0,0x54(sp)
or t9,s1,zero
bal 0x000f12b4
_nop
lw gp,0x18(sp)
or v0,s0,zero
lw a0,0xac(sp)
lw v1,-0x6fec(gp)
lw v1,0x0(v1)
beq a0,v1,0x000d9c34
_lw t9,-0x706c(gp)
jalr t9
_nop
lw a3,0x0(s1)
sw s8,0x10(sp)
addiu a3,a3,-0x1
or a0,s2,zero
lw t9,0x28(sp)
jalr t9
_nop
lw gp,0x18(sp)
lw a3,0x4(s1)
lw a2,0x0(s1)
li v0,0x2d
sw v0,0x10(sp)
lw a1,0x60(sp)
or a0,s2,zero
lw t9,0x28(sp)
jalr t9
_nop
lw gp,0x18(sp)
lw a3,0xc(s1)
lw a2,0x8(s1)
li v0,0x2b
sw v0,0x10(sp)
lw a1,0x64(sp)
or a0,s7,zero
lw t9,0x28(sp)
jalr t9
_nop
lw gp,0x18(sp)
addiu s1,s1,0x10
lw a2,-0xc(s1)
b 0x000d9a34
_addiu a2,a2,0x1
b 0x000d9a68
_sw s5,0x24(sp)
b 0x000d9ad8
_li s0,0x2
b 0x000d9aec
_or s0,zero,zero
slt a3,a2,s1
or v0,a2,zero
movz v0,s1,a3
or a3,v0,zero
li a2,0x2d
lw a1,0x38(sp)
li a0,0x1
lw t9,-0x7304(gp)
jalr t9
_nop
lw gp,0x18(sp)
bne s1,s2,0x000d99d8
_slt v0,s1,s2
lw v0,0x30(sp)
addiu v0,v0,0x8
sw v0,0x30(sp)
lw v0,0x2c(sp)
addiu v0,v0,0x8
sw v0,0x2c(sp)
addiu s8,s8,0x8
lw v0,0x24(sp)
addiu v0,v0,0x4
sw v0,0x24(sp)
b 0x000d9954
_addiu s7,s7,0x1
lw ra,0xd4(sp)
lw s8,0xd0(sp)
lw s7,0xcc(sp)
lw s6,0xc8(sp)
lw s5,0xc4(sp)
lw s4,0xc0(sp)
lw s3,0xbc(sp)
lw s2,0xb8(sp)
lw s1,0xb4(sp)
lw s0,0xb0(sp)
jr ra
_addiu sp,sp,0xd8
(translation_unit "int FUN_000d9278(int *****param_1)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}\n\n" (function_definition "int FUN_000d9278(int *****param_1)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}" primitive_type (function_declarator "FUN_000d9278(int *****param_1)" identifier (parameter_list "(int *****param_1)" ( (parameter_declaration "int *****param_1" primitive_type (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))) ))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *****pppppiVar5;" primitive_type (pointer_declarator "*****pppppiVar5" * (pointer_declarator "****pppppiVar5" * (pointer_declarator "***pppppiVar5" * (pointer_declarator "**pppppiVar5" * (pointer_declarator "*pppppiVar5" * identifier))))) ;) (declaration "int *****pppppiVar6;" primitive_type (pointer_declarator "*****pppppiVar6" * (pointer_declarator "****pppppiVar6" * (pointer_declarator "***pppppiVar6" * (pointer_declarator "**pppppiVar6" * (pointer_declarator "*pppppiVar6" * identifier))))) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *****pppppiVar8;" primitive_type (pointer_declarator "*****pppppiVar8" * (pointer_declarator "****pppppiVar8" * (pointer_declarator "***pppppiVar8" * (pointer_declarator "**pppppiVar8" * (pointer_declarator "*pppppiVar8" * identifier))))) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int ****ppppiVar12;" primitive_type (pointer_declarator "****ppppiVar12" * (pointer_declarator "***ppppiVar12" * (pointer_declarator "**ppppiVar12" * (pointer_declarator "*ppppiVar12" * identifier)))) ;) (declaration "int ****ppppiVar13;" primitive_type (pointer_declarator "****ppppiVar13" * (pointer_declarator "***ppppiVar13" * (pointer_declarator "**ppppiVar13" * (pointer_declarator "*ppppiVar13" * identifier)))) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int ****ppppiVar15;" primitive_type (pointer_declarator "****ppppiVar15" * (pointer_declarator "***ppppiVar15" * (pointer_declarator "**ppppiVar15" * (pointer_declarator "*ppppiVar15" * identifier)))) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int *****pppppiVar18;" primitive_type (pointer_declarator "*****pppppiVar18" * (pointer_declarator "****pppppiVar18" * (pointer_declarator "***pppppiVar18" * (pointer_declarator "**pppppiVar18" * (pointer_declarator "*pppppiVar18" * identifier))))) ;) (declaration "int *****pppppiVar19;" primitive_type (pointer_declarator "*****pppppiVar19" * (pointer_declarator "****pppppiVar19" * (pointer_declarator "***pppppiVar19" * (pointer_declarator "**pppppiVar19" * (pointer_declarator "*pppppiVar19" * identifier))))) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *****unaff_s3;" primitive_type (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))) ;) (declaration "int *****pppppiVar21;" primitive_type (pointer_declarator "*****pppppiVar21" * (pointer_declarator "****pppppiVar21" * (pointer_declarator "***pppppiVar21" * (pointer_declarator "**pppppiVar21" * (pointer_declarator "*pppppiVar21" * identifier))))) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *****pppppiVar23;" primitive_type (pointer_declarator "*****pppppiVar23" * (pointer_declarator "****pppppiVar23" * (pointer_declarator "***pppppiVar23" * (pointer_declarator "**pppppiVar23" * (pointer_declarator "*pppppiVar23" * identifier))))) ;) (declaration "int *****pppppiVar24;" primitive_type (pointer_declarator "*****pppppiVar24" * (pointer_declarator "****pppppiVar24" * (pointer_declarator "***pppppiVar24" * (pointer_declarator "**pppppiVar24" * (pointer_declarator "*pppppiVar24" * identifier))))) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "int ****local_b4;" primitive_type (pointer_declarator "****local_b4" * (pointer_declarator "***local_b4" * (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier)))) ;) (declaration "code *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "int ****local_ac;" primitive_type (pointer_declarator "****local_ac" * (pointer_declarator "***local_ac" * (pointer_declarator "**local_ac" * (pointer_declarator "*local_ac" * identifier)))) ;) (declaration "int ****local_a8;" primitive_type (pointer_declarator "****local_a8" * (pointer_declarator "***local_a8" * (pointer_declarator "**local_a8" * (pointer_declarator "*local_a8" * identifier)))) ;) (declaration "undefined *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "int ****local_9c;" primitive_type (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))) ;) (declaration "undefined *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "int ****local_88 [4];" primitive_type (pointer_declarator "****local_88 [4]" * (pointer_declarator "***local_88 [4]" * (pointer_declarator "**local_88 [4]" * (pointer_declarator "*local_88 [4]" * (array_declarator "local_88 [4]" identifier [ number_literal ]))))) ;) (declaration "int local_78 [2];" primitive_type (array_declarator "local_78 [2]" identifier [ number_literal ]) ;) (declaration "int ****local_70 [2];" primitive_type (pointer_declarator "****local_70 [2]" * (pointer_declarator "***local_70 [2]" * (pointer_declarator "**local_70 [2]" * (pointer_declarator "*local_70 [2]" * (array_declarator "local_70 [2]" identifier [ number_literal ]))))) ;) (declaration "int ***local_68;" primitive_type (pointer_declarator "***local_68" * (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier))) ;) (declaration "int ****local_64;" primitive_type (pointer_declarator "****local_64" * (pointer_declarator "***local_64" * (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)))) ;) (declaration "int ****local_60 [4];" primitive_type (pointer_declarator "****local_60 [4]" * (pointer_declarator "***local_60 [4]" * (pointer_declarator "**local_60 [4]" * (pointer_declarator "*local_60 [4]" * (array_declarator "local_60 [4]" identifier [ number_literal ]))))) ;) (declaration "int ****local_50 [5];" primitive_type (pointer_declarator "****local_50 [5]" * (pointer_declarator "***local_50 [5]" * (pointer_declarator "**local_50 [5]" * (pointer_declarator "*local_50 [5]" * (array_declarator "local_50 [5]" identifier [ number_literal ]))))) ;) (declaration "int ****local_3c;" primitive_type (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined2 local_30;" type_identifier identifier ;) (declaration "undefined1 local_2e;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "pppppiVar21 = (int *****)PTR_FUN_001311a4;" (assignment_expression "pppppiVar21 = (int *****)PTR_FUN_001311a4" identifier = (cast_expression "(int *****)PTR_FUN_001311a4" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00132164;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00132164" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" * (cast_expression "(int *)PTR___stack_chk_guard_00132164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_88[0] = *(int *****)PTR_stdin_00131efc;" (assignment_expression "local_88[0] = *(int *****)PTR_stdin_00131efc" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (pointer_expression "*(int *****)PTR_stdin_00131efc" * (cast_expression "(int *****)PTR_stdin_00131efc" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;) (expression_statement "pppppiVar19 = local_88;" (assignment_expression "pppppiVar19 = local_88" identifier = identifier) ;) (expression_statement "pppppiVar24 = param_1 + 2;" (assignment_expression "pppppiVar24 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (expression_statement "puVar22 = PTR_LAB_0013118c + 0x6e58;" (assignment_expression "puVar22 = PTR_LAB_0013118c + 0x6e58" identifier = (binary_expression "PTR_LAB_0013118c + 0x6e58" identifier + number_literal)) ;) (expression_statement "pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);" (assignment_expression "pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c)" identifier = (pointer_expression "*(int ******)(PTR_FUN_001311a4 + 0x458c)" * (cast_expression "(int ******)(PTR_FUN_001311a4 + 0x458c)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_FUN_001311a4 + 0x458c)" ( (binary_expression "PTR_FUN_001311a4 + 0x458c" identifier + number_literal) ))))) ;) (expression_statement "pppppiVar8 = param_1;" (assignment_expression "pppppiVar8 = param_1" identifier = identifier) ;) (expression_statement "local_88[1] = local_88[0];" (assignment_expression "local_88[1] = local_88[0]" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (do_statement "do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);" do (compound_statement "{\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  }" { (expression_statement "ppppiVar13 = *pppppiVar8;" (assignment_expression "ppppiVar13 = *pppppiVar8" identifier = (pointer_expression "*pppppiVar8" * identifier)) ;) (if_statement "if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" if (parenthesized_expression "((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0'))" ( (binary_expression "(*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')" (parenthesized_expression "(*(char *)ppppiVar13 == '-')" ( (binary_expression "*(char *)ppppiVar13 == '-'" (pointer_expression "*(char *)ppppiVar13" * (cast_expression "(char *)ppppiVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)ppppiVar13 + 1) == '\0')" ( (binary_expression "*(char *)((int)ppppiVar13 + 1) == '\0'" (pointer_expression "*(char *)((int)ppppiVar13 + 1)" * (cast_expression "(char *)((int)ppppiVar13 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppiVar13 + 1)" ( (binary_expression "(int)ppppiVar13 + 1" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      pppppiVar5 = (int *****)0x0;\n    }" { (expression_statement "pppppiVar5 = (int *****)0x0;" (assignment_expression "pppppiVar5 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" else (if_statement "if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" if (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 0x20) == 0)" ( (binary_expression "(*(uint *)PTR_DAT_0013135c & 0x20) == 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 0x20)" ( (binary_expression "*(uint *)PTR_DAT_0013135c & 0x20" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }" { (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)()" identifier = (cast_expression "(int *****)(*(code *)PTR_FUN_00131400)()" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_FUN_00131400)()" (parenthesized_expression "(*(code *)PTR_FUN_00131400)" ( (pointer_expression "*(code *)PTR_FUN_00131400" * (cast_expression "(code *)PTR_FUN_00131400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }" if (parenthesized_expression "(pppppiVar5 == (int *****)0xffffffff)" ( (binary_expression "pppppiVar5 == (int *****)0xffffffff" identifier == (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000d9af0;" goto statement_identifier ;) })) }) (else_clause "else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" else (compound_statement "{\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" { (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" identifier = (cast_expression "(int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" (parenthesized_expression "(*(code *)PTR_open64_00131f1c)" ( (pointer_expression "*(code *)PTR_open64_00131f1c" * (cast_expression "(code *)PTR_open64_00131f1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppiVar13,0)" ( identifier , number_literal ))))) ;) (if_statement "if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }" if (parenthesized_expression "(pppppiVar5 == (int *****)0xffffffff)" ( (binary_expression "pppppiVar5 == (int *****)0xffffffff" identifier == (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }" { (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0)" identifier = (cast_expression "(int *****)(*(code *)PTR_FUN_00131294)(puVar22,0)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_FUN_00131294)(puVar22,0)" (parenthesized_expression "(*(code *)PTR_FUN_00131294)" ( (pointer_expression "*(code *)PTR_FUN_00131294" * (cast_expression "(code *)PTR_FUN_00131294" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22,0)" ( identifier , number_literal ))))) ;) })) }))))) (expression_statement "lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);" (assignment_expression "lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5)" identifier = (call_expression "(*(code *)PTR_lseek64_00132014)(pppppiVar5)" (parenthesized_expression "(*(code *)PTR_lseek64_00132014)" ( (pointer_expression "*(code *)PTR_lseek64_00132014" * (cast_expression "(code *)PTR_lseek64_00132014" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5)" ( identifier )))) ;) (expression_statement "pppppiVar6 = pppppiVar5;" (assignment_expression "pppppiVar6 = pppppiVar5" identifier = identifier) ;) (if_statement "if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }" if (parenthesized_expression "((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d))" ( (binary_expression "(lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)" (parenthesized_expression "(lVar26 == -1)" ( (binary_expression "lVar26 == -1" identifier == number_literal) )) && (parenthesized_expression "(**(int **)PTR_DAT_001311d8 == 0x1d)" ( (binary_expression "**(int **)PTR_DAT_001311d8 == 0x1d" (pointer_expression "**(int **)PTR_DAT_001311d8" * (pointer_expression "*(int **)PTR_DAT_001311d8" * (cast_expression "(int **)PTR_DAT_001311d8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) == number_literal) ))) )) (compound_statement "{\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }" { (expression_statement "local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);" (assignment_expression "local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590)" identifier = (pointer_expression "*(undefined4 *)((int)pppppiVar21 + 0x4590)" * (cast_expression "(undefined4 *)((int)pppppiVar21 + 0x4590)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x4590)" ( (binary_expression "(int)pppppiVar21 + 0x4590" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);" (assignment_expression "local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594)" identifier = (pointer_expression "*(undefined4 *)((int)pppppiVar21 + 0x4594)" * (cast_expression "(undefined4 *)((int)pppppiVar21 + 0x4594)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x4594)" ( (binary_expression "(int)pppppiVar21 + 0x4594" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);" (assignment_expression "local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598)" identifier = (pointer_expression "*(undefined2 *)((int)pppppiVar21 + 0x4598)" * (cast_expression "(undefined2 *)((int)pppppiVar21 + 0x4598)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x4598)" ( (binary_expression "(int)pppppiVar21 + 0x4598" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);" (assignment_expression "local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a)" identifier = (pointer_expression "*(undefined1 *)((int)pppppiVar21 + 0x459a)" * (cast_expression "(undefined1 *)((int)pppppiVar21 + 0x459a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x459a)" ( (binary_expression "(int)pppppiVar21 + 0x459a" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_3c = (int ****)pppppiVar23;" (assignment_expression "local_3c = (int ****)pppppiVar23" identifier = (cast_expression "(int ****)pppppiVar23" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);" (assignment_expression "pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c)" identifier = (cast_expression "(int *****)(*(code *)PTR_FUN_00131b60)(&local_3c)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_FUN_00131b60)(&local_3c)" (parenthesized_expression "(*(code *)PTR_FUN_00131b60)" ( (pointer_expression "*(code *)PTR_FUN_00131b60" * (cast_expression "(code *)PTR_FUN_00131b60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) ))))) ;) (expression_statement "(*(code *)PTR_unlink_001320a8)(&local_3c);" (call_expression "(*(code *)PTR_unlink_001320a8)(&local_3c)" (parenthesized_expression "(*(code *)PTR_unlink_001320a8)" ( (pointer_expression "*(code *)PTR_unlink_001320a8" * (cast_expression "(code *)PTR_unlink_001320a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) ))) ;) (expression_statement "iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);" (assignment_expression "iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6)" identifier = (call_expression "(*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6)" (parenthesized_expression "(*(code *)PTR_FUN_00131394)" ( (pointer_expression "*(code *)PTR_FUN_00131394" * (cast_expression "(code *)PTR_FUN_00131394" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5,pppppiVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }" { (expression_statement "iVar7 = (*(code *)PTR_FUN_001311b4)();" (assignment_expression "iVar7 = (*(code *)PTR_FUN_001311b4)()" identifier = (call_expression "(*(code *)PTR_FUN_001311b4)()" (parenthesized_expression "(*(code *)PTR_FUN_001311b4)" ( (pointer_expression "*(code *)PTR_FUN_001311b4" * (cast_expression "(code *)PTR_FUN_001311b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }" if (parenthesized_expression "(pppppiVar5 != (int *****)0x0)" ( (binary_expression "pppppiVar5 != (int *****)0x0" identifier != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }" { (expression_statement "(*(code *)PTR_close_00131ca8)(pppppiVar5);" (call_expression "(*(code *)PTR_close_00131ca8)(pppppiVar5)" (parenthesized_expression "(*(code *)PTR_close_00131ca8)" ( (pointer_expression "*(code *)PTR_close_00131ca8" * (cast_expression "(code *)PTR_close_00131ca8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_FUN_001316c8)(pppppiVar6);" (call_expression "(*(code *)PTR_FUN_001316c8)(pppppiVar6)" (parenthesized_expression "(*(code *)PTR_FUN_001316c8)" ( (pointer_expression "*(code *)PTR_FUN_001316c8" * (cast_expression "(code *)PTR_FUN_001316c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar6)" ( identifier ))) ;) (expression_statement "unaff_s3 = pppppiVar6;" (assignment_expression "unaff_s3 = pppppiVar6" identifier = identifier) ;) })) (expression_statement "ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;" (assignment_expression "ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" identifier = (cast_expression "(int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" (parenthesized_expression "(*(code *)PTR_fdopen_001321f0)" ( (pointer_expression "*(code *)PTR_fdopen_001321f0" * (cast_expression "(code *)PTR_fdopen_001321f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" ( identifier , (cast_expression "(undefined *)((int)pppppiVar21 + 0x2244)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x2244)" ( (binary_expression "(int)pppppiVar21 + 0x2244" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))))) ;) (expression_statement "pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c" identifier = (cast_expression "(int *****)PTR_bb_common_bufsiz1_0013136c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*pppppiVar19 = ppppiVar13;" (assignment_expression "*pppppiVar19 = ppppiVar13" (pointer_expression "*pppppiVar19" * identifier) = identifier) ;) (expression_statement "pppppiVar8 = pppppiVar8 + 1;" (assignment_expression "pppppiVar8 = pppppiVar8 + 1" identifier = (binary_expression "pppppiVar8 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = pppppiVar19 + 1;" (assignment_expression "pppppiVar19 = pppppiVar19 + 1" identifier = (binary_expression "pppppiVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppiVar8 != pppppiVar24)" ( (binary_expression "pppppiVar8 != pppppiVar24" identifier != identifier) )) ;) (expression_statement "puVar22 = (undefined1 *)0x0;" (assignment_expression "puVar22 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppiVar19 = (int *****)0x0;" (assignment_expression "pppppiVar19 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;" (assignment_expression "puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200" identifier = (binary_expression "PTR_bb_common_bufsiz1_0013136c + 0x200" identifier + number_literal)) ;) (expression_statement "local_b4 = (int ****)&DAT_00000001;" (assignment_expression "local_b4 = (int ****)&DAT_00000001" identifier = (cast_expression "(int ****)&DAT_00000001" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }" { (expression_statement "pppppiVar23 = (int *****)local_88[0];" (assignment_expression "pppppiVar23 = (int *****)local_88[0]" identifier = (cast_expression "(int *****)local_88[0]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_88[0]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);" (assignment_expression "unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" identifier = (cast_expression "(int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" ( (pointer_expression "*(code *)PTR_fread_00132024" * (cast_expression "(code *)PTR_fread_00132024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5,1,0x200,local_88[0])" ( identifier , number_literal , number_literal , (subscript_expression "local_88[0]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppiVar21 = (int *****)local_88[1];" (assignment_expression "pppppiVar21 = (int *****)local_88[1]" identifier = (cast_expression "(int *****)local_88[1]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_88[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);" (assignment_expression "pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" identifier = (cast_expression "(int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" ( (pointer_expression "*(code *)PTR_fread_00132024" * (cast_expression "(code *)PTR_fread_00132024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25,1,0x200,local_88[1])" ( identifier , number_literal , number_literal , (subscript_expression "local_88[1]" identifier [ number_literal ]) ))))) ;) (if_statement "if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }" if (parenthesized_expression "(unaff_s3 != pppppiVar8)" ( (binary_expression "unaff_s3 != pppppiVar8" identifier != identifier) )) (compound_statement "{\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }" { (if_statement "if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }" if (parenthesized_expression "((int)unaff_s3 < (int)pppppiVar8)" ( (binary_expression "(int)unaff_s3 < (int)pppppiVar8" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pppppiVar8 = unaff_s3;\n      }" { (expression_statement "pppppiVar8 = unaff_s3;" (assignment_expression "pppppiVar8 = unaff_s3" identifier = identifier) ;) })) (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) (if_statement "if (pppppiVar8 == (int *****)0x0) break;" if (parenthesized_expression "(pppppiVar8 == (int *****)0x0)" ( (binary_expression "pppppiVar8 == (int *****)0x0" identifier == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }" if (parenthesized_expression "(0 < (int)pppppiVar8)" ( (binary_expression "0 < (int)pppppiVar8" number_literal < (cast_expression "(int)pppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }" { (expression_statement "pcVar9 = PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pcVar9 = PTR_bb_common_bufsiz1_0013136c" identifier = identifier) ;) (do_statement "do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));" do (compound_statement "{\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      }" { (expression_statement "pppppiVar21 = (int *****)local_b4;" (assignment_expression "pppppiVar21 = (int *****)local_b4" identifier = (cast_expression "(int *****)local_b4" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" if (parenthesized_expression "((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0'))" ( (binary_expression "(*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')" (parenthesized_expression "(*pcVar9 == '\0')" ( (binary_expression "*pcVar9 == '\0'" (pointer_expression "*pcVar9" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')" ( (comma_expression "pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0'" (assignment_expression "pppppiVar21 = pppppiVar19" identifier = identifier) , (binary_expression "pcVar9[0x200] != '\0'" (subscript_expression "pcVar9[0x200]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }" { (expression_statement "pppppiVar19 = pppppiVar21;" (assignment_expression "pppppiVar19 = pppppiVar21" identifier = identifier) ;) (if_statement "if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }" if (parenthesized_expression "(pcVar9[0x200] != *pcVar9)" ( (binary_expression "pcVar9[0x200] != *pcVar9" (subscript_expression "pcVar9[0x200]" identifier [ number_literal ]) != (pointer_expression "*pcVar9" * identifier)) )) (compound_statement "{\n            puVar22 = &DAT_00000001;\n          }" { (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) }) (else_clause "else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" else (compound_statement "{\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" { (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) (expression_statement "pppppiVar19 = (int *****)local_b4;" (assignment_expression "pppppiVar19 = (int *****)local_b4" identifier = (cast_expression "(int *****)local_b4" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c))" ( (binary_expression "pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" identifier != (cast_expression "(char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" ( (binary_expression "(int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c" (cast_expression "(int)pppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)PTR_bb_common_bufsiz1_0013136c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) ;) })) })) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" identifier = identifier) ;) (if_statement "if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;" if (parenthesized_expression "(puVar22 == (undefined1 *)0x0)" ( (binary_expression "puVar22 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d9af0;" goto statement_identifier ;)) (if_statement "if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }" if (parenthesized_expression "((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0))" ( (binary_expression "(pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)" (parenthesized_expression "(pppppiVar19 != (int *****)0x0)" ( (binary_expression "pppppiVar19 != (int *****)0x0" identifier != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 1) == 0)" ( (binary_expression "(*(uint *)PTR_DAT_0013135c & 1) == 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 1)" ( (binary_expression "*(uint *)PTR_DAT_0013135c & 1" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_000d9ad8;" goto statement_identifier ;) })) (expression_statement "local_60[0] = (int ****)pppppiVar23;" (assignment_expression "local_60[0] = (int ****)pppppiVar23" (subscript_expression "local_60[0]" identifier [ number_literal ]) = (cast_expression "(int ****)pppppiVar23" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "local_50[0] = (int ****)pppppiVar21;" (assignment_expression "local_50[0] = (int ****)pppppiVar21" (subscript_expression "local_50[0]" identifier [ number_literal ]) = (cast_expression "(int ****)pppppiVar21" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);" (assignment_expression "pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78)" identifier = (cast_expression "(int *****)FUN_000d8328(local_60,local_88 + 2,local_78)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_000d8328(local_60,local_88 + 2,local_78)" identifier (argument_list "(local_60,local_88 + 2,local_78)" ( identifier , (binary_expression "local_88 + 2" identifier + number_literal) , identifier ))))) ;) (expression_statement "local_b4 = (int ****)0x0;" (assignment_expression "local_b4 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "unaff_s3 = (int *****)&DAT_00000001;" (assignment_expression "unaff_s3 = (int *****)&DAT_00000001" identifier = (cast_expression "(int *****)&DAT_00000001" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "pppppiVar21 = (int *****)0x0;" (assignment_expression "pppppiVar21 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_90 = PTR_FUN_001311a4;" (assignment_expression "local_90 = PTR_FUN_001311a4" identifier = identifier) ;) (expression_statement "local_a0 = PTR_FUN_001311a4 + 0x457c;" (assignment_expression "local_a0 = PTR_FUN_001311a4 + 0x457c" identifier = (binary_expression "PTR_FUN_001311a4 + 0x457c" identifier + number_literal)) ;) (expression_statement "local_8c = PTR_FUN_001311a4 + 0x4584;" (assignment_expression "local_8c = PTR_FUN_001311a4 + 0x4584" identifier = (binary_expression "PTR_FUN_001311a4 + 0x4584" identifier + number_literal)) ;) (expression_statement "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);" (assignment_expression "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c)" identifier = (cast_expression "(code *)(PTR_LAB_00131bf8 + -0x708c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00131bf8 + -0x708c)" ( (binary_expression "PTR_LAB_00131bf8 + -0x708c" identifier + number_literal) )))) ;) (labeled_statement "LAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;" statement_identifier : (expression_statement "puVar4 = PTR_FUN_001313dc;" (assignment_expression "puVar4 = PTR_FUN_001313dc" identifier = identifier) ;)) (expression_statement "puVar25 = PTR_DAT_00131330;" (assignment_expression "puVar25 = PTR_DAT_00131330" identifier = identifier) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" identifier = number_literal) ;) (expression_statement "local_9c = (int ****)local_60;" (assignment_expression "local_9c = (int ****)local_60" identifier = (cast_expression "(int ****)local_60" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (do_statement "do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );" do (compound_statement "{\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  }" { (expression_statement "local_70[0] = (int ****)unaff_s3;" (assignment_expression "local_70[0] = (int ****)unaff_s3" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (cast_expression "(int ****)unaff_s3" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }" if (parenthesized_expression "(((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)))" ( (binary_expression "((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))" (parenthesized_expression "((int)unaff_s3 <= (int)local_88[2])" ( (binary_expression "(int)unaff_s3 <= (int)local_88[2]" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ]))) )) && (parenthesized_expression "(pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))" ( (comma_expression "pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)" (assignment_expression "pppppiVar19 = pppppiVar23 + (int)unaff_s3" identifier = (binary_expression "pppppiVar23 + (int)unaff_s3" identifier + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "*pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)" (pointer_expression "*pppppiVar19" * identifier) == (cast_expression "(int ****)((int)pppppiVar19[-1] + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppiVar19[-1] + 1)" ( (binary_expression "(int)pppppiVar19[-1] + 1" (cast_expression "(int)pppppiVar19[-1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar19[-1]" identifier [ number_literal ])) + number_literal) ))))) ))) )) (compound_statement "{\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }" { (do_statement "do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));" do (compound_statement "{\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      }" { (expression_statement "local_70[0] = (int ****)((int)local_70[0] + 1);" (assignment_expression "local_70[0] = (int ****)((int)local_70[0] + 1)" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (cast_expression "(int ****)((int)local_70[0] + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)local_70[0] + 1)" ( (binary_expression "(int)local_70[0] + 1" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }" if (parenthesized_expression "((int)local_88[2] < (int)local_70[0])" ( (binary_expression "(int)local_88[2] < (int)local_70[0]" (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ])) < (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) )) (compound_statement "{\n          goto LAB_000d9698;\n        }" { (goto_statement "goto LAB_000d9698;" goto statement_identifier ;) })) (expression_statement "ppppiVar13 = *pppppiVar19;" (assignment_expression "ppppiVar13 = *pppppiVar19" identifier = (pointer_expression "*pppppiVar19" * identifier)) ;) (expression_statement "pppppiVar8 = pppppiVar19 + 1;" (assignment_expression "pppppiVar8 = pppppiVar19 + 1" identifier = (binary_expression "pppppiVar19 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = pppppiVar19 + 1;" (assignment_expression "pppppiVar19 = pppppiVar19 + 1" identifier = (binary_expression "pppppiVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pppppiVar8 == (int ****)((int)ppppiVar13 + 1))" ( (binary_expression "*pppppiVar8 == (int ****)((int)ppppiVar13 + 1)" (pointer_expression "*pppppiVar8" * identifier) == (cast_expression "(int ****)((int)ppppiVar13 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppiVar13 + 1)" ( (binary_expression "(int)ppppiVar13 + 1" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) ;) })) (labeled_statement "LAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);" statement_identifier : (expression_statement "local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);" (assignment_expression "local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" identifier = (cast_expression "(int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" ( (binary_expression "(int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1" (cast_expression "(int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)]" identifier [ (cast_expression "(int)((int)local_70[0] + 0x3fffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_70[0] + 0x3fffffff)" ( (binary_expression "(int)local_70[0] + 0x3fffffff" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) ))) ])) + number_literal) )))) ;)) (expression_statement "local_70[1] = (int ****)((int)local_70[0] + -1);" (assignment_expression "local_70[1] = (int ****)((int)local_70[0] + -1)" (subscript_expression "local_70[1]" identifier [ number_literal ]) = (cast_expression "(int ****)((int)local_70[0] + -1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)local_70[0] + -1)" ( (binary_expression "(int)local_70[0] + -1" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }" if (parenthesized_expression "(((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0))" ( (binary_expression "((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)" (parenthesized_expression "((int)local_70[0] + -1 < (int)local_88[2])" ( (binary_expression "(int)local_70[0] + -1 < (int)local_88[2]" (binary_expression "(int)local_70[0] + -1" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) < (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ]))) )) && (parenthesized_expression "(pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)" ( (comma_expression "pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0" (assignment_expression "pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000)" identifier = (binary_expression "pppppiVar23 + (int)(local_70[0] + 0x10000000)" identifier + (cast_expression "(int)(local_70[0] + 0x10000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_70[0] + 0x10000000)" ( (binary_expression "local_70[0] + 0x10000000" (subscript_expression "local_70[0]" identifier [ number_literal ]) + number_literal) ))))) , (comma_expression "pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0" (assignment_expression "pppppiVar19 = (int *****)local_70[0]" identifier = (cast_expression "(int *****)local_70[0]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) , (binary_expression "*pppppiVar8 == (int ****)0x0" (pointer_expression "*pppppiVar8" * identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)))) ))) )) (compound_statement "{\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }" { (do_statement "do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);" do (compound_statement "{\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      }" { (expression_statement "local_70[1] = (int ****)pppppiVar19;" (assignment_expression "local_70[1] = (int ****)pppppiVar19" (subscript_expression "local_70[1]" identifier [ number_literal ]) = (cast_expression "(int ****)pppppiVar19" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }" if (parenthesized_expression "(local_70[1] == local_88[2])" ( (binary_expression "local_70[1] == local_88[2]" (subscript_expression "local_70[1]" identifier [ number_literal ]) == (subscript_expression "local_88[2]" identifier [ number_literal ])) )) (compound_statement "{\n          goto LAB_000d96f8;\n        }" { (goto_statement "goto LAB_000d96f8;" goto statement_identifier ;) })) (expression_statement "pppppiVar24 = pppppiVar8 + 1;" (assignment_expression "pppppiVar24 = pppppiVar8 + 1" identifier = (binary_expression "pppppiVar8 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar8 = pppppiVar8 + 1;" (assignment_expression "pppppiVar8 = pppppiVar8 + 1" identifier = (binary_expression "pppppiVar8 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = (int *****)((int)local_70[1] + 1);" (assignment_expression "pppppiVar19 = (int *****)((int)local_70[1] + 1)" identifier = (cast_expression "(int *****)((int)local_70[1] + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_70[1] + 1)" ( (binary_expression "(int)local_70[1] + 1" (cast_expression "(int)local_70[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[1]" identifier [ number_literal ])) + number_literal) )))) ;) }) while (parenthesized_expression "(*pppppiVar24 == (int ****)0x0)" ( (binary_expression "*pppppiVar24 == (int ****)0x0" (pointer_expression "*pppppiVar24" * identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) })) (labeled_statement "LAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];" statement_identifier : (expression_statement "pppppiVar19 = (int *****)local_70[1];" (assignment_expression "pppppiVar19 = (int *****)local_70[1]" identifier = (cast_expression "(int *****)local_70[1]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_70[1]" identifier [ number_literal ]))) ;)) (expression_statement "pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);" (assignment_expression "pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" identifier = (cast_expression "(int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" ( (binary_expression "(int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1" (cast_expression "(int)pppppiVar23[(int)((int)local_70[1] + 1)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar23[(int)((int)local_70[1] + 1)]" identifier [ (cast_expression "(int)((int)local_70[1] + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_70[1] + 1)" ( (binary_expression "(int)local_70[1] + 1" (cast_expression "(int)local_70[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[1]" identifier [ number_literal ])) + number_literal) ))) ])) + number_literal) )))) ;) (expression_statement "local_64 = (int ****)pppppiVar5;" (assignment_expression "local_64 = (int ****)pppppiVar5" identifier = (cast_expression "(int ****)pppppiVar5" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }" if (parenthesized_expression "(((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5))" ( (binary_expression "((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)" (parenthesized_expression "((int)local_70[0] <= (int)local_70[1])" ( (binary_expression "(int)local_70[0] <= (int)local_70[1]" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) <= (cast_expression "(int)local_70[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[1]" identifier [ number_literal ]))) )) || (parenthesized_expression "((int)local_68 <= (int)pppppiVar5)" ( (binary_expression "(int)local_68 <= (int)pppppiVar5" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pppppiVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }" { (if_statement "if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;" if (parenthesized_expression "((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68))))" ( (binary_expression "(-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))" (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) && (parenthesized_expression "((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))" ( (parenthesized_expression "(iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68))" ( (comma_expression "iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (assignment_expression "iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1" identifier = (binary_expression "*(int *)(*(int *)puVar25 + 4) * 2 + 1" (binary_expression "*(int *)(*(int *)puVar25 + 4) * 2" (pointer_expression "*(int *)(*(int *)puVar25 + 4)" * (cast_expression "(int *)(*(int *)puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar25 + 4)" ( (binary_expression "*(int *)puVar25 + 4" (pointer_expression "*(int *)puVar25" * (cast_expression "(int *)puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) * number_literal) + number_literal)) , (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0]" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1]" identifier + (cast_expression "(int)pppppiVar21[iVar17 * 4 + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar21[iVar17 * 4 + 1]" identifier [ (binary_expression "iVar17 * 4 + 1" (binary_expression "iVar17 * 4" identifier * number_literal) + number_literal) ]))) < (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) && (parenthesized_expression "(iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" ( (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 3]" identifier + (cast_expression "(int)pppppiVar21[iVar17 * 4 + 3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar21[iVar17 * 4 + 3]" identifier [ (binary_expression "iVar17 * 4 + 3" (binary_expression "iVar17 * 4" identifier * number_literal) + number_literal) ]))) < (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) ))) )) (goto_statement "goto LAB_000d987c;" goto statement_identifier ;)) (expression_statement "pppppiVar8 = local_70;" (assignment_expression "pppppiVar8 = local_70" identifier = identifier) ;) (expression_statement "piVar16 = local_78;" (assignment_expression "piVar16 = local_78" identifier = identifier) ;) (do_statement "do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);" do (compound_statement "{\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      }" { (if_statement "if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }" if (parenthesized_expression "((int)*pppppiVar8 <= (int)pppppiVar8[1])" ( (binary_expression "(int)*pppppiVar8 <= (int)pppppiVar8[1]" (cast_expression "(int)*pppppiVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppiVar8" * identifier)) <= (cast_expression "(int)pppppiVar8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar8[1]" identifier [ number_literal ]))) )) (compound_statement "{\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }" { (expression_statement "piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);" (assignment_expression "piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8)" identifier = (cast_expression "(int *)(*piVar16 + (int)*pppppiVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + (int)*pppppiVar8 * 8)" ( (binary_expression "*piVar16 + (int)*pppppiVar8 * 8" (pointer_expression "*piVar16" * identifier) + (binary_expression "(int)*pppppiVar8 * 8" (cast_expression "(int)*pppppiVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppiVar8" * identifier)) * number_literal)) )))) ;) (do_statement "do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));" do (compound_statement "{\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          }" { (expression_statement "iVar10 = *piVar11;" (assignment_expression "iVar10 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "puVar1 = (uint *)(piVar11 + 1);" (assignment_expression "puVar1 = (uint *)(piVar11 + 1)" identifier = (cast_expression "(uint *)(piVar11 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) )))) ;) (expression_statement "piVar2 = piVar11 + -2;" (assignment_expression "piVar2 = piVar11 + -2" identifier = (binary_expression "piVar11 + -2" identifier + number_literal)) ;) (expression_statement "uVar14 = *puVar1 - piVar11[-1];" (assignment_expression "uVar14 = *puVar1 - piVar11[-1]" identifier = (binary_expression "*puVar1 - piVar11[-1]" (pointer_expression "*puVar1" * identifier) - (subscript_expression "piVar11[-1]" identifier [ number_literal ]))) ;) (expression_statement "piVar11 = piVar11 + 2;" (assignment_expression "piVar11 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));" (assignment_expression "bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" identifier = (cast_expression "(bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" ( (binary_expression "bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1)" identifier | (parenthesized_expression "(iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1)" ( (binary_expression "iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1" (binary_expression "iVar10 - *piVar2 != (uint)(*puVar1 < uVar14)" (binary_expression "iVar10 - *piVar2" identifier - (pointer_expression "*piVar2" * identifier)) != (call_expression "(uint)(*puVar1 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*puVar1 < uVar14)" ( (binary_expression "*puVar1 < uVar14" (pointer_expression "*puVar1" * identifier) < identifier) )))) || (binary_expression "uVar14 != 1" identifier != number_literal)) ))) )))) ;) }) while (parenthesized_expression "(piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8))" ( (binary_expression "piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" identifier != (cast_expression "(int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" ( (binary_expression "*piVar16 + 8 + (int)pppppiVar8[1] * 8" (binary_expression "*piVar16 + 8" (pointer_expression "*piVar16" * identifier) + number_literal) + (binary_expression "(int)pppppiVar8[1] * 8" (cast_expression "(int)pppppiVar8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar8[1]" identifier [ number_literal ])) * number_literal)) )))) )) ;) })) (expression_statement "pppppiVar8 = pppppiVar8 + 2;" (assignment_expression "pppppiVar8 = pppppiVar8 + 2" identifier = (binary_expression "pppppiVar8 + 2" identifier + number_literal)) ;) (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppiVar8 != (int *****)local_9c)" ( (binary_expression "pppppiVar8 != (int *****)local_9c" identifier != (cast_expression "(int *****)local_9c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);" (assignment_expression "pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" identifier = (cast_expression "(int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" (parenthesized_expression "(*(code *)puVar4)" ( (pointer_expression "*(code *)puVar4" * (cast_expression "(code *)puVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar21,0x1006,iVar17)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "pppppiVar8 = pppppiVar21 + iVar17 * 4;" (assignment_expression "pppppiVar8 = pppppiVar21 + iVar17 * 4" identifier = (binary_expression "pppppiVar21 + iVar17 * 4" identifier + (binary_expression "iVar17 * 4" identifier * number_literal))) ;) (expression_statement "*pppppiVar8 = local_70[0];" (assignment_expression "*pppppiVar8 = local_70[0]" (pointer_expression "*pppppiVar8" * identifier) = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "pppppiVar8[1] = local_70[1];" (assignment_expression "pppppiVar8[1] = local_70[1]" (subscript_expression "pppppiVar8[1]" identifier [ number_literal ]) = (subscript_expression "local_70[1]" identifier [ number_literal ])) ;) (expression_statement "pppppiVar8[2] = (int ****)local_68;" (assignment_expression "pppppiVar8[2] = (int ****)local_68" (subscript_expression "pppppiVar8[2]" identifier [ number_literal ]) = (cast_expression "(int ****)local_68" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar8[3] = local_64;" (assignment_expression "pppppiVar8[3] = local_64" (subscript_expression "pppppiVar8[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "unaff_s3 = (int *****)((int)pppppiVar19 + 1);" (assignment_expression "unaff_s3 = (int *****)((int)pppppiVar19 + 1)" identifier = (cast_expression "(int *****)((int)pppppiVar19 + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar19 + 1)" ( (binary_expression "(int)pppppiVar19 + 1" (cast_expression "(int)pppppiVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((int)local_88[2] < (int)unaff_s3) break;" if (parenthesized_expression "((int)local_88[2] < (int)unaff_s3)" ( (binary_expression "(int)local_88[2] < (int)unaff_s3" (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ])) < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;" (assignment_expression "pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5" (subscript_expression "pppppiVar23[(int)pppppiVar19]" identifier [ (cast_expression "(int)pppppiVar19" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(int ****)pppppiVar5" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (if_statement "if (iVar17 < 0) goto LAB_000d9a78;" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000d9a78;" goto statement_identifier ;)) (labeled_statement "LAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;" statement_identifier : (if_statement "if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;" if (parenthesized_expression "(((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))" ( (binary_expression "((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3)" (parenthesized_expression "((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0)" ( (binary_expression "(int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0" (cast_expression "(int)(*(uint *)PTR_DAT_0013135c << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)PTR_DAT_0013135c << 0xf)" ( (binary_expression "*(uint *)PTR_DAT_0013135c << 0xf" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal) ))) < number_literal) )) && (parenthesized_expression "(ppppiVar13 = local_b4, !bVar3)" ( (comma_expression "ppppiVar13 = local_b4, !bVar3" (assignment_expression "ppppiVar13 = local_b4" identifier = identifier) , (unary_expression "!bVar3" ! identifier)) ))) )) (goto_statement "goto LAB_000d9a68;" goto statement_identifier ;))) (expression_statement "ppppiVar13 = (int ****)puVar22;" (assignment_expression "ppppiVar13 = (int ****)puVar22" identifier = (cast_expression "(int ****)puVar22" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;" if (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 0x40) != 0)" ( (binary_expression "(*(uint *)PTR_DAT_0013135c & 0x40) != 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 0x40)" ( (binary_expression "*(uint *)PTR_DAT_0013135c & 0x40" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d9a68;" goto statement_identifier ;)) (if_statement "if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }" if (parenthesized_expression "(local_b4 == (int ****)0x0)" ( (binary_expression "local_b4 == (int ****)0x0" identifier == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }" { (expression_statement "iVar10 = *(int *)PTR_DAT_00131330;" (assignment_expression "iVar10 = *(int *)PTR_DAT_00131330" identifier = (pointer_expression "*(int *)PTR_DAT_00131330" * (cast_expression "(int *)PTR_DAT_00131330" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppiVar13 = *(int *****)(iVar10 + 0xc);" (assignment_expression "ppppiVar13 = *(int *****)(iVar10 + 0xc)" identifier = (pointer_expression "*(int *****)(iVar10 + 0xc)" * (cast_expression "(int *****)(iVar10 + 0xc)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }" if (parenthesized_expression "(ppppiVar13 == (int ****)0x0)" ( (binary_expression "ppppiVar13 == (int ****)0x0" identifier == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      ppppiVar13 = *param_1;\n    }" { (expression_statement "ppppiVar13 = *param_1;" (assignment_expression "ppppiVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13)" ( number_literal , (binary_expression "PTR_FUN_001311a4 + 0x4568" identifier + number_literal) , identifier ))) ;) (expression_statement "ppppiVar13 = *(int *****)(iVar10 + 0x10);" (assignment_expression "ppppiVar13 = *(int *****)(iVar10 + 0x10)" identifier = (pointer_expression "*(int *****)(iVar10 + 0x10)" * (cast_expression "(int *****)(iVar10 + 0x10)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }" if (parenthesized_expression "(ppppiVar13 == (int ****)0x0)" ( (binary_expression "ppppiVar13 == (int ****)0x0" identifier == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      ppppiVar13 = param_1[1];\n    }" { (expression_statement "ppppiVar13 = param_1[1];" (assignment_expression "ppppiVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13)" ( number_literal , (binary_expression "PTR_FUN_001311a4 + 0x4570" identifier + number_literal) , identifier ))) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_90 + 0x4578)" ( number_literal , (binary_expression "local_90 + 0x4578" identifier + number_literal) ))) ;) (expression_statement "local_9c = (int ****)(pppppiVar21 + iVar17 * 4);" (assignment_expression "local_9c = (int ****)(pppppiVar21 + iVar17 * 4)" identifier = (cast_expression "(int ****)(pppppiVar21 + iVar17 * 4)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(pppppiVar21 + iVar17 * 4)" ( (binary_expression "pppppiVar21 + iVar17 * 4" identifier + (binary_expression "iVar17 * 4" identifier * number_literal)) )))) ;) (expression_statement "local_ac = (int ****)local_70;" (assignment_expression "local_ac = (int ****)local_70" identifier = (cast_expression "(int ****)local_70" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar19 = (int *****)local_9c + 1;" (assignment_expression "pppppiVar19 = (int *****)local_9c + 1" identifier = (binary_expression "(int *****)local_9c + 1" (cast_expression "(int *****)local_9c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) + number_literal)) ;) (expression_statement "local_b4 = (int ****)(local_88 + 2);" (assignment_expression "local_b4 = (int ****)(local_88 + 2)" identifier = (cast_expression "(int ****)(local_88 + 2)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(local_88 + 2)" ( (binary_expression "local_88 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (expression_statement "iVar17 = *(int *)PTR_DAT_00131330;" (assignment_expression "iVar17 = *(int *)PTR_DAT_00131330" identifier = (pointer_expression "*(int *)PTR_DAT_00131330" * (cast_expression "(int *)PTR_DAT_00131330" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_a8 = (int ****)pppppiVar21;" (assignment_expression "local_a8 = (int ****)pppppiVar21" identifier = (cast_expression "(int ****)pppppiVar21" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (do_statement "do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );" do (compound_statement "{\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  }" { (expression_statement "iVar20 = *(int *)(iVar17 + 4);" (assignment_expression "iVar20 = *(int *)(iVar17 + 4)" identifier = (pointer_expression "*(int *)(iVar17 + 4)" * (cast_expression "(int *)(iVar17 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "ppppiVar13 = (int ****)((int)*local_a8 - iVar20);" (assignment_expression "ppppiVar13 = (int ****)((int)*local_a8 - iVar20)" identifier = (cast_expression "(int ****)((int)*local_a8 - iVar20)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)*local_a8 - iVar20)" ( (binary_expression "(int)*local_a8 - iVar20" (cast_expression "(int)*local_a8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_a8" * identifier)) - identifier) )))) ;) (if_statement "if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }" if (parenthesized_expression "((int)ppppiVar13 < 1)" ( (binary_expression "(int)ppppiVar13 < 1" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      ppppiVar13 = (int ****)0x1;\n    }" { (expression_statement "ppppiVar13 = (int ****)0x1;" (assignment_expression "ppppiVar13 = (int ****)0x1" identifier = (cast_expression "(int ****)0x1" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (expression_statement "*local_ac = (int ***)ppppiVar13;" (assignment_expression "*local_ac = (int ***)ppppiVar13" (pointer_expression "*local_ac" * identifier) = (cast_expression "(int ***)ppppiVar13" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);" (assignment_expression "ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19)" identifier = (cast_expression "(int ****)(iVar20 + (int)*pppppiVar19)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar20 + (int)*pppppiVar19)" ( (binary_expression "iVar20 + (int)*pppppiVar19" identifier + (cast_expression "(int)*pppppiVar19" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppiVar19" * identifier))) )))) ;) (expression_statement "ppppiVar15 = (int ****)*local_b4;" (assignment_expression "ppppiVar15 = (int ****)*local_b4" identifier = (cast_expression "(int ****)*local_b4" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*local_b4" * identifier))) ;) (if_statement "if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }" if (parenthesized_expression "((int)ppppiVar12 <= (int)*local_b4)" ( (binary_expression "(int)ppppiVar12 <= (int)*local_b4" (cast_expression "(int)ppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*local_b4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_b4" * identifier))) )) (compound_statement "{\n      ppppiVar15 = ppppiVar12;\n    }" { (expression_statement "ppppiVar15 = ppppiVar12;" (assignment_expression "ppppiVar15 = ppppiVar12" identifier = identifier) ;) })) (expression_statement "local_ac[1] = (int ***)ppppiVar15;" (assignment_expression "local_ac[1] = (int ***)ppppiVar15" (subscript_expression "local_ac[1]" identifier [ number_literal ]) = (cast_expression "(int ***)ppppiVar15" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" if (parenthesized_expression "(iVar10 == 1)" ( (binary_expression "iVar10 == 1" identifier == number_literal) )) (compound_statement "{\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }" { (expression_statement "ppppiVar12 = ppppiVar15;" (assignment_expression "ppppiVar12 = ppppiVar15" identifier = identifier) ;) (if_statement "if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }" if (parenthesized_expression "((int)ppppiVar13 <= (int)ppppiVar15)" ( (binary_expression "(int)ppppiVar13 <= (int)ppppiVar15" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        ppppiVar12 = ppppiVar13;\n      }" { (expression_statement "ppppiVar12 = ppppiVar13;" (assignment_expression "ppppiVar12 = ppppiVar13" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_a0,0x2d,ppppiVar12)" ( number_literal , identifier , number_literal , identifier ))) ;) (if_statement "if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;" if (parenthesized_expression "(ppppiVar13 != ppppiVar15)" ( (binary_expression "ppppiVar13 != ppppiVar15" identifier != identifier) )) (goto_statement "goto LAB_000d99d8;" goto statement_identifier ;)) }) (else_clause "else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" else (compound_statement "{\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" { (expression_statement "ppppiVar12 = ppppiVar15;" (assignment_expression "ppppiVar12 = ppppiVar15" identifier = identifier) ;) (if_statement "if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }" if (parenthesized_expression "((int)ppppiVar13 <= (int)ppppiVar15)" ( (binary_expression "(int)ppppiVar13 <= (int)ppppiVar15" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        ppppiVar12 = ppppiVar13;\n      }" { (expression_statement "ppppiVar12 = ppppiVar13;" (assignment_expression "ppppiVar12 = ppppiVar13" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_a0,0x2b,ppppiVar12)" ( number_literal , identifier , number_literal , identifier ))) ;) (if_statement "if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }" if (parenthesized_expression "(ppppiVar13 != ppppiVar15)" ( (binary_expression "ppppiVar13 != ppppiVar15" identifier != identifier) )) (compound_statement "{\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }" { (labeled_statement "LAB_000d99d8:\n        iVar20 = iVar7;" statement_identifier : (expression_statement "iVar20 = iVar7;" (assignment_expression "iVar20 = iVar7" identifier = identifier) ;)) (if_statement "if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }" if (parenthesized_expression "((int)ppppiVar13 < (int)ppppiVar15)" ( (binary_expression "(int)ppppiVar13 < (int)ppppiVar15" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }" { (expression_statement "iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);" (assignment_expression "iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13)" identifier = (binary_expression "(int)ppppiVar15 + (1 - (int)ppppiVar13)" (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(1 - (int)ppppiVar13)" ( (binary_expression "1 - (int)ppppiVar13" number_literal - (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_8c,iVar20)" ( number_literal , identifier , identifier ))) ;) })) (if_statement "if (1 < iVar10) break;" if (parenthesized_expression "(1 < iVar10)" ( (binary_expression "1 < iVar10" number_literal < identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "local_a8 = local_a8 + 2;" (assignment_expression "local_a8 = local_a8 + 2" identifier = (binary_expression "local_a8 + 2" identifier + number_literal)) ;) (expression_statement "local_ac = local_ac + 2;" (assignment_expression "local_ac = local_ac + 2" identifier = (binary_expression "local_ac + 2" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = pppppiVar19 + 2;" (assignment_expression "pppppiVar19 = pppppiVar19 + 2" identifier = (binary_expression "pppppiVar19 + 2" identifier + number_literal)) ;) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" identifier = (binary_expression "local_b4 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "(*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);" (call_expression "(*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588)" (parenthesized_expression "(*(code *)PTR_puts_00131fd0)" ( (pointer_expression "*(code *)PTR_puts_00131fd0" * (cast_expression "(code *)PTR_puts_00131fd0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_FUN_001311a4 + 0x4588)" ( (binary_expression "PTR_FUN_001311a4 + 0x4588" identifier + number_literal) ))) ;) (expression_statement "pppppiVar19 = local_60;" (assignment_expression "pppppiVar19 = local_60" identifier = identifier) ;) (expression_statement "pppppiVar5 = local_50;" (assignment_expression "pppppiVar5 = local_50" identifier = identifier) ;) (expression_statement "pppppiVar8 = (int *****)local_70[0];" (assignment_expression "pppppiVar8 = (int *****)local_70[0]" identifier = (cast_expression "(int *****)local_70[0]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) ;) (expression_statement "pppppiVar6 = pppppiVar21;" (assignment_expression "pppppiVar6 = pppppiVar21" identifier = identifier) ;) (do_statement "do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );" do (compound_statement "{\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  }" { (expression_statement "pppppiVar18 = pppppiVar21;" (assignment_expression "pppppiVar18 = pppppiVar21" identifier = identifier) ;) (if_statement "if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }" if (parenthesized_expression "(local_9c < pppppiVar21)" ( (binary_expression "local_9c < pppppiVar21" identifier < identifier) )) (compound_statement "{\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }" { (expression_statement "(*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);" (call_expression "(*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(local_60,local_78[0],pppppiVar8,local_70[1],0x20)" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) , identifier , (subscript_expression "local_70[1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "pppppiVar21 = pppppiVar6;" (assignment_expression "pppppiVar21 = pppppiVar6" identifier = identifier) ;) (expression_statement "ppppiVar13 = (int ****)puVar22;" (assignment_expression "ppppiVar13 = (int ****)puVar22" identifier = (cast_expression "(int ****)puVar22" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (labeled_statement "LAB_000d9a68:\n      local_b4 = ppppiVar13;" statement_identifier : (expression_statement "local_b4 = ppppiVar13;" (assignment_expression "local_b4 = ppppiVar13" identifier = identifier) ;)) (if_statement "if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;" if (parenthesized_expression "((int)unaff_s3 <= (int)local_88[2])" ( (binary_expression "(int)unaff_s3 <= (int)local_88[2]" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000d9610;" goto statement_identifier ;)) (labeled_statement "LAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);" statement_identifier : (expression_statement "(*(code *)PTR_free_00132180)(pppppiVar21);" (call_expression "(*(code *)PTR_free_00132180)(pppppiVar21)" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar21)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_free_00132180)(local_78[0]);" (call_expression "(*(code *)PTR_free_00132180)(local_78[0])" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_78[0])" ( (subscript_expression "local_78[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_00132180)(local_78[1]);" (call_expression "(*(code *)PTR_free_00132180)(local_78[1])" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_78[1])" ( (subscript_expression "local_78[1]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_00132180)(pppppiVar23);" (call_expression "(*(code *)PTR_free_00132180)(pppppiVar23)" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar23)" ( identifier ))) ;) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" identifier = identifier) ;) (if_statement "if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }" if (parenthesized_expression "(local_b4 != (int ****)0x0)" ( (binary_expression "local_b4 != (int ****)0x0" identifier != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;" statement_identifier : (expression_statement "**(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;" (assignment_expression "**(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1" (pointer_expression "**(byte **)PTR_DAT_00131330" * (pointer_expression "*(byte **)PTR_DAT_00131330" * (cast_expression "(byte **)PTR_DAT_00131330" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = (binary_expression "**(byte **)PTR_DAT_00131330 | 1" (pointer_expression "**(byte **)PTR_DAT_00131330" * (pointer_expression "*(byte **)PTR_DAT_00131330" * (cast_expression "(byte **)PTR_DAT_00131330" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) | number_literal)) ;)) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" identifier = identifier) ;) })) (labeled_statement "LAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;" statement_identifier : (expression_statement "pppppiVar18 = (int *****)PTR_FUN_00131418;" (assignment_expression "pppppiVar18 = (int *****)PTR_FUN_00131418" identifier = (cast_expression "(int *****)PTR_FUN_00131418" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (expression_statement "FUN_000f12b4(local_88[0]);" (call_expression "FUN_000f12b4(local_88[0])" identifier (argument_list "(local_88[0])" ( (subscript_expression "local_88[0]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_000f12b4(local_88[1]);" (call_expression "FUN_000f12b4(local_88[1])" identifier (argument_list "(local_88[1])" ( (subscript_expression "local_88[1]" identifier [ number_literal ]) ))) ;) (if_statement "if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }" if (parenthesized_expression "(local_2c == *(int *)PTR___stack_chk_guard_00132164)" ( (binary_expression "local_2c == *(int *)PTR___stack_chk_guard_00132164" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" * (cast_expression "(int *)PTR___stack_chk_guard_00132164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return iVar7;\n      }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_001320e4)();" (call_expression "(*(code *)PTR___stack_chk_fail_001320e4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001320e4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001320e4" * (cast_expression "(code *)PTR___stack_chk_fail_001320e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppiVar6 = pppppiVar21;" (assignment_expression "pppppiVar6 = pppppiVar21" identifier = identifier) ;) (expression_statement "pppppiVar5 = pppppiVar24;" (assignment_expression "pppppiVar5 = pppppiVar24" identifier = identifier) ;) })) (expression_statement "(*local_b0)(pppppiVar19);" (call_expression "(*local_b0)(pppppiVar19)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pppppiVar19)" ( identifier ))) ;) (expression_statement "(*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);" (call_expression "(*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d)" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) , (pointer_expression "*pppppiVar18" * identifier) , (subscript_expression "pppppiVar18[1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "(*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);" (call_expression "(*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b)" ( identifier , (subscript_expression "local_78[1]" identifier [ number_literal ]) , (subscript_expression "pppppiVar18[2]" identifier [ number_literal ]) , (subscript_expression "pppppiVar18[3]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "pppppiVar21 = pppppiVar18 + 4;" (assignment_expression "pppppiVar21 = pppppiVar18 + 4" identifier = (binary_expression "pppppiVar18 + 4" identifier + number_literal)) ;) (expression_statement "pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);" (assignment_expression "pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1)" identifier = (cast_expression "(int *****)((int)pppppiVar18[1] + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar18[1] + 1)" ( (binary_expression "(int)pppppiVar18[1] + 1" (cast_expression "(int)pppppiVar18[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar18[1]" identifier [ number_literal ])) + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "int diffreg(char **file)\n\n{\n  int *piVar1;\n  off_t *poVar2;\n  bool bVar3;\n  off_t oVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  FILE *pFVar10;\n  int iVar11;\n  off_t *poVar12;\n  char *pcVar13;\n  uint uVar14;\n  anon_struct_8_2_94730f06 *paVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  off_t **ppoVar19;\n  char **ppcVar20;\n  FILE *pFVar21;\n  FILE_and_pos_t *pFVar22;\n  FILE_and_pos_t *pFVar23;\n  int unaff_s3;\n  FILE *pFVar24;\n  undefined1 *puVar25;\n  FILE *pFVar26;\n  FILE_and_pos_t *pFVar27;\n  undefined *puVar28;\n  longlong lVar29;\n  FILE_and_pos_t *local_b4;\n  code *local_b0;\n  anon_struct_8_2_94730f06 *local_ac;\n  FILE *local_a8;\n  undefined *local_a0;\n  FILE *local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  FILE *fp [2];\n  int nlen [2];\n  off_t *ix [2];\n  vec_t span;\n  FILE_and_pos_t ft [2];\n  char name [15];\n  \n  pFVar24 = (FILE *)PTR_bdcommands_4__name_4__001311a4;\n  iVar6 = *(int *)PTR___stack_chk_guard_00132164;\n  fp[0] = *(FILE **)PTR_stdin_00131efc;\n  pFVar22 = (FILE_and_pos_t *)fp;\n  pFVar23 = (FILE_and_pos_t *)(file + 2);\n  puVar25 = PTR_LAB_0013118c + 0x6e58;\n  pFVar26 = *(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c);\n  ppcVar20 = file;\n  fp[1] = fp[0];\n  do {\n    pcVar13 = *ppcVar20;\n    if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {\n      iVar7 = 0;\n    }\n    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }\n    lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);\n    iVar8 = iVar7;\n    if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }\n    pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));\n    pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;\n    pFVar22->ft_fp = pFVar10;\n    ppcVar20 = ppcVar20 + 1;\n    pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;\n  } while ((FILE_and_pos_t *)ppcVar20 != pFVar23);\n  puVar25 = (undefined1 *)0x0;\n  pFVar22 = (FILE_and_pos_t *)0x0;\n  puVar28 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (FILE_and_pos_t *)&DAT_00000001;\n  while( true ) {\n    pFVar26 = fp[0];\n    unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);\n    pFVar24 = fp[1];\n    iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);\n    if (unaff_s3 != iVar7) {\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }\n    if (iVar7 == 0) break;\n    if (0 < iVar7) {\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }\n  }\n  pcVar13 = (char *)0x0;\n  pFVar23 = pFVar27;\n  if (puVar25 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0)) {\n    pcVar13 = (char *)0x2;\n    goto LAB_000d9ad8;\n  }\n  ft[0].ft_fp = pFVar26;\n  ft[1].ft_fp = pFVar24;\n  pFVar26 = (FILE *)create_J(ft,nlen,ix);\n  local_b4 = (FILE_and_pos_t *)0x0;\n  unaff_s3 = 1;\n  pFVar24 = (FILE *)0x0;\n  local_90 = PTR_bdcommands_4__name_4__001311a4;\n  local_a0 = PTR_bdcommands_4__name_4__001311a4 + 0x457c;\n  local_8c = PTR_bdcommands_4__name_4__001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar5 = PTR_xrealloc_vector_helper_001313dc;\n  puVar28 = PTR_ptr_to_globals_00131330;\n  bVar3 = false;\n  local_9c = (FILE *)ft;\n  iVar7 = -1;\n  do {\n    span[0].a = unaff_s3;\n    if ((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }\nLAB_000d9698:\n    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;\n    span[0].b = span[0].a + -1;\n    if ((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)) {\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }\nLAB_000d96f8:\n    pFVar22 = (FILE_and_pos_t *)span[0].b;\n    iVar8 = span[0].b * 4;\n    pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);\n    span[1].b = (int)pFVar27;\n    iVar9 = iVar7;\n    if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }\n    unaff_s3 = (int)pFVar22 + 1;\n    if (nlen[0] < unaff_s3) break;\n    *(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;\n    iVar7 = iVar9;\n  } while( true );\n  if (iVar9 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  pFVar23 = (FILE_and_pos_t *)puVar25;\n  if ((*(uint *)PTR_option_mask32_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (FILE_and_pos_t *)0x0) {\n    iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n    pcVar16 = *(char **)(iVar7 + 0xc);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = *file;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);\n    pcVar16 = *(char **)(iVar7 + 0x10);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = file[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47);\n  local_ac = span;\n  ppcVar20 = &local_9c->_IO_read_ptr;\n  local_b4 = (FILE_and_pos_t *)nlen;\n  iVar8 = 1;\n  iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n  local_a8 = pFVar24;\n  do {\n    iVar9 = *(int *)(iVar7 + 4);\n    pcVar16 = (char *)((int)local_a8->_flags - iVar9);\n    if ((int)pcVar16 < 1) {\n      pcVar16 = &DAT_00000001;\n    }\n    local_ac->a = (int)pcVar16;\n    pcVar17 = *(char **)local_b4;\n    if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {\n      pcVar17 = *ppcVar20 + iVar9;\n    }\n    local_ac->b = (int)pcVar17;\n    if (iVar8 == 1) {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }\n    else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }\n    local_a8 = (FILE *)&local_a8->_IO_read_end;\n    local_ac = local_ac + 1;\n    ppcVar20 = ppcVar20 + 2;\n    local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);\n    iVar8 = iVar8 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_bdcommands_4__name_4__001311a4 + 0x4588);\n  pFVar22 = ft;\n  pFVar27 = ft + 1;\n  pcVar16 = (char *)span[0].a;\n  pFVar10 = pFVar24;\n  do {\n    pFVar21 = pFVar24;\n    if (local_9c < pFVar24) {\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }\n    (*local_b0)(pFVar22);\n    (*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);\n    (*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);\n    pFVar24 = (FILE *)&pFVar21->_IO_write_base;\n    pcVar16 = pFVar21->_IO_read_ptr + 1;\n  } while( true );\n}\n\n" (function_definition "int diffreg(char **file)\n\n{\n  int *piVar1;\n  off_t *poVar2;\n  bool bVar3;\n  off_t oVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  FILE *pFVar10;\n  int iVar11;\n  off_t *poVar12;\n  char *pcVar13;\n  uint uVar14;\n  anon_struct_8_2_94730f06 *paVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  off_t **ppoVar19;\n  char **ppcVar20;\n  FILE *pFVar21;\n  FILE_and_pos_t *pFVar22;\n  FILE_and_pos_t *pFVar23;\n  int unaff_s3;\n  FILE *pFVar24;\n  undefined1 *puVar25;\n  FILE *pFVar26;\n  FILE_and_pos_t *pFVar27;\n  undefined *puVar28;\n  longlong lVar29;\n  FILE_and_pos_t *local_b4;\n  code *local_b0;\n  anon_struct_8_2_94730f06 *local_ac;\n  FILE *local_a8;\n  undefined *local_a0;\n  FILE *local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  FILE *fp [2];\n  int nlen [2];\n  off_t *ix [2];\n  vec_t span;\n  FILE_and_pos_t ft [2];\n  char name [15];\n  \n  pFVar24 = (FILE *)PTR_bdcommands_4__name_4__001311a4;\n  iVar6 = *(int *)PTR___stack_chk_guard_00132164;\n  fp[0] = *(FILE **)PTR_stdin_00131efc;\n  pFVar22 = (FILE_and_pos_t *)fp;\n  pFVar23 = (FILE_and_pos_t *)(file + 2);\n  puVar25 = PTR_LAB_0013118c + 0x6e58;\n  pFVar26 = *(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c);\n  ppcVar20 = file;\n  fp[1] = fp[0];\n  do {\n    pcVar13 = *ppcVar20;\n    if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {\n      iVar7 = 0;\n    }\n    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }\n    lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);\n    iVar8 = iVar7;\n    if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }\n    pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));\n    pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;\n    pFVar22->ft_fp = pFVar10;\n    ppcVar20 = ppcVar20 + 1;\n    pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;\n  } while ((FILE_and_pos_t *)ppcVar20 != pFVar23);\n  puVar25 = (undefined1 *)0x0;\n  pFVar22 = (FILE_and_pos_t *)0x0;\n  puVar28 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (FILE_and_pos_t *)&DAT_00000001;\n  while( true ) {\n    pFVar26 = fp[0];\n    unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);\n    pFVar24 = fp[1];\n    iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);\n    if (unaff_s3 != iVar7) {\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }\n    if (iVar7 == 0) break;\n    if (0 < iVar7) {\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }\n  }\n  pcVar13 = (char *)0x0;\n  pFVar23 = pFVar27;\n  if (puVar25 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0)) {\n    pcVar13 = (char *)0x2;\n    goto LAB_000d9ad8;\n  }\n  ft[0].ft_fp = pFVar26;\n  ft[1].ft_fp = pFVar24;\n  pFVar26 = (FILE *)create_J(ft,nlen,ix);\n  local_b4 = (FILE_and_pos_t *)0x0;\n  unaff_s3 = 1;\n  pFVar24 = (FILE *)0x0;\n  local_90 = PTR_bdcommands_4__name_4__001311a4;\n  local_a0 = PTR_bdcommands_4__name_4__001311a4 + 0x457c;\n  local_8c = PTR_bdcommands_4__name_4__001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar5 = PTR_xrealloc_vector_helper_001313dc;\n  puVar28 = PTR_ptr_to_globals_00131330;\n  bVar3 = false;\n  local_9c = (FILE *)ft;\n  iVar7 = -1;\n  do {\n    span[0].a = unaff_s3;\n    if ((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }\nLAB_000d9698:\n    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;\n    span[0].b = span[0].a + -1;\n    if ((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)) {\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }\nLAB_000d96f8:\n    pFVar22 = (FILE_and_pos_t *)span[0].b;\n    iVar8 = span[0].b * 4;\n    pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);\n    span[1].b = (int)pFVar27;\n    iVar9 = iVar7;\n    if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }\n    unaff_s3 = (int)pFVar22 + 1;\n    if (nlen[0] < unaff_s3) break;\n    *(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;\n    iVar7 = iVar9;\n  } while( true );\n  if (iVar9 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  pFVar23 = (FILE_and_pos_t *)puVar25;\n  if ((*(uint *)PTR_option_mask32_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (FILE_and_pos_t *)0x0) {\n    iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n    pcVar16 = *(char **)(iVar7 + 0xc);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = *file;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);\n    pcVar16 = *(char **)(iVar7 + 0x10);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = file[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47);\n  local_ac = span;\n  ppcVar20 = &local_9c->_IO_read_ptr;\n  local_b4 = (FILE_and_pos_t *)nlen;\n  iVar8 = 1;\n  iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n  local_a8 = pFVar24;\n  do {\n    iVar9 = *(int *)(iVar7 + 4);\n    pcVar16 = (char *)((int)local_a8->_flags - iVar9);\n    if ((int)pcVar16 < 1) {\n      pcVar16 = &DAT_00000001;\n    }\n    local_ac->a = (int)pcVar16;\n    pcVar17 = *(char **)local_b4;\n    if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {\n      pcVar17 = *ppcVar20 + iVar9;\n    }\n    local_ac->b = (int)pcVar17;\n    if (iVar8 == 1) {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }\n    else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }\n    local_a8 = (FILE *)&local_a8->_IO_read_end;\n    local_ac = local_ac + 1;\n    ppcVar20 = ppcVar20 + 2;\n    local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);\n    iVar8 = iVar8 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_bdcommands_4__name_4__001311a4 + 0x4588);\n  pFVar22 = ft;\n  pFVar27 = ft + 1;\n  pcVar16 = (char *)span[0].a;\n  pFVar10 = pFVar24;\n  do {\n    pFVar21 = pFVar24;\n    if (local_9c < pFVar24) {\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }\n    (*local_b0)(pFVar22);\n    (*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);\n    (*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);\n    pFVar24 = (FILE *)&pFVar21->_IO_write_base;\n    pcVar16 = pFVar21->_IO_read_ptr + 1;\n  } while( true );\n}" primitive_type (function_declarator "diffreg(char **file)" identifier (parameter_list "(char **file)" ( (parameter_declaration "char **file" primitive_type (pointer_declarator "**file" * (pointer_declarator "*file" * identifier))) ))) (compound_statement "{\n  int *piVar1;\n  off_t *poVar2;\n  bool bVar3;\n  off_t oVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  FILE *pFVar10;\n  int iVar11;\n  off_t *poVar12;\n  char *pcVar13;\n  uint uVar14;\n  anon_struct_8_2_94730f06 *paVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  off_t **ppoVar19;\n  char **ppcVar20;\n  FILE *pFVar21;\n  FILE_and_pos_t *pFVar22;\n  FILE_and_pos_t *pFVar23;\n  int unaff_s3;\n  FILE *pFVar24;\n  undefined1 *puVar25;\n  FILE *pFVar26;\n  FILE_and_pos_t *pFVar27;\n  undefined *puVar28;\n  longlong lVar29;\n  FILE_and_pos_t *local_b4;\n  code *local_b0;\n  anon_struct_8_2_94730f06 *local_ac;\n  FILE *local_a8;\n  undefined *local_a0;\n  FILE *local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  FILE *fp [2];\n  int nlen [2];\n  off_t *ix [2];\n  vec_t span;\n  FILE_and_pos_t ft [2];\n  char name [15];\n  \n  pFVar24 = (FILE *)PTR_bdcommands_4__name_4__001311a4;\n  iVar6 = *(int *)PTR___stack_chk_guard_00132164;\n  fp[0] = *(FILE **)PTR_stdin_00131efc;\n  pFVar22 = (FILE_and_pos_t *)fp;\n  pFVar23 = (FILE_and_pos_t *)(file + 2);\n  puVar25 = PTR_LAB_0013118c + 0x6e58;\n  pFVar26 = *(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c);\n  ppcVar20 = file;\n  fp[1] = fp[0];\n  do {\n    pcVar13 = *ppcVar20;\n    if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {\n      iVar7 = 0;\n    }\n    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }\n    lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);\n    iVar8 = iVar7;\n    if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }\n    pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));\n    pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;\n    pFVar22->ft_fp = pFVar10;\n    ppcVar20 = ppcVar20 + 1;\n    pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;\n  } while ((FILE_and_pos_t *)ppcVar20 != pFVar23);\n  puVar25 = (undefined1 *)0x0;\n  pFVar22 = (FILE_and_pos_t *)0x0;\n  puVar28 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (FILE_and_pos_t *)&DAT_00000001;\n  while( true ) {\n    pFVar26 = fp[0];\n    unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);\n    pFVar24 = fp[1];\n    iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);\n    if (unaff_s3 != iVar7) {\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }\n    if (iVar7 == 0) break;\n    if (0 < iVar7) {\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }\n  }\n  pcVar13 = (char *)0x0;\n  pFVar23 = pFVar27;\n  if (puVar25 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0)) {\n    pcVar13 = (char *)0x2;\n    goto LAB_000d9ad8;\n  }\n  ft[0].ft_fp = pFVar26;\n  ft[1].ft_fp = pFVar24;\n  pFVar26 = (FILE *)create_J(ft,nlen,ix);\n  local_b4 = (FILE_and_pos_t *)0x0;\n  unaff_s3 = 1;\n  pFVar24 = (FILE *)0x0;\n  local_90 = PTR_bdcommands_4__name_4__001311a4;\n  local_a0 = PTR_bdcommands_4__name_4__001311a4 + 0x457c;\n  local_8c = PTR_bdcommands_4__name_4__001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar5 = PTR_xrealloc_vector_helper_001313dc;\n  puVar28 = PTR_ptr_to_globals_00131330;\n  bVar3 = false;\n  local_9c = (FILE *)ft;\n  iVar7 = -1;\n  do {\n    span[0].a = unaff_s3;\n    if ((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }\nLAB_000d9698:\n    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;\n    span[0].b = span[0].a + -1;\n    if ((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)) {\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }\nLAB_000d96f8:\n    pFVar22 = (FILE_and_pos_t *)span[0].b;\n    iVar8 = span[0].b * 4;\n    pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);\n    span[1].b = (int)pFVar27;\n    iVar9 = iVar7;\n    if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }\n    unaff_s3 = (int)pFVar22 + 1;\n    if (nlen[0] < unaff_s3) break;\n    *(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;\n    iVar7 = iVar9;\n  } while( true );\n  if (iVar9 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  pFVar23 = (FILE_and_pos_t *)puVar25;\n  if ((*(uint *)PTR_option_mask32_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (FILE_and_pos_t *)0x0) {\n    iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n    pcVar16 = *(char **)(iVar7 + 0xc);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = *file;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);\n    pcVar16 = *(char **)(iVar7 + 0x10);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = file[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47);\n  local_ac = span;\n  ppcVar20 = &local_9c->_IO_read_ptr;\n  local_b4 = (FILE_and_pos_t *)nlen;\n  iVar8 = 1;\n  iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n  local_a8 = pFVar24;\n  do {\n    iVar9 = *(int *)(iVar7 + 4);\n    pcVar16 = (char *)((int)local_a8->_flags - iVar9);\n    if ((int)pcVar16 < 1) {\n      pcVar16 = &DAT_00000001;\n    }\n    local_ac->a = (int)pcVar16;\n    pcVar17 = *(char **)local_b4;\n    if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {\n      pcVar17 = *ppcVar20 + iVar9;\n    }\n    local_ac->b = (int)pcVar17;\n    if (iVar8 == 1) {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }\n    else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }\n    local_a8 = (FILE *)&local_a8->_IO_read_end;\n    local_ac = local_ac + 1;\n    ppcVar20 = ppcVar20 + 2;\n    local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);\n    iVar8 = iVar8 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_bdcommands_4__name_4__001311a4 + 0x4588);\n  pFVar22 = ft;\n  pFVar27 = ft + 1;\n  pcVar16 = (char *)span[0].a;\n  pFVar10 = pFVar24;\n  do {\n    pFVar21 = pFVar24;\n    if (local_9c < pFVar24) {\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }\n    (*local_b0)(pFVar22);\n    (*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);\n    (*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);\n    pFVar24 = (FILE *)&pFVar21->_IO_write_base;\n    pcVar16 = pFVar21->_IO_read_ptr + 1;\n  } while( true );\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "off_t *poVar2;" type_identifier (pointer_declarator "*poVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "off_t oVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "FILE *pFVar10;" type_identifier (pointer_declarator "*pFVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "off_t *poVar12;" type_identifier (pointer_declarator "*poVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "anon_struct_8_2_94730f06 *paVar15;" type_identifier (pointer_declarator "*paVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "off_t **ppoVar19;" type_identifier (pointer_declarator "**ppoVar19" * (pointer_declarator "*ppoVar19" * identifier)) ;) (declaration "char **ppcVar20;" primitive_type (pointer_declarator "**ppcVar20" * (pointer_declarator "*ppcVar20" * identifier)) ;) (declaration "FILE *pFVar21;" type_identifier (pointer_declarator "*pFVar21" * identifier) ;) (declaration "FILE_and_pos_t *pFVar22;" type_identifier (pointer_declarator "*pFVar22" * identifier) ;) (declaration "FILE_and_pos_t *pFVar23;" type_identifier (pointer_declarator "*pFVar23" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "FILE *pFVar24;" type_identifier (pointer_declarator "*pFVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "FILE *pFVar26;" type_identifier (pointer_declarator "*pFVar26" * identifier) ;) (declaration "FILE_and_pos_t *pFVar27;" type_identifier (pointer_declarator "*pFVar27" * identifier) ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "longlong lVar29;" type_identifier identifier ;) (declaration "FILE_and_pos_t *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "code *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "anon_struct_8_2_94730f06 *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "FILE *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "undefined *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "FILE *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "undefined *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "FILE *fp [2];" type_identifier (pointer_declarator "*fp [2]" * (array_declarator "fp [2]" identifier [ number_literal ])) ;) (declaration "int nlen [2];" primitive_type (array_declarator "nlen [2]" identifier [ number_literal ]) ;) (declaration "off_t *ix [2];" type_identifier (pointer_declarator "*ix [2]" * (array_declarator "ix [2]" identifier [ number_literal ])) ;) (declaration "vec_t span;" type_identifier identifier ;) (declaration "FILE_and_pos_t ft [2];" type_identifier (array_declarator "ft [2]" identifier [ number_literal ]) ;) (declaration "char name [15];" primitive_type (array_declarator "name [15]" identifier [ number_literal ]) ;) (expression_statement "pFVar24 = (FILE *)PTR_bdcommands_4__name_4__001311a4;" (assignment_expression "pFVar24 = (FILE *)PTR_bdcommands_4__name_4__001311a4" identifier = (cast_expression "(FILE *)PTR_bdcommands_4__name_4__001311a4" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar6 = *(int *)PTR___stack_chk_guard_00132164;" (assignment_expression "iVar6 = *(int *)PTR___stack_chk_guard_00132164" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" * (cast_expression "(int *)PTR___stack_chk_guard_00132164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "fp[0] = *(FILE **)PTR_stdin_00131efc;" (assignment_expression "fp[0] = *(FILE **)PTR_stdin_00131efc" (subscript_expression "fp[0]" identifier [ number_literal ]) = (pointer_expression "*(FILE **)PTR_stdin_00131efc" * (cast_expression "(FILE **)PTR_stdin_00131efc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pFVar22 = (FILE_and_pos_t *)fp;" (assignment_expression "pFVar22 = (FILE_and_pos_t *)fp" identifier = (cast_expression "(FILE_and_pos_t *)fp" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFVar23 = (FILE_and_pos_t *)(file + 2);" (assignment_expression "pFVar23 = (FILE_and_pos_t *)(file + 2)" identifier = (cast_expression "(FILE_and_pos_t *)(file + 2)" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(file + 2)" ( (binary_expression "file + 2" identifier + number_literal) )))) ;) (expression_statement "puVar25 = PTR_LAB_0013118c + 0x6e58;" (assignment_expression "puVar25 = PTR_LAB_0013118c + 0x6e58" identifier = (binary_expression "PTR_LAB_0013118c + 0x6e58" identifier + number_literal)) ;) (expression_statement "pFVar26 = *(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c);" (assignment_expression "pFVar26 = *(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c)" identifier = (pointer_expression "*(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c)" * (cast_expression "(FILE **)(PTR_bdcommands_4__name_4__001311a4 + 0x458c)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_bdcommands_4__name_4__001311a4 + 0x458c)" ( (binary_expression "PTR_bdcommands_4__name_4__001311a4 + 0x458c" identifier + number_literal) ))))) ;) (expression_statement "ppcVar20 = file;" (assignment_expression "ppcVar20 = file" identifier = identifier) ;) (expression_statement "fp[1] = fp[0];" (assignment_expression "fp[1] = fp[0]" (subscript_expression "fp[1]" identifier [ number_literal ]) = (subscript_expression "fp[0]" identifier [ number_literal ])) ;) (do_statement "do {\n    pcVar13 = *ppcVar20;\n    if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {\n      iVar7 = 0;\n    }\n    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }\n    lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);\n    iVar8 = iVar7;\n    if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }\n    pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));\n    pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;\n    pFVar22->ft_fp = pFVar10;\n    ppcVar20 = ppcVar20 + 1;\n    pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;\n  } while ((FILE_and_pos_t *)ppcVar20 != pFVar23);" do (compound_statement "{\n    pcVar13 = *ppcVar20;\n    if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {\n      iVar7 = 0;\n    }\n    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }\n    lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);\n    iVar8 = iVar7;\n    if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }\n    pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));\n    pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;\n    pFVar22->ft_fp = pFVar10;\n    ppcVar20 = ppcVar20 + 1;\n    pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;\n  }" { (expression_statement "pcVar13 = *ppcVar20;" (assignment_expression "pcVar13 = *ppcVar20" identifier = (pointer_expression "*ppcVar20" * identifier)) ;) (if_statement "if ((*pcVar13 == '-') && (pcVar13[1] == '\0')) {\n      iVar7 = 0;\n    }\n    else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }" if (parenthesized_expression "((*pcVar13 == '-') && (pcVar13[1] == '\0'))" ( (binary_expression "(*pcVar13 == '-') && (pcVar13[1] == '\0')" (parenthesized_expression "(*pcVar13 == '-')" ( (binary_expression "*pcVar13 == '-'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(pcVar13[1] == '\0')" ( (binary_expression "pcVar13[1] == '\0'" (subscript_expression "pcVar13[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      iVar7 = 0;\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }" else (if_statement "if ((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0) {\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }" if (parenthesized_expression "((*(uint *)PTR_option_mask32_0013135c & 0x20) == 0)" ( (binary_expression "(*(uint *)PTR_option_mask32_0013135c & 0x20) == 0" (parenthesized_expression "(*(uint *)PTR_option_mask32_0013135c & 0x20)" ( (binary_expression "*(uint *)PTR_option_mask32_0013135c & 0x20" (pointer_expression "*(uint *)PTR_option_mask32_0013135c" * (cast_expression "(uint *)PTR_option_mask32_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar7 = (*(code *)PTR_open_or_warn_00131400)();\n      if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }\n    }" { (expression_statement "iVar7 = (*(code *)PTR_open_or_warn_00131400)();" (assignment_expression "iVar7 = (*(code *)PTR_open_or_warn_00131400)()" identifier = (call_expression "(*(code *)PTR_open_or_warn_00131400)()" (parenthesized_expression "(*(code *)PTR_open_or_warn_00131400)" ( (pointer_expression "*(code *)PTR_open_or_warn_00131400" * (cast_expression "(code *)PTR_open_or_warn_00131400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == -1) {\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n        pcVar13 = (char *)0x0;\n        goto LAB_000d9af0;\n      }" { (expression_statement "pcVar13 = (char *)0x0;" (assignment_expression "pcVar13 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d9af0;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }" else (compound_statement "{\n      iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);\n      if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }\n    }" { (expression_statement "iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0);" (assignment_expression "iVar7 = (*(code *)PTR_open64_00131f1c)(pcVar13,0)" identifier = (call_expression "(*(code *)PTR_open64_00131f1c)(pcVar13,0)" (parenthesized_expression "(*(code *)PTR_open64_00131f1c)" ( (pointer_expression "*(code *)PTR_open64_00131f1c" * (cast_expression "(code *)PTR_open64_00131f1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar13,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar7 == -1) {\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);\n      }" { (expression_statement "iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0);" (assignment_expression "iVar7 = (*(code *)PTR_xopen_00131294)(puVar25,0)" identifier = (call_expression "(*(code *)PTR_xopen_00131294)(puVar25,0)" (parenthesized_expression "(*(code *)PTR_xopen_00131294)" ( (pointer_expression "*(code *)PTR_xopen_00131294" * (cast_expression "(code *)PTR_xopen_00131294" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25,0)" ( identifier , number_literal )))) ;) })) }))))) (expression_statement "lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7);" (assignment_expression "lVar29 = (*(code *)PTR_lseek64_00132014)(iVar7)" identifier = (call_expression "(*(code *)PTR_lseek64_00132014)(iVar7)" (parenthesized_expression "(*(code *)PTR_lseek64_00132014)" ( (pointer_expression "*(code *)PTR_lseek64_00132014" * (cast_expression "(code *)PTR_lseek64_00132014" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) (if_statement "if ((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)) {\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }" if (parenthesized_expression "((lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d))" ( (binary_expression "(lVar29 == -1) && (**(int **)PTR_bb_errno_001311d8 == 0x1d)" (parenthesized_expression "(lVar29 == -1)" ( (binary_expression "lVar29 == -1" identifier == number_literal) )) && (parenthesized_expression "(**(int **)PTR_bb_errno_001311d8 == 0x1d)" ( (binary_expression "**(int **)PTR_bb_errno_001311d8 == 0x1d" (pointer_expression "**(int **)PTR_bb_errno_001311d8" * (pointer_expression "*(int **)PTR_bb_errno_001311d8" * (cast_expression "(int **)PTR_bb_errno_001311d8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) == number_literal) ))) )) (compound_statement "{\n      name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);\n      name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);\n      name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);\n      name[0xe] = *(char *)((int)pFVar24 + 0x459a);\n      name._0_4_ = pFVar26;\n      iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);\n      (*(code *)PTR_unlink_001320a8)(name);\n      iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);\n      if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }\n      if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }\n      (*(code *)PTR_xlseek_001316c8)(iVar8);\n      unaff_s3 = iVar8;\n    }" { (expression_statement "name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590);" (assignment_expression "name._4_4_ = *(undefined4 *)((int)pFVar24 + 0x4590)" (field_expression "name._4_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 *)((int)pFVar24 + 0x4590)" * (cast_expression "(undefined4 *)((int)pFVar24 + 0x4590)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar24 + 0x4590)" ( (binary_expression "(int)pFVar24 + 0x4590" (cast_expression "(int)pFVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594);" (assignment_expression "name._8_4_ = *(undefined4 *)((int)pFVar24 + 0x4594)" (field_expression "name._8_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 *)((int)pFVar24 + 0x4594)" * (cast_expression "(undefined4 *)((int)pFVar24 + 0x4594)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar24 + 0x4594)" ( (binary_expression "(int)pFVar24 + 0x4594" (cast_expression "(int)pFVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598);" (assignment_expression "name._12_2_ = *(undefined2 *)((int)pFVar24 + 0x4598)" (field_expression "name._12_2_" identifier . field_identifier) = (pointer_expression "*(undefined2 *)((int)pFVar24 + 0x4598)" * (cast_expression "(undefined2 *)((int)pFVar24 + 0x4598)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar24 + 0x4598)" ( (binary_expression "(int)pFVar24 + 0x4598" (cast_expression "(int)pFVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "name[0xe] = *(char *)((int)pFVar24 + 0x459a);" (assignment_expression "name[0xe] = *(char *)((int)pFVar24 + 0x459a)" (subscript_expression "name[0xe]" identifier [ number_literal ]) = (pointer_expression "*(char *)((int)pFVar24 + 0x459a)" * (cast_expression "(char *)((int)pFVar24 + 0x459a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar24 + 0x459a)" ( (binary_expression "(int)pFVar24 + 0x459a" (cast_expression "(int)pFVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "name._0_4_ = pFVar26;" (assignment_expression "name._0_4_ = pFVar26" (field_expression "name._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name);" (assignment_expression "iVar8 = (*(code *)PTR_xmkstemp_00131b60)(name)" identifier = (call_expression "(*(code *)PTR_xmkstemp_00131b60)(name)" (parenthesized_expression "(*(code *)PTR_xmkstemp_00131b60)" ( (pointer_expression "*(code *)PTR_xmkstemp_00131b60" * (cast_expression "(code *)PTR_xmkstemp_00131b60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(name)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_unlink_001320a8)(name);" (call_expression "(*(code *)PTR_unlink_001320a8)(name)" (parenthesized_expression "(*(code *)PTR_unlink_001320a8)" ( (pointer_expression "*(code *)PTR_unlink_001320a8" * (cast_expression "(code *)PTR_unlink_001320a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(name)" ( identifier ))) ;) (expression_statement "iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8);" (assignment_expression "iVar9 = (*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8)" identifier = (call_expression "(*(code *)PTR_bb_copyfd_eof_00131394)(iVar7,iVar8)" (parenthesized_expression "(*(code *)PTR_bb_copyfd_eof_00131394)" ( (pointer_expression "*(code *)PTR_bb_copyfd_eof_00131394" * (cast_expression "(code *)PTR_bb_copyfd_eof_00131394" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,iVar8)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 < 0) {\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar6 = (*(code *)PTR_xfunc_die_001311b4)();\n        return iVar6;\n      }" { (expression_statement "iVar6 = (*(code *)PTR_xfunc_die_001311b4)();" (assignment_expression "iVar6 = (*(code *)PTR_xfunc_die_001311b4)()" identifier = (call_expression "(*(code *)PTR_xfunc_die_001311b4)()" (parenthesized_expression "(*(code *)PTR_xfunc_die_001311b4)" ( (pointer_expression "*(code *)PTR_xfunc_die_001311b4" * (cast_expression "(code *)PTR_xfunc_die_001311b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (return_statement "return iVar6;" return identifier ;) })) (if_statement "if (iVar7 != 0) {\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_close_00131ca8)(iVar7);\n      }" { (expression_statement "(*(code *)PTR_close_00131ca8)(iVar7);" (call_expression "(*(code *)PTR_close_00131ca8)(iVar7)" (parenthesized_expression "(*(code *)PTR_close_00131ca8)" ( (pointer_expression "*(code *)PTR_close_00131ca8" * (cast_expression "(code *)PTR_close_00131ca8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_xlseek_001316c8)(iVar8);" (call_expression "(*(code *)PTR_xlseek_001316c8)(iVar8)" (parenthesized_expression "(*(code *)PTR_xlseek_001316c8)" ( (pointer_expression "*(code *)PTR_xlseek_001316c8" * (cast_expression "(code *)PTR_xlseek_001316c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;) (expression_statement "unaff_s3 = iVar8;" (assignment_expression "unaff_s3 = iVar8" identifier = identifier) ;) })) (expression_statement "pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244));" (assignment_expression "pFVar10 = (FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244))" identifier = (cast_expression "(FILE *)(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244))" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_fdopen_001321f0)(iVar8,(undefined *)((int)pFVar24 + 0x2244))" (parenthesized_expression "(*(code *)PTR_fdopen_001321f0)" ( (pointer_expression "*(code *)PTR_fdopen_001321f0" * (cast_expression "(code *)PTR_fdopen_001321f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8,(undefined *)((int)pFVar24 + 0x2244))" ( identifier , (cast_expression "(undefined *)((int)pFVar24 + 0x2244)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar24 + 0x2244)" ( (binary_expression "(int)pFVar24 + 0x2244" (cast_expression "(int)pFVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))))) ;) (expression_statement "pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pFVar27 = (FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c" identifier = (cast_expression "(FILE_and_pos_t *)PTR_bb_common_bufsiz1_0013136c" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFVar22->ft_fp = pFVar10;" (assignment_expression "pFVar22->ft_fp = pFVar10" (field_expression "pFVar22->ft_fp" identifier -> field_identifier) = identifier) ;) (expression_statement "ppcVar20 = ppcVar20 + 1;" (assignment_expression "ppcVar20 = ppcVar20 + 1" identifier = (binary_expression "ppcVar20 + 1" identifier + number_literal)) ;) (expression_statement "pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4;" (assignment_expression "pFVar22 = (FILE_and_pos_t *)&pFVar22->field_0x4" identifier = (cast_expression "(FILE_and_pos_t *)&pFVar22->field_0x4" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar22->field_0x4" & (field_expression "pFVar22->field_0x4" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((FILE_and_pos_t *)ppcVar20 != pFVar23)" ( (binary_expression "(FILE_and_pos_t *)ppcVar20 != pFVar23" (cast_expression "(FILE_and_pos_t *)ppcVar20" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "puVar25 = (undefined1 *)0x0;" (assignment_expression "puVar25 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar22 = (FILE_and_pos_t *)0x0;" (assignment_expression "pFVar22 = (FILE_and_pos_t *)0x0" identifier = (cast_expression "(FILE_and_pos_t *)0x0" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar28 = PTR_bb_common_bufsiz1_0013136c + 0x200;" (assignment_expression "puVar28 = PTR_bb_common_bufsiz1_0013136c + 0x200" identifier = (binary_expression "PTR_bb_common_bufsiz1_0013136c + 0x200" identifier + number_literal)) ;) (expression_statement "local_b4 = (FILE_and_pos_t *)&DAT_00000001;" (assignment_expression "local_b4 = (FILE_and_pos_t *)&DAT_00000001" identifier = (cast_expression "(FILE_and_pos_t *)&DAT_00000001" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while( true ) {\n    pFVar26 = fp[0];\n    unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);\n    pFVar24 = fp[1];\n    iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);\n    if (unaff_s3 != iVar7) {\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }\n    if (iVar7 == 0) break;\n    if (0 < iVar7) {\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pFVar26 = fp[0];\n    unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);\n    pFVar24 = fp[1];\n    iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);\n    if (unaff_s3 != iVar7) {\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }\n    if (iVar7 == 0) break;\n    if (0 < iVar7) {\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }\n  }" { (expression_statement "pFVar26 = fp[0];" (assignment_expression "pFVar26 = fp[0]" identifier = (subscript_expression "fp[0]" identifier [ number_literal ])) ;) (expression_statement "unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0]);" (assignment_expression "unaff_s3 = (*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0])" identifier = (call_expression "(*(code *)PTR_fread_00132024)(pFVar27,1,0x200,fp[0])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" ( (pointer_expression "*(code *)PTR_fread_00132024" * (cast_expression "(code *)PTR_fread_00132024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar27,1,0x200,fp[0])" ( identifier , number_literal , number_literal , (subscript_expression "fp[0]" identifier [ number_literal ]) )))) ;) (expression_statement "pFVar24 = fp[1];" (assignment_expression "pFVar24 = fp[1]" identifier = (subscript_expression "fp[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1]);" (assignment_expression "iVar7 = (*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1])" identifier = (call_expression "(*(code *)PTR_fread_00132024)(puVar28,1,0x200,fp[1])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" ( (pointer_expression "*(code *)PTR_fread_00132024" * (cast_expression "(code *)PTR_fread_00132024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar28,1,0x200,fp[1])" ( identifier , number_literal , number_literal , (subscript_expression "fp[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (unaff_s3 != iVar7) {\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }" if (parenthesized_expression "(unaff_s3 != iVar7)" ( (binary_expression "unaff_s3 != iVar7" identifier != identifier) )) (compound_statement "{\n      if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }\n      puVar25 = &DAT_00000001;\n    }" { (if_statement "if (unaff_s3 < iVar7) {\n        iVar7 = unaff_s3;\n      }" if (parenthesized_expression "(unaff_s3 < iVar7)" ( (binary_expression "unaff_s3 < iVar7" identifier < identifier) )) (compound_statement "{\n        iVar7 = unaff_s3;\n      }" { (expression_statement "iVar7 = unaff_s3;" (assignment_expression "iVar7 = unaff_s3" identifier = identifier) ;) })) (expression_statement "puVar25 = &DAT_00000001;" (assignment_expression "puVar25 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < iVar7) {\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n      pcVar13 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);\n    }" { (expression_statement "pcVar13 = PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pcVar13 = PTR_bb_common_bufsiz1_0013136c" identifier = identifier) ;) (do_statement "do {\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      } while (pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7);" do (compound_statement "{\n        pFVar23 = local_b4;\n        if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }\n        pcVar13 = pcVar13 + 1;\n      }" { (expression_statement "pFVar23 = local_b4;" (assignment_expression "pFVar23 = local_b4" identifier = identifier) ;) (if_statement "if ((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')) {\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }" if (parenthesized_expression "((*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0'))" ( (binary_expression "(*pcVar13 == '\0') || (pFVar23 = pFVar22, pcVar13[0x200] != '\0')" (parenthesized_expression "(*pcVar13 == '\0')" ( (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pFVar23 = pFVar22, pcVar13[0x200] != '\0')" ( (comma_expression "pFVar23 = pFVar22, pcVar13[0x200] != '\0'" (assignment_expression "pFVar23 = pFVar22" identifier = identifier) , (binary_expression "pcVar13[0x200] != '\0'" (subscript_expression "pcVar13[0x200]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          pFVar22 = pFVar23;\n          if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }\n        }" { (expression_statement "pFVar22 = pFVar23;" (assignment_expression "pFVar22 = pFVar23" identifier = identifier) ;) (if_statement "if (pcVar13[0x200] != *pcVar13) {\n            puVar25 = &DAT_00000001;\n          }" if (parenthesized_expression "(pcVar13[0x200] != *pcVar13)" ( (binary_expression "pcVar13[0x200] != *pcVar13" (subscript_expression "pcVar13[0x200]" identifier [ number_literal ]) != (pointer_expression "*pcVar13" * identifier)) )) (compound_statement "{\n            puVar25 = &DAT_00000001;\n          }" { (expression_statement "puVar25 = &DAT_00000001;" (assignment_expression "puVar25 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) }) (else_clause "else {\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }" else (compound_statement "{\n          puVar25 = &DAT_00000001;\n          pFVar22 = local_b4;\n        }" { (expression_statement "puVar25 = &DAT_00000001;" (assignment_expression "puVar25 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) (expression_statement "pFVar22 = local_b4;" (assignment_expression "pFVar22 = local_b4" identifier = identifier) ;) }))) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7)" ( (binary_expression "pcVar13 != PTR_bb_common_bufsiz1_0013136c + iVar7" identifier != (binary_expression "PTR_bb_common_bufsiz1_0013136c + iVar7" identifier + identifier)) )) ;) })) })) (expression_statement "pcVar13 = (char *)0x0;" (assignment_expression "pcVar13 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar23 = pFVar27;" (assignment_expression "pFVar23 = pFVar27" identifier = identifier) ;) (if_statement "if (puVar25 == (undefined1 *)0x0) goto LAB_000d9af0;" if (parenthesized_expression "(puVar25 == (undefined1 *)0x0)" ( (binary_expression "puVar25 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d9af0;" goto statement_identifier ;)) (if_statement "if ((pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0)) {\n    pcVar13 = (char *)0x2;\n    goto LAB_000d9ad8;\n  }" if (parenthesized_expression "((pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0))" ( (binary_expression "(pFVar22 != (FILE_and_pos_t *)0x0) && ((*(uint *)PTR_option_mask32_0013135c & 1) == 0)" (parenthesized_expression "(pFVar22 != (FILE_and_pos_t *)0x0)" ( (binary_expression "pFVar22 != (FILE_and_pos_t *)0x0" identifier != (cast_expression "(FILE_and_pos_t *)0x0" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(uint *)PTR_option_mask32_0013135c & 1) == 0)" ( (binary_expression "(*(uint *)PTR_option_mask32_0013135c & 1) == 0" (parenthesized_expression "(*(uint *)PTR_option_mask32_0013135c & 1)" ( (binary_expression "*(uint *)PTR_option_mask32_0013135c & 1" (pointer_expression "*(uint *)PTR_option_mask32_0013135c" * (cast_expression "(uint *)PTR_option_mask32_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    pcVar13 = (char *)0x2;\n    goto LAB_000d9ad8;\n  }" { (expression_statement "pcVar13 = (char *)0x2;" (assignment_expression "pcVar13 = (char *)0x2" identifier = (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d9ad8;" goto statement_identifier ;) })) (expression_statement "ft[0].ft_fp = pFVar26;" (assignment_expression "ft[0].ft_fp = pFVar26" (field_expression "ft[0].ft_fp" (subscript_expression "ft[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "ft[1].ft_fp = pFVar24;" (assignment_expression "ft[1].ft_fp = pFVar24" (field_expression "ft[1].ft_fp" (subscript_expression "ft[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pFVar26 = (FILE *)create_J(ft,nlen,ix);" (assignment_expression "pFVar26 = (FILE *)create_J(ft,nlen,ix)" identifier = (cast_expression "(FILE *)create_J(ft,nlen,ix)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "create_J(ft,nlen,ix)" identifier (argument_list "(ft,nlen,ix)" ( identifier , identifier , identifier ))))) ;) (expression_statement "local_b4 = (FILE_and_pos_t *)0x0;" (assignment_expression "local_b4 = (FILE_and_pos_t *)0x0" identifier = (cast_expression "(FILE_and_pos_t *)0x0" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = 1;" (assignment_expression "unaff_s3 = 1" identifier = number_literal) ;) (expression_statement "pFVar24 = (FILE *)0x0;" (assignment_expression "pFVar24 = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = PTR_bdcommands_4__name_4__001311a4;" (assignment_expression "local_90 = PTR_bdcommands_4__name_4__001311a4" identifier = identifier) ;) (expression_statement "local_a0 = PTR_bdcommands_4__name_4__001311a4 + 0x457c;" (assignment_expression "local_a0 = PTR_bdcommands_4__name_4__001311a4 + 0x457c" identifier = (binary_expression "PTR_bdcommands_4__name_4__001311a4 + 0x457c" identifier + number_literal)) ;) (expression_statement "local_8c = PTR_bdcommands_4__name_4__001311a4 + 0x4584;" (assignment_expression "local_8c = PTR_bdcommands_4__name_4__001311a4 + 0x4584" identifier = (binary_expression "PTR_bdcommands_4__name_4__001311a4 + 0x4584" identifier + number_literal)) ;) (expression_statement "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);" (assignment_expression "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c)" identifier = (cast_expression "(code *)(PTR_LAB_00131bf8 + -0x708c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00131bf8 + -0x708c)" ( (binary_expression "PTR_LAB_00131bf8 + -0x708c" identifier + number_literal) )))) ;) (labeled_statement "LAB_000d9610:\n  puVar5 = PTR_xrealloc_vector_helper_001313dc;" statement_identifier : (expression_statement "puVar5 = PTR_xrealloc_vector_helper_001313dc;" (assignment_expression "puVar5 = PTR_xrealloc_vector_helper_001313dc" identifier = identifier) ;)) (expression_statement "puVar28 = PTR_ptr_to_globals_00131330;" (assignment_expression "puVar28 = PTR_ptr_to_globals_00131330" identifier = identifier) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_9c = (FILE *)ft;" (assignment_expression "local_9c = (FILE *)ft" identifier = (cast_expression "(FILE *)ft" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (do_statement "do {\n    span[0].a = unaff_s3;\n    if ((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }\nLAB_000d9698:\n    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;\n    span[0].b = span[0].a + -1;\n    if ((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)) {\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }\nLAB_000d96f8:\n    pFVar22 = (FILE_and_pos_t *)span[0].b;\n    iVar8 = span[0].b * 4;\n    pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);\n    span[1].b = (int)pFVar27;\n    iVar9 = iVar7;\n    if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }\n    unaff_s3 = (int)pFVar22 + 1;\n    if (nlen[0] < unaff_s3) break;\n    *(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;\n    iVar7 = iVar9;\n  } while( true );" do (compound_statement "{\n    span[0].a = unaff_s3;\n    if ((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }\nLAB_000d9698:\n    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;\n    span[0].b = span[0].a + -1;\n    if ((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)) {\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }\nLAB_000d96f8:\n    pFVar22 = (FILE_and_pos_t *)span[0].b;\n    iVar8 = span[0].b * 4;\n    pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);\n    span[1].b = (int)pFVar27;\n    iVar9 = iVar7;\n    if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }\n    unaff_s3 = (int)pFVar22 + 1;\n    if (nlen[0] < unaff_s3) break;\n    *(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;\n    iVar7 = iVar9;\n  }" { (expression_statement "span[0].a = unaff_s3;" (assignment_expression "span[0].a = unaff_s3" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if ((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)) {\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }" if (parenthesized_expression "((unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1))" ( (binary_expression "(unaff_s3 <= nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)" (parenthesized_expression "(unaff_s3 <= nlen[0])" ( (binary_expression "unaff_s3 <= nlen[0]" identifier <= (subscript_expression "nlen[0]" identifier [ number_literal ])) )) && (parenthesized_expression "(pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1)" ( (comma_expression "pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47,\n       *(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1" (assignment_expression "pcVar16 = pFVar26->_shortbuf + unaff_s3 * 4 + -0x47" identifier = (binary_expression "pFVar26->_shortbuf + unaff_s3 * 4 + -0x47" (binary_expression "pFVar26->_shortbuf + unaff_s3 * 4" (field_expression "pFVar26->_shortbuf" identifier -> field_identifier) + (binary_expression "unaff_s3 * 4" identifier * number_literal)) + number_literal)) , (binary_expression "*(int *)pcVar16 == *(int *)(pcVar16 + -4) + 1" (pointer_expression "*(int *)pcVar16" * (cast_expression "(int *)pcVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (binary_expression "*(int *)(pcVar16 + -4) + 1" (pointer_expression "*(int *)(pcVar16 + -4)" * (cast_expression "(int *)(pcVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + -4)" ( (binary_expression "pcVar16 + -4" identifier + number_literal) )))) + number_literal))) ))) )) (compound_statement "{\n      do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);\n    }" { (do_statement "do {\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      } while (*piVar1 == iVar8 + 1);" do (compound_statement "{\n        span[0].a = span[0].a + 1;\n        if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }\n        iVar8 = *(int *)pcVar16;\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n      }" { (expression_statement "span[0].a = span[0].a + 1;" (assignment_expression "span[0].a = span[0].a + 1" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "span[0].a + 1" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) + number_literal)) ;) (if_statement "if (nlen[0] < span[0].a) {\n          goto LAB_000d9698;\n        }" if (parenthesized_expression "(nlen[0] < span[0].a)" ( (binary_expression "nlen[0] < span[0].a" (subscript_expression "nlen[0]" identifier [ number_literal ]) < (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier)) )) (compound_statement "{\n          goto LAB_000d9698;\n        }" { (goto_statement "goto LAB_000d9698;" goto statement_identifier ;) })) (expression_statement "iVar8 = *(int *)pcVar16;" (assignment_expression "iVar8 = *(int *)pcVar16" identifier = (pointer_expression "*(int *)pcVar16" * (cast_expression "(int *)pcVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar1 = (int *)(pcVar16 + 4);" (assignment_expression "piVar1 = (int *)(pcVar16 + 4)" identifier = (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) ;) (expression_statement "pcVar16 = pcVar16 + 4;" (assignment_expression "pcVar16 = pcVar16 + 4" identifier = (binary_expression "pcVar16 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*piVar1 == iVar8 + 1)" ( (binary_expression "*piVar1 == iVar8 + 1" (pointer_expression "*piVar1" * identifier) == (binary_expression "iVar8 + 1" identifier + number_literal)) )) ;) })) (labeled_statement "LAB_000d9698:\n    span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;" statement_identifier : (expression_statement "span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1;" (assignment_expression "span[1].a = *(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1" (field_expression "span[1].a" (subscript_expression "span[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b) + 1" (pointer_expression "*(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b)" * (cast_expression "(int *)(pFVar26->_shortbuf + span[0].a * 4 + -0x4b)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar26->_shortbuf + span[0].a * 4 + -0x4b)" ( (binary_expression "pFVar26->_shortbuf + span[0].a * 4 + -0x4b" (binary_expression "pFVar26->_shortbuf + span[0].a * 4" (field_expression "pFVar26->_shortbuf" identifier -> field_identifier) + (binary_expression "span[0].a * 4" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) * number_literal)) + number_literal) )))) + number_literal)) ;)) (expression_statement "span[0].b = span[0].a + -1;" (assignment_expression "span[0].b = span[0].a + -1" (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "span[0].a + -1" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) + number_literal)) ;) (if_statement "if ((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)) {\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }" if (parenthesized_expression "((span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0))" ( (binary_expression "(span[0].a + -1 < nlen[0]) &&\n       (pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)" (parenthesized_expression "(span[0].a + -1 < nlen[0])" ( (binary_expression "span[0].a + -1 < nlen[0]" (binary_expression "span[0].a + -1" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) + number_literal) < (subscript_expression "nlen[0]" identifier [ number_literal ])) )) && (parenthesized_expression "(pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0)" ( (comma_expression "pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47, iVar8 = span[0].a,\n       *(int *)pcVar16 == 0" (assignment_expression "pcVar16 = pFVar26->_shortbuf + span[0].a * 4 + -0x47" identifier = (binary_expression "pFVar26->_shortbuf + span[0].a * 4 + -0x47" (binary_expression "pFVar26->_shortbuf + span[0].a * 4" (field_expression "pFVar26->_shortbuf" identifier -> field_identifier) + (binary_expression "span[0].a * 4" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) * number_literal)) + number_literal)) , (comma_expression "iVar8 = span[0].a,\n       *(int *)pcVar16 == 0" (assignment_expression "iVar8 = span[0].a" identifier = (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier)) , (binary_expression "*(int *)pcVar16 == 0" (pointer_expression "*(int *)pcVar16" * (cast_expression "(int *)pcVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal))) ))) )) (compound_statement "{\n      do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);\n    }" { (do_statement "do {\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      } while (*piVar1 == 0);" do (compound_statement "{\n        span[0].b = iVar8;\n        if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }\n        piVar1 = (int *)(pcVar16 + 4);\n        pcVar16 = pcVar16 + 4;\n        iVar8 = span[0].b + 1;\n      }" { (expression_statement "span[0].b = iVar8;" (assignment_expression "span[0].b = iVar8" (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if (span[0].b == nlen[0]) {\n          goto LAB_000d96f8;\n        }" if (parenthesized_expression "(span[0].b == nlen[0])" ( (binary_expression "span[0].b == nlen[0]" (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) == (subscript_expression "nlen[0]" identifier [ number_literal ])) )) (compound_statement "{\n          goto LAB_000d96f8;\n        }" { (goto_statement "goto LAB_000d96f8;" goto statement_identifier ;) })) (expression_statement "piVar1 = (int *)(pcVar16 + 4);" (assignment_expression "piVar1 = (int *)(pcVar16 + 4)" identifier = (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) ;) (expression_statement "pcVar16 = pcVar16 + 4;" (assignment_expression "pcVar16 = pcVar16 + 4" identifier = (binary_expression "pcVar16 + 4" identifier + number_literal)) ;) (expression_statement "iVar8 = span[0].b + 1;" (assignment_expression "iVar8 = span[0].b + 1" identifier = (binary_expression "span[0].b + 1" (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) ;) })) (labeled_statement "LAB_000d96f8:\n    pFVar22 = (FILE_and_pos_t *)span[0].b;" statement_identifier : (expression_statement "pFVar22 = (FILE_and_pos_t *)span[0].b;" (assignment_expression "pFVar22 = (FILE_and_pos_t *)span[0].b" identifier = (cast_expression "(FILE_and_pos_t *)span[0].b" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier))) ;)) (expression_statement "iVar8 = span[0].b * 4;" (assignment_expression "iVar8 = span[0].b * 4" identifier = (binary_expression "span[0].b * 4" (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) * number_literal)) ;) (expression_statement "pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1);" (assignment_expression "pFVar27 = (FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1)" identifier = (cast_expression "(FILE_and_pos_t *)(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1)" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1)" ( (binary_expression "*(int *)(pFVar26->_shortbuf + iVar8 + -0x43) + -1" (pointer_expression "*(int *)(pFVar26->_shortbuf + iVar8 + -0x43)" * (cast_expression "(int *)(pFVar26->_shortbuf + iVar8 + -0x43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar26->_shortbuf + iVar8 + -0x43)" ( (binary_expression "pFVar26->_shortbuf + iVar8 + -0x43" (binary_expression "pFVar26->_shortbuf + iVar8" (field_expression "pFVar26->_shortbuf" identifier -> field_identifier) + identifier) + number_literal) )))) + number_literal) )))) ;) (expression_statement "span[1].b = (int)pFVar27;" (assignment_expression "span[1].b = (int)pFVar27" (field_expression "span[1].b" (subscript_expression "span[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(int)pFVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar9 = iVar7;" (assignment_expression "iVar9 = iVar7" identifier = identifier) ;) (if_statement "if ((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)) {\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }" if (parenthesized_expression "((span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27))" ( (binary_expression "(span[0].a <= span[0].b) || (span[1].a <= (int)pFVar27)" (parenthesized_expression "(span[0].a <= span[0].b)" ( (binary_expression "span[0].a <= span[0].b" (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) <= (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier)) )) || (parenthesized_expression "(span[1].a <= (int)pFVar27)" ( (binary_expression "span[1].a <= (int)pFVar27" (field_expression "span[1].a" (subscript_expression "span[1]" identifier [ number_literal ]) . field_identifier) <= (cast_expression "(int)pFVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;\n      paVar15 = span;\n      ppoVar19 = ix;\n      do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);\n      iVar9 = iVar7 + 1;\n      pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);\n      pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;\n      *(int *)pcVar16 = span[0].a;\n      *(int *)(pcVar16 + 4) = span[0].b;\n      *(int *)(pcVar16 + 8) = span[1].a;\n      *(int *)(pcVar16 + 0xc) = span[1].b;\n    }" { (if_statement "if ((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))\n      goto LAB_000d987c;" if (parenthesized_expression "((-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))))" ( (binary_expression "(-1 < iVar7) &&\n         ((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a)))" (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) && (parenthesized_expression "((iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a)))" ( (parenthesized_expression "(iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a))" ( (comma_expression "iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1,\n          iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a)" (assignment_expression "iVar11 = *(int *)(*(int *)puVar28 + 4) * 2 + 1" identifier = (binary_expression "*(int *)(*(int *)puVar28 + 4) * 2 + 1" (binary_expression "*(int *)(*(int *)puVar28 + 4) * 2" (pointer_expression "*(int *)(*(int *)puVar28 + 4)" * (cast_expression "(int *)(*(int *)puVar28 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar28 + 4)" ( (binary_expression "*(int *)puVar28 + 4" (pointer_expression "*(int *)puVar28" * (cast_expression "(int *)puVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) * number_literal) + number_literal)) , (binary_expression "iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a &&\n          (iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a)" (binary_expression "iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43) < span[0].a" (binary_expression "iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43)" identifier + (pointer_expression "*(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43)" * (cast_expression "(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar24->_shortbuf + iVar7 * 0x10 + -0x43)" ( (binary_expression "pFVar24->_shortbuf + iVar7 * 0x10 + -0x43" (binary_expression "pFVar24->_shortbuf + iVar7 * 0x10" (field_expression "pFVar24->_shortbuf" identifier -> field_identifier) + (binary_expression "iVar7 * 0x10" identifier * number_literal)) + number_literal) ))))) < (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier)) && (parenthesized_expression "(iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a)" ( (binary_expression "iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b) < span[1].a" (binary_expression "iVar11 + *(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b)" identifier + (pointer_expression "*(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b)" * (cast_expression "(int *)(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b)" ( (binary_expression "pFVar24->_shortbuf + iVar7 * 0x10 + -0x3b" (binary_expression "pFVar24->_shortbuf + iVar7 * 0x10" (field_expression "pFVar24->_shortbuf" identifier -> field_identifier) + (binary_expression "iVar7 * 0x10" identifier * number_literal)) + number_literal) ))))) < (field_expression "span[1].a" (subscript_expression "span[1]" identifier [ number_literal ]) . field_identifier)) )))) )) ))) )) (goto_statement "goto LAB_000d987c;" goto statement_identifier ;)) (expression_statement "paVar15 = span;" (assignment_expression "paVar15 = span" identifier = identifier) ;) (expression_statement "ppoVar19 = ix;" (assignment_expression "ppoVar19 = ix" identifier = identifier) ;) (do_statement "do {\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      } while ((FILE *)paVar15 != local_9c);" do (compound_statement "{\n        if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }\n        paVar15 = paVar15 + 1;\n        ppoVar19 = ppoVar19 + 1;\n      }" { (if_statement "if (paVar15->a <= paVar15->b) {\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }" if (parenthesized_expression "(paVar15->a <= paVar15->b)" ( (binary_expression "paVar15->a <= paVar15->b" (field_expression "paVar15->a" identifier -> field_identifier) <= (field_expression "paVar15->b" identifier -> field_identifier)) )) (compound_statement "{\n          poVar12 = *ppoVar19 + paVar15->a;\n          do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);\n        }" { (expression_statement "poVar12 = *ppoVar19 + paVar15->a;" (assignment_expression "poVar12 = *ppoVar19 + paVar15->a" identifier = (binary_expression "*ppoVar19 + paVar15->a" (pointer_expression "*ppoVar19" * identifier) + (field_expression "paVar15->a" identifier -> field_identifier))) ;) (do_statement "do {\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          } while (poVar12 != *ppoVar19 + paVar15->b + 1);" do (compound_statement "{\n            iVar9 = *(int *)poVar12;\n            oVar4 = *poVar12;\n            poVar2 = poVar12 + -1;\n            uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);\n            poVar12 = poVar12 + 1;\n            bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));\n          }" { (expression_statement "iVar9 = *(int *)poVar12;" (assignment_expression "iVar9 = *(int *)poVar12" identifier = (pointer_expression "*(int *)poVar12" * (cast_expression "(int *)poVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "oVar4 = *poVar12;" (assignment_expression "oVar4 = *poVar12" identifier = (pointer_expression "*poVar12" * identifier)) ;) (expression_statement "poVar2 = poVar12 + -1;" (assignment_expression "poVar2 = poVar12 + -1" identifier = (binary_expression "poVar12 + -1" identifier + number_literal)) ;) (expression_statement "uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4);" (assignment_expression "uVar14 = (uint)oVar4 - *(int *)((int)poVar12 + -4)" identifier = (binary_expression "(uint)oVar4 - *(int *)((int)poVar12 + -4)" (cast_expression "(uint)oVar4" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*(int *)((int)poVar12 + -4)" * (cast_expression "(int *)((int)poVar12 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)poVar12 + -4)" ( (binary_expression "(int)poVar12 + -4" (cast_expression "(int)poVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (expression_statement "poVar12 = poVar12 + 1;" (assignment_expression "poVar12 = poVar12 + 1" identifier = (binary_expression "poVar12 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1));" (assignment_expression "bVar3 = (bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1))" identifier = (cast_expression "(bool)(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1))" ( (binary_expression "bVar3 | (iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1)" identifier | (parenthesized_expression "(iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1)" ( (binary_expression "iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14) ||\n                                   uVar14 != 1" (binary_expression "iVar9 - *(int *)poVar2 != (uint)((uint)oVar4 < uVar14)" (binary_expression "iVar9 - *(int *)poVar2" identifier - (pointer_expression "*(int *)poVar2" * (cast_expression "(int *)poVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) != (call_expression "(uint)((uint)oVar4 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)oVar4 < uVar14)" ( (binary_expression "(uint)oVar4 < uVar14" (cast_expression "(uint)oVar4" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) || (binary_expression "uVar14 != 1" identifier != number_literal)) ))) )))) ;) }) while (parenthesized_expression "(poVar12 != *ppoVar19 + paVar15->b + 1)" ( (binary_expression "poVar12 != *ppoVar19 + paVar15->b + 1" identifier != (binary_expression "*ppoVar19 + paVar15->b + 1" (binary_expression "*ppoVar19 + paVar15->b" (pointer_expression "*ppoVar19" * identifier) + (field_expression "paVar15->b" identifier -> field_identifier)) + number_literal)) )) ;) })) (expression_statement "paVar15 = paVar15 + 1;" (assignment_expression "paVar15 = paVar15 + 1" identifier = (binary_expression "paVar15 + 1" identifier + number_literal)) ;) (expression_statement "ppoVar19 = ppoVar19 + 1;" (assignment_expression "ppoVar19 = ppoVar19 + 1" identifier = (binary_expression "ppoVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((FILE *)paVar15 != local_9c)" ( (binary_expression "(FILE *)paVar15 != local_9c" (cast_expression "(FILE *)paVar15" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "iVar9 = iVar7 + 1;" (assignment_expression "iVar9 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9);" (assignment_expression "pFVar24 = (FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9)" identifier = (cast_expression "(FILE *)(*(code *)puVar5)(pFVar24,0x1006,iVar9)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar5)(pFVar24,0x1006,iVar9)" (parenthesized_expression "(*(code *)puVar5)" ( (pointer_expression "*(code *)puVar5" * (cast_expression "(code *)puVar5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar24,0x1006,iVar9)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37;" (assignment_expression "pcVar16 = pFVar24->_shortbuf + iVar7 * 0x10 + -0x37" identifier = (binary_expression "pFVar24->_shortbuf + iVar7 * 0x10 + -0x37" (binary_expression "pFVar24->_shortbuf + iVar7 * 0x10" (field_expression "pFVar24->_shortbuf" identifier -> field_identifier) + (binary_expression "iVar7 * 0x10" identifier * number_literal)) + number_literal)) ;) (expression_statement "*(int *)pcVar16 = span[0].a;" (assignment_expression "*(int *)pcVar16 = span[0].a" (pointer_expression "*(int *)pcVar16" * (cast_expression "(int *)pcVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(int *)(pcVar16 + 4) = span[0].b;" (assignment_expression "*(int *)(pcVar16 + 4) = span[0].b" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(int *)(pcVar16 + 8) = span[1].a;" (assignment_expression "*(int *)(pcVar16 + 8) = span[1].a" (pointer_expression "*(int *)(pcVar16 + 8)" * (cast_expression "(int *)(pcVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = (field_expression "span[1].a" (subscript_expression "span[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(int *)(pcVar16 + 0xc) = span[1].b;" (assignment_expression "*(int *)(pcVar16 + 0xc) = span[1].b" (pointer_expression "*(int *)(pcVar16 + 0xc)" * (cast_expression "(int *)(pcVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (field_expression "span[1].b" (subscript_expression "span[1]" identifier [ number_literal ]) . field_identifier)) ;) })) (expression_statement "unaff_s3 = (int)pFVar22 + 1;" (assignment_expression "unaff_s3 = (int)pFVar22 + 1" identifier = (binary_expression "(int)pFVar22 + 1" (cast_expression "(int)pFVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (if_statement "if (nlen[0] < unaff_s3) break;" if (parenthesized_expression "(nlen[0] < unaff_s3)" ( (binary_expression "nlen[0] < unaff_s3" (subscript_expression "nlen[0]" identifier [ number_literal ]) < identifier) )) (break_statement "break;" break ;)) (expression_statement "*(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27;" (assignment_expression "*(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47) = pFVar27" (pointer_expression "*(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47)" * (cast_expression "(FILE_and_pos_t **)(pFVar26->_shortbuf + iVar8 + -0x47)" ( (type_descriptor "FILE_and_pos_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pFVar26->_shortbuf + iVar8 + -0x47)" ( (binary_expression "pFVar26->_shortbuf + iVar8 + -0x47" (binary_expression "pFVar26->_shortbuf + iVar8" (field_expression "pFVar26->_shortbuf" identifier -> field_identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = iVar9;" (assignment_expression "iVar7 = iVar9" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (if_statement "if (iVar9 < 0) goto LAB_000d9a78;" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000d9a78;" goto statement_identifier ;)) (labeled_statement "LAB_000d987c:\n  if (((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))\n  goto LAB_000d9a68;" statement_identifier : (if_statement "if (((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))\n  goto LAB_000d9a68;" if (parenthesized_expression "(((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3))" ( (binary_expression "((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0) && (pFVar23 = local_b4, !bVar3)" (parenthesized_expression "((int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0)" ( (binary_expression "(int)(*(uint *)PTR_option_mask32_0013135c << 0xf) < 0" (cast_expression "(int)(*(uint *)PTR_option_mask32_0013135c << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)PTR_option_mask32_0013135c << 0xf)" ( (binary_expression "*(uint *)PTR_option_mask32_0013135c << 0xf" (pointer_expression "*(uint *)PTR_option_mask32_0013135c" * (cast_expression "(uint *)PTR_option_mask32_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal) ))) < number_literal) )) && (parenthesized_expression "(pFVar23 = local_b4, !bVar3)" ( (comma_expression "pFVar23 = local_b4, !bVar3" (assignment_expression "pFVar23 = local_b4" identifier = identifier) , (unary_expression "!bVar3" ! identifier)) ))) )) (goto_statement "goto LAB_000d9a68;" goto statement_identifier ;))) (expression_statement "pFVar23 = (FILE_and_pos_t *)puVar25;" (assignment_expression "pFVar23 = (FILE_and_pos_t *)puVar25" identifier = (cast_expression "(FILE_and_pos_t *)puVar25" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(uint *)PTR_option_mask32_0013135c & 0x40) != 0) goto LAB_000d9a68;" if (parenthesized_expression "((*(uint *)PTR_option_mask32_0013135c & 0x40) != 0)" ( (binary_expression "(*(uint *)PTR_option_mask32_0013135c & 0x40) != 0" (parenthesized_expression "(*(uint *)PTR_option_mask32_0013135c & 0x40)" ( (binary_expression "*(uint *)PTR_option_mask32_0013135c & 0x40" (pointer_expression "*(uint *)PTR_option_mask32_0013135c" * (cast_expression "(uint *)PTR_option_mask32_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d9a68;" goto statement_identifier ;)) (if_statement "if (local_b4 == (FILE_and_pos_t *)0x0) {\n    iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n    pcVar16 = *(char **)(iVar7 + 0xc);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = *file;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);\n    pcVar16 = *(char **)(iVar7 + 0x10);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = file[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);\n  }" if (parenthesized_expression "(local_b4 == (FILE_and_pos_t *)0x0)" ( (binary_expression "local_b4 == (FILE_and_pos_t *)0x0" identifier == (cast_expression "(FILE_and_pos_t *)0x0" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = *(int *)PTR_ptr_to_globals_00131330;\n    pcVar16 = *(char **)(iVar7 + 0xc);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = *file;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);\n    pcVar16 = *(char **)(iVar7 + 0x10);\n    if (pcVar16 == (char *)0x0) {\n      pcVar16 = file[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);\n  }" { (expression_statement "iVar7 = *(int *)PTR_ptr_to_globals_00131330;" (assignment_expression "iVar7 = *(int *)PTR_ptr_to_globals_00131330" identifier = (pointer_expression "*(int *)PTR_ptr_to_globals_00131330" * (cast_expression "(int *)PTR_ptr_to_globals_00131330" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar16 = *(char **)(iVar7 + 0xc);" (assignment_expression "pcVar16 = *(char **)(iVar7 + 0xc)" identifier = (pointer_expression "*(char **)(iVar7 + 0xc)" * (cast_expression "(char **)(iVar7 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (pcVar16 == (char *)0x0) {\n      pcVar16 = *file;\n    }" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar16 = *file;\n    }" { (expression_statement "pcVar16 = *file;" (assignment_expression "pcVar16 = *file" identifier = (pointer_expression "*file" * identifier)) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_bdcommands_4__name_4__001311a4 + 0x4568,pcVar16)" ( number_literal , (binary_expression "PTR_bdcommands_4__name_4__001311a4 + 0x4568" identifier + number_literal) , identifier ))) ;) (expression_statement "pcVar16 = *(char **)(iVar7 + 0x10);" (assignment_expression "pcVar16 = *(char **)(iVar7 + 0x10)" identifier = (pointer_expression "*(char **)(iVar7 + 0x10)" * (cast_expression "(char **)(iVar7 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (pcVar16 == (char *)0x0) {\n      pcVar16 = file[1];\n    }" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar16 = file[1];\n    }" { (expression_statement "pcVar16 = file[1];" (assignment_expression "pcVar16 = file[1]" identifier = (subscript_expression "file[1]" identifier [ number_literal ])) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_bdcommands_4__name_4__001311a4 + 0x4570,pcVar16)" ( number_literal , (binary_expression "PTR_bdcommands_4__name_4__001311a4 + 0x4570" identifier + number_literal) , identifier ))) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_90 + 0x4578)" ( number_literal , (binary_expression "local_90 + 0x4578" identifier + number_literal) ))) ;) (expression_statement "local_9c = (FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47);" (assignment_expression "local_9c = (FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47)" identifier = (cast_expression "(FILE *)(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar24->_shortbuf + iVar9 * 0x10 + -0x47)" ( (binary_expression "pFVar24->_shortbuf + iVar9 * 0x10 + -0x47" (binary_expression "pFVar24->_shortbuf + iVar9 * 0x10" (field_expression "pFVar24->_shortbuf" identifier -> field_identifier) + (binary_expression "iVar9 * 0x10" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "local_ac = span;" (assignment_expression "local_ac = span" identifier = identifier) ;) (expression_statement "ppcVar20 = &local_9c->_IO_read_ptr;" (assignment_expression "ppcVar20 = &local_9c->_IO_read_ptr" identifier = (pointer_expression "&local_9c->_IO_read_ptr" & (field_expression "local_9c->_IO_read_ptr" identifier -> field_identifier))) ;) (expression_statement "local_b4 = (FILE_and_pos_t *)nlen;" (assignment_expression "local_b4 = (FILE_and_pos_t *)nlen" identifier = (cast_expression "(FILE_and_pos_t *)nlen" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = *(int *)PTR_ptr_to_globals_00131330;" (assignment_expression "iVar7 = *(int *)PTR_ptr_to_globals_00131330" identifier = (pointer_expression "*(int *)PTR_ptr_to_globals_00131330" * (cast_expression "(int *)PTR_ptr_to_globals_00131330" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_a8 = pFVar24;" (assignment_expression "local_a8 = pFVar24" identifier = identifier) ;) (do_statement "do {\n    iVar9 = *(int *)(iVar7 + 4);\n    pcVar16 = (char *)((int)local_a8->_flags - iVar9);\n    if ((int)pcVar16 < 1) {\n      pcVar16 = &DAT_00000001;\n    }\n    local_ac->a = (int)pcVar16;\n    pcVar17 = *(char **)local_b4;\n    if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {\n      pcVar17 = *ppcVar20 + iVar9;\n    }\n    local_ac->b = (int)pcVar17;\n    if (iVar8 == 1) {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }\n    else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }\n    local_a8 = (FILE *)&local_a8->_IO_read_end;\n    local_ac = local_ac + 1;\n    ppcVar20 = ppcVar20 + 2;\n    local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);\n    iVar8 = iVar8 + 1;\n  } while( true );" do (compound_statement "{\n    iVar9 = *(int *)(iVar7 + 4);\n    pcVar16 = (char *)((int)local_a8->_flags - iVar9);\n    if ((int)pcVar16 < 1) {\n      pcVar16 = &DAT_00000001;\n    }\n    local_ac->a = (int)pcVar16;\n    pcVar17 = *(char **)local_b4;\n    if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {\n      pcVar17 = *ppcVar20 + iVar9;\n    }\n    local_ac->b = (int)pcVar17;\n    if (iVar8 == 1) {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }\n    else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }\n    local_a8 = (FILE *)&local_a8->_IO_read_end;\n    local_ac = local_ac + 1;\n    ppcVar20 = ppcVar20 + 2;\n    local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);\n    iVar8 = iVar8 + 1;\n  }" { (expression_statement "iVar9 = *(int *)(iVar7 + 4);" (assignment_expression "iVar9 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar16 = (char *)((int)local_a8->_flags - iVar9);" (assignment_expression "pcVar16 = (char *)((int)local_a8->_flags - iVar9)" identifier = (cast_expression "(char *)((int)local_a8->_flags - iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a8->_flags - iVar9)" ( (binary_expression "(int)local_a8->_flags - iVar9" (cast_expression "(int)local_a8->_flags" ( (type_descriptor "int" primitive_type) ) (field_expression "local_a8->_flags" identifier -> field_identifier)) - identifier) )))) ;) (if_statement "if ((int)pcVar16 < 1) {\n      pcVar16 = &DAT_00000001;\n    }" if (parenthesized_expression "((int)pcVar16 < 1)" ( (binary_expression "(int)pcVar16 < 1" (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pcVar16 = &DAT_00000001;\n    }" { (expression_statement "pcVar16 = &DAT_00000001;" (assignment_expression "pcVar16 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) (expression_statement "local_ac->a = (int)pcVar16;" (assignment_expression "local_ac->a = (int)pcVar16" (field_expression "local_ac->a" identifier -> field_identifier) = (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcVar17 = *(char **)local_b4;" (assignment_expression "pcVar17 = *(char **)local_b4" identifier = (pointer_expression "*(char **)local_b4" * (cast_expression "(char **)local_b4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4) {\n      pcVar17 = *ppcVar20 + iVar9;\n    }" if (parenthesized_expression "((int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4)" ( (binary_expression "(int)(*ppcVar20 + iVar9) <= (int)*(char **)local_b4" (cast_expression "(int)(*ppcVar20 + iVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*ppcVar20 + iVar9)" ( (binary_expression "*ppcVar20 + iVar9" (pointer_expression "*ppcVar20" * identifier) + identifier) ))) <= (cast_expression "(int)*(char **)local_b4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)local_b4" * (cast_expression "(char **)local_b4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)))) )) (compound_statement "{\n      pcVar17 = *ppcVar20 + iVar9;\n    }" { (expression_statement "pcVar17 = *ppcVar20 + iVar9;" (assignment_expression "pcVar17 = *ppcVar20 + iVar9" identifier = (binary_expression "*ppcVar20 + iVar9" (pointer_expression "*ppcVar20" * identifier) + identifier)) ;) })) (expression_statement "local_ac->b = (int)pcVar17;" (assignment_expression "local_ac->b = (int)pcVar17" (field_expression "local_ac->b" identifier -> field_identifier) = (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar8 == 1) {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }\n    else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);\n      if (pcVar16 != pcVar17) goto LAB_000d99d8;\n    }" { (expression_statement "pcVar18 = pcVar17;" (assignment_expression "pcVar18 = pcVar17" identifier = identifier) ;) (if_statement "if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }" if (parenthesized_expression "((int)pcVar16 <= (int)pcVar17)" ( (binary_expression "(int)pcVar16 <= (int)pcVar17" (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pcVar18 = pcVar16;\n      }" { (expression_statement "pcVar18 = pcVar16;" (assignment_expression "pcVar18 = pcVar16" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,pcVar18)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_a0,0x2d,pcVar18)" ( number_literal , identifier , number_literal , identifier ))) ;) (if_statement "if (pcVar16 != pcVar17) goto LAB_000d99d8;" if (parenthesized_expression "(pcVar16 != pcVar17)" ( (binary_expression "pcVar16 != pcVar17" identifier != identifier) )) (goto_statement "goto LAB_000d99d8;" goto statement_identifier ;)) }) (else_clause "else {\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }" else (compound_statement "{\n      pcVar18 = pcVar17;\n      if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);\n      if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }\n      if (1 < iVar8) break;\n    }" { (expression_statement "pcVar18 = pcVar17;" (assignment_expression "pcVar18 = pcVar17" identifier = identifier) ;) (if_statement "if ((int)pcVar16 <= (int)pcVar17) {\n        pcVar18 = pcVar16;\n      }" if (parenthesized_expression "((int)pcVar16 <= (int)pcVar17)" ( (binary_expression "(int)pcVar16 <= (int)pcVar17" (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pcVar18 = pcVar16;\n      }" { (expression_statement "pcVar18 = pcVar16;" (assignment_expression "pcVar18 = pcVar16" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,pcVar18)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_a0,0x2b,pcVar18)" ( number_literal , identifier , number_literal , identifier ))) ;) (if_statement "if (pcVar16 != pcVar17) {\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }" if (parenthesized_expression "(pcVar16 != pcVar17)" ( (binary_expression "pcVar16 != pcVar17" identifier != identifier) )) (compound_statement "{\nLAB_000d99d8:\n        pcVar18 = pcVar13;\n        if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);\n      }" { (labeled_statement "LAB_000d99d8:\n        pcVar18 = pcVar13;" statement_identifier : (expression_statement "pcVar18 = pcVar13;" (assignment_expression "pcVar18 = pcVar13" identifier = identifier) ;)) (if_statement "if ((int)pcVar16 < (int)pcVar17) {\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }" if (parenthesized_expression "((int)pcVar16 < (int)pcVar17)" ( (binary_expression "(int)pcVar16 < (int)pcVar17" (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcVar18 = pcVar17 + (1 - (int)pcVar16);\n        }" { (expression_statement "pcVar18 = pcVar17 + (1 - (int)pcVar16);" (assignment_expression "pcVar18 = pcVar17 + (1 - (int)pcVar16)" identifier = (binary_expression "pcVar17 + (1 - (int)pcVar16)" identifier + (parenthesized_expression "(1 - (int)pcVar16)" ( (binary_expression "1 - (int)pcVar16" number_literal - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,pcVar18)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_8c,pcVar18)" ( number_literal , identifier , identifier ))) ;) })) (if_statement "if (1 < iVar8) break;" if (parenthesized_expression "(1 < iVar8)" ( (binary_expression "1 < iVar8" number_literal < identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "local_a8 = (FILE *)&local_a8->_IO_read_end;" (assignment_expression "local_a8 = (FILE *)&local_a8->_IO_read_end" identifier = (cast_expression "(FILE *)&local_a8->_IO_read_end" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_a8->_IO_read_end" & (field_expression "local_a8->_IO_read_end" identifier -> field_identifier)))) ;) (expression_statement "local_ac = local_ac + 1;" (assignment_expression "local_ac = local_ac + 1" identifier = (binary_expression "local_ac + 1" identifier + number_literal)) ;) (expression_statement "ppcVar20 = ppcVar20 + 2;" (assignment_expression "ppcVar20 = ppcVar20 + 2" identifier = (binary_expression "ppcVar20 + 2" identifier + number_literal)) ;) (expression_statement "local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4);" (assignment_expression "local_b4 = (FILE_and_pos_t *)((int)local_b4 + 4)" identifier = (cast_expression "(FILE_and_pos_t *)((int)local_b4 + 4)" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 + 4)" ( (binary_expression "(int)local_b4 + 4" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "(*(code *)PTR_puts_00131fd0)(PTR_bdcommands_4__name_4__001311a4 + 0x4588);" (call_expression "(*(code *)PTR_puts_00131fd0)(PTR_bdcommands_4__name_4__001311a4 + 0x4588)" (parenthesized_expression "(*(code *)PTR_puts_00131fd0)" ( (pointer_expression "*(code *)PTR_puts_00131fd0" * (cast_expression "(code *)PTR_puts_00131fd0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_bdcommands_4__name_4__001311a4 + 0x4588)" ( (binary_expression "PTR_bdcommands_4__name_4__001311a4 + 0x4588" identifier + number_literal) ))) ;) (expression_statement "pFVar22 = ft;" (assignment_expression "pFVar22 = ft" identifier = identifier) ;) (expression_statement "pFVar27 = ft + 1;" (assignment_expression "pFVar27 = ft + 1" identifier = (binary_expression "ft + 1" identifier + number_literal)) ;) (expression_statement "pcVar16 = (char *)span[0].a;" (assignment_expression "pcVar16 = (char *)span[0].a" identifier = (cast_expression "(char *)span[0].a" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "span[0].a" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pFVar10 = pFVar24;" (assignment_expression "pFVar10 = pFVar24" identifier = identifier) ;) (do_statement "do {\n    pFVar21 = pFVar24;\n    if (local_9c < pFVar24) {\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }\n    (*local_b0)(pFVar22);\n    (*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);\n    (*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);\n    pFVar24 = (FILE *)&pFVar21->_IO_write_base;\n    pcVar16 = pFVar21->_IO_read_ptr + 1;\n  } while( true );" do (compound_statement "{\n    pFVar21 = pFVar24;\n    if (local_9c < pFVar24) {\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }\n    (*local_b0)(pFVar22);\n    (*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);\n    (*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);\n    pFVar24 = (FILE *)&pFVar21->_IO_write_base;\n    pcVar16 = pFVar21->_IO_read_ptr + 1;\n  }" { (expression_statement "pFVar21 = pFVar24;" (assignment_expression "pFVar21 = pFVar24" identifier = identifier) ;) (if_statement "if (local_9c < pFVar24) {\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }" if (parenthesized_expression "(local_9c < pFVar24)" ( (binary_expression "local_9c < pFVar24" identifier < identifier) )) (compound_statement "{\n      (*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);\n      pFVar24 = pFVar10;\n      pFVar23 = (FILE_and_pos_t *)puVar25;\nLAB_000d9a68:\n      local_b4 = pFVar23;\n      if (unaff_s3 <= nlen[0]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);\n      (*(code *)PTR_free_00132180)(ix[0]);\n      (*(code *)PTR_free_00132180)(ix[1]);\n      (*(code *)PTR_free_00132180)(pFVar26);\n      pFVar23 = pFVar27;\n      if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }\nLAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;\n      fclose_if_not_stdin(fp[0]);\n      fclose_if_not_stdin(fp[1]);\n      if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pFVar10 = pFVar24;\n      pFVar27 = pFVar23;\n    }" { (expression_statement "(*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20);" (call_expression "(*local_b0)(ft,ix[0],pcVar16,span[0].b,0x20)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(ft,ix[0],pcVar16,span[0].b,0x20)" ( identifier , (subscript_expression "ix[0]" identifier [ number_literal ]) , identifier , (field_expression "span[0].b" (subscript_expression "span[0]" identifier [ number_literal ]) . field_identifier) , number_literal ))) ;) (expression_statement "pFVar24 = pFVar10;" (assignment_expression "pFVar24 = pFVar10" identifier = identifier) ;) (expression_statement "pFVar23 = (FILE_and_pos_t *)puVar25;" (assignment_expression "pFVar23 = (FILE_and_pos_t *)puVar25" identifier = (cast_expression "(FILE_and_pos_t *)puVar25" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_000d9a68:\n      local_b4 = pFVar23;" statement_identifier : (expression_statement "local_b4 = pFVar23;" (assignment_expression "local_b4 = pFVar23" identifier = identifier) ;)) (if_statement "if (unaff_s3 <= nlen[0]) goto LAB_000d9610;" if (parenthesized_expression "(unaff_s3 <= nlen[0])" ( (binary_expression "unaff_s3 <= nlen[0]" identifier <= (subscript_expression "nlen[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_000d9610;" goto statement_identifier ;)) (labeled_statement "LAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pFVar24);" statement_identifier : (expression_statement "(*(code *)PTR_free_00132180)(pFVar24);" (call_expression "(*(code *)PTR_free_00132180)(pFVar24)" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar24)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_free_00132180)(ix[0]);" (call_expression "(*(code *)PTR_free_00132180)(ix[0])" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ix[0])" ( (subscript_expression "ix[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_00132180)(ix[1]);" (call_expression "(*(code *)PTR_free_00132180)(ix[1])" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ix[1])" ( (subscript_expression "ix[1]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_00132180)(pFVar26);" (call_expression "(*(code *)PTR_free_00132180)(pFVar26)" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar26)" ( identifier ))) ;) (expression_statement "pFVar23 = pFVar27;" (assignment_expression "pFVar23 = pFVar27" identifier = identifier) ;) (if_statement "if (local_b4 != (FILE_and_pos_t *)0x0) {\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }" if (parenthesized_expression "(local_b4 != (FILE_and_pos_t *)0x0)" ( (binary_expression "local_b4 != (FILE_and_pos_t *)0x0" identifier != (cast_expression "(FILE_and_pos_t *)0x0" ( (type_descriptor "FILE_and_pos_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar13 = (char *)0x1;\nLAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;\n        pFVar23 = pFVar27;\n      }" { (expression_statement "pcVar13 = (char *)0x1;" (assignment_expression "pcVar13 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000d9ad8:\n        **(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;" statement_identifier : (expression_statement "**(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1;" (assignment_expression "**(byte **)PTR_ptr_to_globals_00131330 = **(byte **)PTR_ptr_to_globals_00131330 | 1" (pointer_expression "**(byte **)PTR_ptr_to_globals_00131330" * (pointer_expression "*(byte **)PTR_ptr_to_globals_00131330" * (cast_expression "(byte **)PTR_ptr_to_globals_00131330" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = (binary_expression "**(byte **)PTR_ptr_to_globals_00131330 | 1" (pointer_expression "**(byte **)PTR_ptr_to_globals_00131330" * (pointer_expression "*(byte **)PTR_ptr_to_globals_00131330" * (cast_expression "(byte **)PTR_ptr_to_globals_00131330" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) | number_literal)) ;)) (expression_statement "pFVar23 = pFVar27;" (assignment_expression "pFVar23 = pFVar27" identifier = identifier) ;) })) (labeled_statement "LAB_000d9af0:\n      pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;" statement_identifier : (expression_statement "pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418;" (assignment_expression "pFVar21 = (FILE *)PTR_fclose_if_not_stdin_00131418" identifier = (cast_expression "(FILE *)PTR_fclose_if_not_stdin_00131418" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "fclose_if_not_stdin(fp[0]);" (call_expression "fclose_if_not_stdin(fp[0])" identifier (argument_list "(fp[0])" ( (subscript_expression "fp[0]" identifier [ number_literal ]) ))) ;) (expression_statement "fclose_if_not_stdin(fp[1]);" (call_expression "fclose_if_not_stdin(fp[1])" identifier (argument_list "(fp[1])" ( (subscript_expression "fp[1]" identifier [ number_literal ]) ))) ;) (if_statement "if (iVar6 == *(int *)PTR___stack_chk_guard_00132164) {\n        return (int)pcVar13;\n      }" if (parenthesized_expression "(iVar6 == *(int *)PTR___stack_chk_guard_00132164)" ( (binary_expression "iVar6 == *(int *)PTR___stack_chk_guard_00132164" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" * (cast_expression "(int *)PTR___stack_chk_guard_00132164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return (int)pcVar13;\n      }" { (return_statement "return (int)pcVar13;" return (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_001320e4)();" (call_expression "(*(code *)PTR___stack_chk_fail_001320e4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001320e4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001320e4" * (cast_expression "(code *)PTR___stack_chk_fail_001320e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pFVar10 = pFVar24;" (assignment_expression "pFVar10 = pFVar24" identifier = identifier) ;) (expression_statement "pFVar27 = pFVar23;" (assignment_expression "pFVar27 = pFVar23" identifier = identifier) ;) })) (expression_statement "(*local_b0)(pFVar22);" (call_expression "(*local_b0)(pFVar22)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pFVar22)" ( identifier ))) ;) (expression_statement "(*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d);" (call_expression "(*local_b0)(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pFVar22,ix[0],(FILE *)pFVar21->_flags,pFVar21->_IO_read_ptr,0x2d)" ( identifier , (subscript_expression "ix[0]" identifier [ number_literal ]) , (cast_expression "(FILE *)pFVar21->_flags" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar21->_flags" identifier -> field_identifier)) , (field_expression "pFVar21->_IO_read_ptr" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "(*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b);" (call_expression "(*local_b0)(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pFVar27,ix[1],pFVar21->_IO_read_end,pFVar21->_IO_read_base,0x2b)" ( identifier , (subscript_expression "ix[1]" identifier [ number_literal ]) , (field_expression "pFVar21->_IO_read_end" identifier -> field_identifier) , (field_expression "pFVar21->_IO_read_base" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "pFVar24 = (FILE *)&pFVar21->_IO_write_base;" (assignment_expression "pFVar24 = (FILE *)&pFVar21->_IO_write_base" identifier = (cast_expression "(FILE *)&pFVar21->_IO_write_base" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar21->_IO_write_base" & (field_expression "pFVar21->_IO_write_base" identifier -> field_identifier)))) ;) (expression_statement "pcVar16 = pFVar21->_IO_read_ptr + 1;" (assignment_expression "pcVar16 = pFVar21->_IO_read_ptr + 1" identifier = (binary_expression "pFVar21->_IO_read_ptr + 1" (field_expression "pFVar21->_IO_read_ptr" identifier -> field_identifier) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "int FUN_000d9278(int *****param_1)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}\n\n" (function_definition "int FUN_000d9278(int *****param_1)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}" primitive_type (function_declarator "FUN_000d9278(int *****param_1)" identifier (parameter_list "(int *****param_1)" ( (parameter_declaration "int *****param_1" primitive_type (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))) ))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *****pppppiVar5;" primitive_type (pointer_declarator "*****pppppiVar5" * (pointer_declarator "****pppppiVar5" * (pointer_declarator "***pppppiVar5" * (pointer_declarator "**pppppiVar5" * (pointer_declarator "*pppppiVar5" * identifier))))) ;) (declaration "int *****pppppiVar6;" primitive_type (pointer_declarator "*****pppppiVar6" * (pointer_declarator "****pppppiVar6" * (pointer_declarator "***pppppiVar6" * (pointer_declarator "**pppppiVar6" * (pointer_declarator "*pppppiVar6" * identifier))))) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *****pppppiVar8;" primitive_type (pointer_declarator "*****pppppiVar8" * (pointer_declarator "****pppppiVar8" * (pointer_declarator "***pppppiVar8" * (pointer_declarator "**pppppiVar8" * (pointer_declarator "*pppppiVar8" * identifier))))) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int ****ppppiVar12;" primitive_type (pointer_declarator "****ppppiVar12" * (pointer_declarator "***ppppiVar12" * (pointer_declarator "**ppppiVar12" * (pointer_declarator "*ppppiVar12" * identifier)))) ;) (declaration "int ****ppppiVar13;" primitive_type (pointer_declarator "****ppppiVar13" * (pointer_declarator "***ppppiVar13" * (pointer_declarator "**ppppiVar13" * (pointer_declarator "*ppppiVar13" * identifier)))) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int ****ppppiVar15;" primitive_type (pointer_declarator "****ppppiVar15" * (pointer_declarator "***ppppiVar15" * (pointer_declarator "**ppppiVar15" * (pointer_declarator "*ppppiVar15" * identifier)))) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int *****pppppiVar18;" primitive_type (pointer_declarator "*****pppppiVar18" * (pointer_declarator "****pppppiVar18" * (pointer_declarator "***pppppiVar18" * (pointer_declarator "**pppppiVar18" * (pointer_declarator "*pppppiVar18" * identifier))))) ;) (declaration "int *****pppppiVar19;" primitive_type (pointer_declarator "*****pppppiVar19" * (pointer_declarator "****pppppiVar19" * (pointer_declarator "***pppppiVar19" * (pointer_declarator "**pppppiVar19" * (pointer_declarator "*pppppiVar19" * identifier))))) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *****unaff_s3;" primitive_type (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))) ;) (declaration "int *****pppppiVar21;" primitive_type (pointer_declarator "*****pppppiVar21" * (pointer_declarator "****pppppiVar21" * (pointer_declarator "***pppppiVar21" * (pointer_declarator "**pppppiVar21" * (pointer_declarator "*pppppiVar21" * identifier))))) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *****pppppiVar23;" primitive_type (pointer_declarator "*****pppppiVar23" * (pointer_declarator "****pppppiVar23" * (pointer_declarator "***pppppiVar23" * (pointer_declarator "**pppppiVar23" * (pointer_declarator "*pppppiVar23" * identifier))))) ;) (declaration "int *****pppppiVar24;" primitive_type (pointer_declarator "*****pppppiVar24" * (pointer_declarator "****pppppiVar24" * (pointer_declarator "***pppppiVar24" * (pointer_declarator "**pppppiVar24" * (pointer_declarator "*pppppiVar24" * identifier))))) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "int ****local_b4;" primitive_type (pointer_declarator "****local_b4" * (pointer_declarator "***local_b4" * (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier)))) ;) (declaration "code *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "int ****local_ac;" primitive_type (pointer_declarator "****local_ac" * (pointer_declarator "***local_ac" * (pointer_declarator "**local_ac" * (pointer_declarator "*local_ac" * identifier)))) ;) (declaration "int ****local_a8;" primitive_type (pointer_declarator "****local_a8" * (pointer_declarator "***local_a8" * (pointer_declarator "**local_a8" * (pointer_declarator "*local_a8" * identifier)))) ;) (declaration "undefined *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "int ****local_9c;" primitive_type (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))) ;) (declaration "undefined *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "int ****local_88 [4];" primitive_type (pointer_declarator "****local_88 [4]" * (pointer_declarator "***local_88 [4]" * (pointer_declarator "**local_88 [4]" * (pointer_declarator "*local_88 [4]" * (array_declarator "local_88 [4]" identifier [ number_literal ]))))) ;) (declaration "int local_78 [2];" primitive_type (array_declarator "local_78 [2]" identifier [ number_literal ]) ;) (declaration "int ****local_70 [2];" primitive_type (pointer_declarator "****local_70 [2]" * (pointer_declarator "***local_70 [2]" * (pointer_declarator "**local_70 [2]" * (pointer_declarator "*local_70 [2]" * (array_declarator "local_70 [2]" identifier [ number_literal ]))))) ;) (declaration "int ***local_68;" primitive_type (pointer_declarator "***local_68" * (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier))) ;) (declaration "int ****local_64;" primitive_type (pointer_declarator "****local_64" * (pointer_declarator "***local_64" * (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)))) ;) (declaration "int ****local_60 [4];" primitive_type (pointer_declarator "****local_60 [4]" * (pointer_declarator "***local_60 [4]" * (pointer_declarator "**local_60 [4]" * (pointer_declarator "*local_60 [4]" * (array_declarator "local_60 [4]" identifier [ number_literal ]))))) ;) (declaration "int ****local_50 [5];" primitive_type (pointer_declarator "****local_50 [5]" * (pointer_declarator "***local_50 [5]" * (pointer_declarator "**local_50 [5]" * (pointer_declarator "*local_50 [5]" * (array_declarator "local_50 [5]" identifier [ number_literal ]))))) ;) (declaration "int ****local_3c;" primitive_type (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined2 local_30;" type_identifier identifier ;) (declaration "undefined1 local_2e;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "pppppiVar21 = (int *****)PTR_FUN_001311a4;" (assignment_expression "pppppiVar21 = (int *****)PTR_FUN_001311a4" identifier = (cast_expression "(int *****)PTR_FUN_001311a4" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00132164;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00132164" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" * (cast_expression "(int *)PTR___stack_chk_guard_00132164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_88[0] = *(int *****)PTR_stdin_00131efc;" (assignment_expression "local_88[0] = *(int *****)PTR_stdin_00131efc" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (pointer_expression "*(int *****)PTR_stdin_00131efc" * (cast_expression "(int *****)PTR_stdin_00131efc" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;) (expression_statement "pppppiVar19 = local_88;" (assignment_expression "pppppiVar19 = local_88" identifier = identifier) ;) (expression_statement "pppppiVar24 = param_1 + 2;" (assignment_expression "pppppiVar24 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (expression_statement "puVar22 = PTR_LAB_0013118c + 0x6e58;" (assignment_expression "puVar22 = PTR_LAB_0013118c + 0x6e58" identifier = (binary_expression "PTR_LAB_0013118c + 0x6e58" identifier + number_literal)) ;) (expression_statement "pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);" (assignment_expression "pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c)" identifier = (pointer_expression "*(int ******)(PTR_FUN_001311a4 + 0x458c)" * (cast_expression "(int ******)(PTR_FUN_001311a4 + 0x458c)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_FUN_001311a4 + 0x458c)" ( (binary_expression "PTR_FUN_001311a4 + 0x458c" identifier + number_literal) ))))) ;) (expression_statement "pppppiVar8 = param_1;" (assignment_expression "pppppiVar8 = param_1" identifier = identifier) ;) (expression_statement "local_88[1] = local_88[0];" (assignment_expression "local_88[1] = local_88[0]" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (do_statement "do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);" do (compound_statement "{\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  }" { (expression_statement "ppppiVar13 = *pppppiVar8;" (assignment_expression "ppppiVar13 = *pppppiVar8" identifier = (pointer_expression "*pppppiVar8" * identifier)) ;) (if_statement "if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" if (parenthesized_expression "((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0'))" ( (binary_expression "(*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')" (parenthesized_expression "(*(char *)ppppiVar13 == '-')" ( (binary_expression "*(char *)ppppiVar13 == '-'" (pointer_expression "*(char *)ppppiVar13" * (cast_expression "(char *)ppppiVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)ppppiVar13 + 1) == '\0')" ( (binary_expression "*(char *)((int)ppppiVar13 + 1) == '\0'" (pointer_expression "*(char *)((int)ppppiVar13 + 1)" * (cast_expression "(char *)((int)ppppiVar13 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppiVar13 + 1)" ( (binary_expression "(int)ppppiVar13 + 1" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      pppppiVar5 = (int *****)0x0;\n    }" { (expression_statement "pppppiVar5 = (int *****)0x0;" (assignment_expression "pppppiVar5 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" else (if_statement "if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" if (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 0x20) == 0)" ( (binary_expression "(*(uint *)PTR_DAT_0013135c & 0x20) == 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 0x20)" ( (binary_expression "*(uint *)PTR_DAT_0013135c & 0x20" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }" { (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)()" identifier = (cast_expression "(int *****)(*(code *)PTR_FUN_00131400)()" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_FUN_00131400)()" (parenthesized_expression "(*(code *)PTR_FUN_00131400)" ( (pointer_expression "*(code *)PTR_FUN_00131400" * (cast_expression "(code *)PTR_FUN_00131400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }" if (parenthesized_expression "(pppppiVar5 == (int *****)0xffffffff)" ( (binary_expression "pppppiVar5 == (int *****)0xffffffff" identifier == (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000d9af0;" goto statement_identifier ;) })) }) (else_clause "else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" else (compound_statement "{\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" { (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" identifier = (cast_expression "(int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" (parenthesized_expression "(*(code *)PTR_open64_00131f1c)" ( (pointer_expression "*(code *)PTR_open64_00131f1c" * (cast_expression "(code *)PTR_open64_00131f1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppiVar13,0)" ( identifier , number_literal ))))) ;) (if_statement "if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }" if (parenthesized_expression "(pppppiVar5 == (int *****)0xffffffff)" ( (binary_expression "pppppiVar5 == (int *****)0xffffffff" identifier == (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }" { (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0)" identifier = (cast_expression "(int *****)(*(code *)PTR_FUN_00131294)(puVar22,0)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_FUN_00131294)(puVar22,0)" (parenthesized_expression "(*(code *)PTR_FUN_00131294)" ( (pointer_expression "*(code *)PTR_FUN_00131294" * (cast_expression "(code *)PTR_FUN_00131294" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22,0)" ( identifier , number_literal ))))) ;) })) }))))) (expression_statement "lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);" (assignment_expression "lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5)" identifier = (call_expression "(*(code *)PTR_lseek64_00132014)(pppppiVar5)" (parenthesized_expression "(*(code *)PTR_lseek64_00132014)" ( (pointer_expression "*(code *)PTR_lseek64_00132014" * (cast_expression "(code *)PTR_lseek64_00132014" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5)" ( identifier )))) ;) (expression_statement "pppppiVar6 = pppppiVar5;" (assignment_expression "pppppiVar6 = pppppiVar5" identifier = identifier) ;) (if_statement "if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }" if (parenthesized_expression "((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d))" ( (binary_expression "(lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)" (parenthesized_expression "(lVar26 == -1)" ( (binary_expression "lVar26 == -1" identifier == number_literal) )) && (parenthesized_expression "(**(int **)PTR_DAT_001311d8 == 0x1d)" ( (binary_expression "**(int **)PTR_DAT_001311d8 == 0x1d" (pointer_expression "**(int **)PTR_DAT_001311d8" * (pointer_expression "*(int **)PTR_DAT_001311d8" * (cast_expression "(int **)PTR_DAT_001311d8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) == number_literal) ))) )) (compound_statement "{\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }" { (expression_statement "local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);" (assignment_expression "local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590)" identifier = (pointer_expression "*(undefined4 *)((int)pppppiVar21 + 0x4590)" * (cast_expression "(undefined4 *)((int)pppppiVar21 + 0x4590)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x4590)" ( (binary_expression "(int)pppppiVar21 + 0x4590" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);" (assignment_expression "local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594)" identifier = (pointer_expression "*(undefined4 *)((int)pppppiVar21 + 0x4594)" * (cast_expression "(undefined4 *)((int)pppppiVar21 + 0x4594)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x4594)" ( (binary_expression "(int)pppppiVar21 + 0x4594" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);" (assignment_expression "local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598)" identifier = (pointer_expression "*(undefined2 *)((int)pppppiVar21 + 0x4598)" * (cast_expression "(undefined2 *)((int)pppppiVar21 + 0x4598)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x4598)" ( (binary_expression "(int)pppppiVar21 + 0x4598" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);" (assignment_expression "local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a)" identifier = (pointer_expression "*(undefined1 *)((int)pppppiVar21 + 0x459a)" * (cast_expression "(undefined1 *)((int)pppppiVar21 + 0x459a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x459a)" ( (binary_expression "(int)pppppiVar21 + 0x459a" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_3c = (int ****)pppppiVar23;" (assignment_expression "local_3c = (int ****)pppppiVar23" identifier = (cast_expression "(int ****)pppppiVar23" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);" (assignment_expression "pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c)" identifier = (cast_expression "(int *****)(*(code *)PTR_FUN_00131b60)(&local_3c)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_FUN_00131b60)(&local_3c)" (parenthesized_expression "(*(code *)PTR_FUN_00131b60)" ( (pointer_expression "*(code *)PTR_FUN_00131b60" * (cast_expression "(code *)PTR_FUN_00131b60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) ))))) ;) (expression_statement "(*(code *)PTR_unlink_001320a8)(&local_3c);" (call_expression "(*(code *)PTR_unlink_001320a8)(&local_3c)" (parenthesized_expression "(*(code *)PTR_unlink_001320a8)" ( (pointer_expression "*(code *)PTR_unlink_001320a8" * (cast_expression "(code *)PTR_unlink_001320a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) ))) ;) (expression_statement "iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);" (assignment_expression "iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6)" identifier = (call_expression "(*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6)" (parenthesized_expression "(*(code *)PTR_FUN_00131394)" ( (pointer_expression "*(code *)PTR_FUN_00131394" * (cast_expression "(code *)PTR_FUN_00131394" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5,pppppiVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }" { (expression_statement "iVar7 = (*(code *)PTR_FUN_001311b4)();" (assignment_expression "iVar7 = (*(code *)PTR_FUN_001311b4)()" identifier = (call_expression "(*(code *)PTR_FUN_001311b4)()" (parenthesized_expression "(*(code *)PTR_FUN_001311b4)" ( (pointer_expression "*(code *)PTR_FUN_001311b4" * (cast_expression "(code *)PTR_FUN_001311b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }" if (parenthesized_expression "(pppppiVar5 != (int *****)0x0)" ( (binary_expression "pppppiVar5 != (int *****)0x0" identifier != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }" { (expression_statement "(*(code *)PTR_close_00131ca8)(pppppiVar5);" (call_expression "(*(code *)PTR_close_00131ca8)(pppppiVar5)" (parenthesized_expression "(*(code *)PTR_close_00131ca8)" ( (pointer_expression "*(code *)PTR_close_00131ca8" * (cast_expression "(code *)PTR_close_00131ca8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_FUN_001316c8)(pppppiVar6);" (call_expression "(*(code *)PTR_FUN_001316c8)(pppppiVar6)" (parenthesized_expression "(*(code *)PTR_FUN_001316c8)" ( (pointer_expression "*(code *)PTR_FUN_001316c8" * (cast_expression "(code *)PTR_FUN_001316c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar6)" ( identifier ))) ;) (expression_statement "unaff_s3 = pppppiVar6;" (assignment_expression "unaff_s3 = pppppiVar6" identifier = identifier) ;) })) (expression_statement "ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;" (assignment_expression "ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" identifier = (cast_expression "(int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" (parenthesized_expression "(*(code *)PTR_fdopen_001321f0)" ( (pointer_expression "*(code *)PTR_fdopen_001321f0" * (cast_expression "(code *)PTR_fdopen_001321f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" ( identifier , (cast_expression "(undefined *)((int)pppppiVar21 + 0x2244)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar21 + 0x2244)" ( (binary_expression "(int)pppppiVar21 + 0x2244" (cast_expression "(int)pppppiVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))))) ;) (expression_statement "pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c" identifier = (cast_expression "(int *****)PTR_bb_common_bufsiz1_0013136c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*pppppiVar19 = ppppiVar13;" (assignment_expression "*pppppiVar19 = ppppiVar13" (pointer_expression "*pppppiVar19" * identifier) = identifier) ;) (expression_statement "pppppiVar8 = pppppiVar8 + 1;" (assignment_expression "pppppiVar8 = pppppiVar8 + 1" identifier = (binary_expression "pppppiVar8 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = pppppiVar19 + 1;" (assignment_expression "pppppiVar19 = pppppiVar19 + 1" identifier = (binary_expression "pppppiVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppiVar8 != pppppiVar24)" ( (binary_expression "pppppiVar8 != pppppiVar24" identifier != identifier) )) ;) (expression_statement "puVar22 = (undefined1 *)0x0;" (assignment_expression "puVar22 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppiVar19 = (int *****)0x0;" (assignment_expression "pppppiVar19 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;" (assignment_expression "puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200" identifier = (binary_expression "PTR_bb_common_bufsiz1_0013136c + 0x200" identifier + number_literal)) ;) (expression_statement "local_b4 = (int ****)&DAT_00000001;" (assignment_expression "local_b4 = (int ****)&DAT_00000001" identifier = (cast_expression "(int ****)&DAT_00000001" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }" { (expression_statement "pppppiVar23 = (int *****)local_88[0];" (assignment_expression "pppppiVar23 = (int *****)local_88[0]" identifier = (cast_expression "(int *****)local_88[0]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_88[0]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);" (assignment_expression "unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" identifier = (cast_expression "(int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" ( (pointer_expression "*(code *)PTR_fread_00132024" * (cast_expression "(code *)PTR_fread_00132024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar5,1,0x200,local_88[0])" ( identifier , number_literal , number_literal , (subscript_expression "local_88[0]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppiVar21 = (int *****)local_88[1];" (assignment_expression "pppppiVar21 = (int *****)local_88[1]" identifier = (cast_expression "(int *****)local_88[1]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_88[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);" (assignment_expression "pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" identifier = (cast_expression "(int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" ( (pointer_expression "*(code *)PTR_fread_00132024" * (cast_expression "(code *)PTR_fread_00132024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25,1,0x200,local_88[1])" ( identifier , number_literal , number_literal , (subscript_expression "local_88[1]" identifier [ number_literal ]) ))))) ;) (if_statement "if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }" if (parenthesized_expression "(unaff_s3 != pppppiVar8)" ( (binary_expression "unaff_s3 != pppppiVar8" identifier != identifier) )) (compound_statement "{\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }" { (if_statement "if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }" if (parenthesized_expression "((int)unaff_s3 < (int)pppppiVar8)" ( (binary_expression "(int)unaff_s3 < (int)pppppiVar8" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pppppiVar8 = unaff_s3;\n      }" { (expression_statement "pppppiVar8 = unaff_s3;" (assignment_expression "pppppiVar8 = unaff_s3" identifier = identifier) ;) })) (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) (if_statement "if (pppppiVar8 == (int *****)0x0) break;" if (parenthesized_expression "(pppppiVar8 == (int *****)0x0)" ( (binary_expression "pppppiVar8 == (int *****)0x0" identifier == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }" if (parenthesized_expression "(0 < (int)pppppiVar8)" ( (binary_expression "0 < (int)pppppiVar8" number_literal < (cast_expression "(int)pppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }" { (expression_statement "pcVar9 = PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pcVar9 = PTR_bb_common_bufsiz1_0013136c" identifier = identifier) ;) (do_statement "do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));" do (compound_statement "{\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      }" { (expression_statement "pppppiVar21 = (int *****)local_b4;" (assignment_expression "pppppiVar21 = (int *****)local_b4" identifier = (cast_expression "(int *****)local_b4" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" if (parenthesized_expression "((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0'))" ( (binary_expression "(*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')" (parenthesized_expression "(*pcVar9 == '\0')" ( (binary_expression "*pcVar9 == '\0'" (pointer_expression "*pcVar9" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')" ( (comma_expression "pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0'" (assignment_expression "pppppiVar21 = pppppiVar19" identifier = identifier) , (binary_expression "pcVar9[0x200] != '\0'" (subscript_expression "pcVar9[0x200]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }" { (expression_statement "pppppiVar19 = pppppiVar21;" (assignment_expression "pppppiVar19 = pppppiVar21" identifier = identifier) ;) (if_statement "if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }" if (parenthesized_expression "(pcVar9[0x200] != *pcVar9)" ( (binary_expression "pcVar9[0x200] != *pcVar9" (subscript_expression "pcVar9[0x200]" identifier [ number_literal ]) != (pointer_expression "*pcVar9" * identifier)) )) (compound_statement "{\n            puVar22 = &DAT_00000001;\n          }" { (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) })) }) (else_clause "else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" else (compound_statement "{\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" { (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" identifier = (pointer_expression "&DAT_00000001" & identifier)) ;) (expression_statement "pppppiVar19 = (int *****)local_b4;" (assignment_expression "pppppiVar19 = (int *****)local_b4" identifier = (cast_expression "(int *****)local_b4" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c))" ( (binary_expression "pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" identifier != (cast_expression "(char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" ( (binary_expression "(int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c" (cast_expression "(int)pppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)PTR_bb_common_bufsiz1_0013136c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) ;) })) })) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" identifier = identifier) ;) (if_statement "if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;" if (parenthesized_expression "(puVar22 == (undefined1 *)0x0)" ( (binary_expression "puVar22 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d9af0;" goto statement_identifier ;)) (if_statement "if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }" if (parenthesized_expression "((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0))" ( (binary_expression "(pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)" (parenthesized_expression "(pppppiVar19 != (int *****)0x0)" ( (binary_expression "pppppiVar19 != (int *****)0x0" identifier != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 1) == 0)" ( (binary_expression "(*(uint *)PTR_DAT_0013135c & 1) == 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 1)" ( (binary_expression "*(uint *)PTR_DAT_0013135c & 1" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_000d9ad8;" goto statement_identifier ;) })) (expression_statement "local_60[0] = (int ****)pppppiVar23;" (assignment_expression "local_60[0] = (int ****)pppppiVar23" (subscript_expression "local_60[0]" identifier [ number_literal ]) = (cast_expression "(int ****)pppppiVar23" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "local_50[0] = (int ****)pppppiVar21;" (assignment_expression "local_50[0] = (int ****)pppppiVar21" (subscript_expression "local_50[0]" identifier [ number_literal ]) = (cast_expression "(int ****)pppppiVar21" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);" (assignment_expression "pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78)" identifier = (cast_expression "(int *****)FUN_000d8328(local_60,local_88 + 2,local_78)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_000d8328(local_60,local_88 + 2,local_78)" identifier (argument_list "(local_60,local_88 + 2,local_78)" ( identifier , (binary_expression "local_88 + 2" identifier + number_literal) , identifier ))))) ;) (expression_statement "local_b4 = (int ****)0x0;" (assignment_expression "local_b4 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "unaff_s3 = (int *****)&DAT_00000001;" (assignment_expression "unaff_s3 = (int *****)&DAT_00000001" identifier = (cast_expression "(int *****)&DAT_00000001" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "pppppiVar21 = (int *****)0x0;" (assignment_expression "pppppiVar21 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_90 = PTR_FUN_001311a4;" (assignment_expression "local_90 = PTR_FUN_001311a4" identifier = identifier) ;) (expression_statement "local_a0 = PTR_FUN_001311a4 + 0x457c;" (assignment_expression "local_a0 = PTR_FUN_001311a4 + 0x457c" identifier = (binary_expression "PTR_FUN_001311a4 + 0x457c" identifier + number_literal)) ;) (expression_statement "local_8c = PTR_FUN_001311a4 + 0x4584;" (assignment_expression "local_8c = PTR_FUN_001311a4 + 0x4584" identifier = (binary_expression "PTR_FUN_001311a4 + 0x4584" identifier + number_literal)) ;) (expression_statement "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);" (assignment_expression "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c)" identifier = (cast_expression "(code *)(PTR_LAB_00131bf8 + -0x708c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00131bf8 + -0x708c)" ( (binary_expression "PTR_LAB_00131bf8 + -0x708c" identifier + number_literal) )))) ;) (labeled_statement "LAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;" statement_identifier : (expression_statement "puVar4 = PTR_FUN_001313dc;" (assignment_expression "puVar4 = PTR_FUN_001313dc" identifier = identifier) ;)) (expression_statement "puVar25 = PTR_DAT_00131330;" (assignment_expression "puVar25 = PTR_DAT_00131330" identifier = identifier) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" identifier = number_literal) ;) (expression_statement "local_9c = (int ****)local_60;" (assignment_expression "local_9c = (int ****)local_60" identifier = (cast_expression "(int ****)local_60" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (do_statement "do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );" do (compound_statement "{\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  }" { (expression_statement "local_70[0] = (int ****)unaff_s3;" (assignment_expression "local_70[0] = (int ****)unaff_s3" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (cast_expression "(int ****)unaff_s3" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }" if (parenthesized_expression "(((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)))" ( (binary_expression "((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))" (parenthesized_expression "((int)unaff_s3 <= (int)local_88[2])" ( (binary_expression "(int)unaff_s3 <= (int)local_88[2]" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ]))) )) && (parenthesized_expression "(pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))" ( (comma_expression "pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)" (assignment_expression "pppppiVar19 = pppppiVar23 + (int)unaff_s3" identifier = (binary_expression "pppppiVar23 + (int)unaff_s3" identifier + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "*pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)" (pointer_expression "*pppppiVar19" * identifier) == (cast_expression "(int ****)((int)pppppiVar19[-1] + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppiVar19[-1] + 1)" ( (binary_expression "(int)pppppiVar19[-1] + 1" (cast_expression "(int)pppppiVar19[-1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar19[-1]" identifier [ number_literal ])) + number_literal) ))))) ))) )) (compound_statement "{\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }" { (do_statement "do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));" do (compound_statement "{\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      }" { (expression_statement "local_70[0] = (int ****)((int)local_70[0] + 1);" (assignment_expression "local_70[0] = (int ****)((int)local_70[0] + 1)" (subscript_expression "local_70[0]" identifier [ number_literal ]) = (cast_expression "(int ****)((int)local_70[0] + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)local_70[0] + 1)" ( (binary_expression "(int)local_70[0] + 1" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }" if (parenthesized_expression "((int)local_88[2] < (int)local_70[0])" ( (binary_expression "(int)local_88[2] < (int)local_70[0]" (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ])) < (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) )) (compound_statement "{\n          goto LAB_000d9698;\n        }" { (goto_statement "goto LAB_000d9698;" goto statement_identifier ;) })) (expression_statement "ppppiVar13 = *pppppiVar19;" (assignment_expression "ppppiVar13 = *pppppiVar19" identifier = (pointer_expression "*pppppiVar19" * identifier)) ;) (expression_statement "pppppiVar8 = pppppiVar19 + 1;" (assignment_expression "pppppiVar8 = pppppiVar19 + 1" identifier = (binary_expression "pppppiVar19 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = pppppiVar19 + 1;" (assignment_expression "pppppiVar19 = pppppiVar19 + 1" identifier = (binary_expression "pppppiVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pppppiVar8 == (int ****)((int)ppppiVar13 + 1))" ( (binary_expression "*pppppiVar8 == (int ****)((int)ppppiVar13 + 1)" (pointer_expression "*pppppiVar8" * identifier) == (cast_expression "(int ****)((int)ppppiVar13 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppiVar13 + 1)" ( (binary_expression "(int)ppppiVar13 + 1" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) ;) })) (labeled_statement "LAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);" statement_identifier : (expression_statement "local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);" (assignment_expression "local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" identifier = (cast_expression "(int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" ( (binary_expression "(int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1" (cast_expression "(int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)]" identifier [ (cast_expression "(int)((int)local_70[0] + 0x3fffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_70[0] + 0x3fffffff)" ( (binary_expression "(int)local_70[0] + 0x3fffffff" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) ))) ])) + number_literal) )))) ;)) (expression_statement "local_70[1] = (int ****)((int)local_70[0] + -1);" (assignment_expression "local_70[1] = (int ****)((int)local_70[0] + -1)" (subscript_expression "local_70[1]" identifier [ number_literal ]) = (cast_expression "(int ****)((int)local_70[0] + -1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)local_70[0] + -1)" ( (binary_expression "(int)local_70[0] + -1" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }" if (parenthesized_expression "(((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0))" ( (binary_expression "((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)" (parenthesized_expression "((int)local_70[0] + -1 < (int)local_88[2])" ( (binary_expression "(int)local_70[0] + -1 < (int)local_88[2]" (binary_expression "(int)local_70[0] + -1" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) + number_literal) < (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ]))) )) && (parenthesized_expression "(pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)" ( (comma_expression "pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0" (assignment_expression "pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000)" identifier = (binary_expression "pppppiVar23 + (int)(local_70[0] + 0x10000000)" identifier + (cast_expression "(int)(local_70[0] + 0x10000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_70[0] + 0x10000000)" ( (binary_expression "local_70[0] + 0x10000000" (subscript_expression "local_70[0]" identifier [ number_literal ]) + number_literal) ))))) , (comma_expression "pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0" (assignment_expression "pppppiVar19 = (int *****)local_70[0]" identifier = (cast_expression "(int *****)local_70[0]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) , (binary_expression "*pppppiVar8 == (int ****)0x0" (pointer_expression "*pppppiVar8" * identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)))) ))) )) (compound_statement "{\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }" { (do_statement "do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);" do (compound_statement "{\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      }" { (expression_statement "local_70[1] = (int ****)pppppiVar19;" (assignment_expression "local_70[1] = (int ****)pppppiVar19" (subscript_expression "local_70[1]" identifier [ number_literal ]) = (cast_expression "(int ****)pppppiVar19" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }" if (parenthesized_expression "(local_70[1] == local_88[2])" ( (binary_expression "local_70[1] == local_88[2]" (subscript_expression "local_70[1]" identifier [ number_literal ]) == (subscript_expression "local_88[2]" identifier [ number_literal ])) )) (compound_statement "{\n          goto LAB_000d96f8;\n        }" { (goto_statement "goto LAB_000d96f8;" goto statement_identifier ;) })) (expression_statement "pppppiVar24 = pppppiVar8 + 1;" (assignment_expression "pppppiVar24 = pppppiVar8 + 1" identifier = (binary_expression "pppppiVar8 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar8 = pppppiVar8 + 1;" (assignment_expression "pppppiVar8 = pppppiVar8 + 1" identifier = (binary_expression "pppppiVar8 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = (int *****)((int)local_70[1] + 1);" (assignment_expression "pppppiVar19 = (int *****)((int)local_70[1] + 1)" identifier = (cast_expression "(int *****)((int)local_70[1] + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_70[1] + 1)" ( (binary_expression "(int)local_70[1] + 1" (cast_expression "(int)local_70[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[1]" identifier [ number_literal ])) + number_literal) )))) ;) }) while (parenthesized_expression "(*pppppiVar24 == (int ****)0x0)" ( (binary_expression "*pppppiVar24 == (int ****)0x0" (pointer_expression "*pppppiVar24" * identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) })) (labeled_statement "LAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];" statement_identifier : (expression_statement "pppppiVar19 = (int *****)local_70[1];" (assignment_expression "pppppiVar19 = (int *****)local_70[1]" identifier = (cast_expression "(int *****)local_70[1]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_70[1]" identifier [ number_literal ]))) ;)) (expression_statement "pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);" (assignment_expression "pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" identifier = (cast_expression "(int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" ( (binary_expression "(int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1" (cast_expression "(int)pppppiVar23[(int)((int)local_70[1] + 1)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar23[(int)((int)local_70[1] + 1)]" identifier [ (cast_expression "(int)((int)local_70[1] + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_70[1] + 1)" ( (binary_expression "(int)local_70[1] + 1" (cast_expression "(int)local_70[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[1]" identifier [ number_literal ])) + number_literal) ))) ])) + number_literal) )))) ;) (expression_statement "local_64 = (int ****)pppppiVar5;" (assignment_expression "local_64 = (int ****)pppppiVar5" identifier = (cast_expression "(int ****)pppppiVar5" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }" if (parenthesized_expression "(((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5))" ( (binary_expression "((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)" (parenthesized_expression "((int)local_70[0] <= (int)local_70[1])" ( (binary_expression "(int)local_70[0] <= (int)local_70[1]" (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ])) <= (cast_expression "(int)local_70[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[1]" identifier [ number_literal ]))) )) || (parenthesized_expression "((int)local_68 <= (int)pppppiVar5)" ( (binary_expression "(int)local_68 <= (int)pppppiVar5" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pppppiVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }" { (if_statement "if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;" if (parenthesized_expression "((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68))))" ( (binary_expression "(-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))" (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) && (parenthesized_expression "((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))" ( (parenthesized_expression "(iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68))" ( (comma_expression "iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (assignment_expression "iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1" identifier = (binary_expression "*(int *)(*(int *)puVar25 + 4) * 2 + 1" (binary_expression "*(int *)(*(int *)puVar25 + 4) * 2" (pointer_expression "*(int *)(*(int *)puVar25 + 4)" * (cast_expression "(int *)(*(int *)puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar25 + 4)" ( (binary_expression "*(int *)puVar25 + 4" (pointer_expression "*(int *)puVar25" * (cast_expression "(int *)puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) * number_literal) + number_literal)) , (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0]" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1]" identifier + (cast_expression "(int)pppppiVar21[iVar17 * 4 + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar21[iVar17 * 4 + 1]" identifier [ (binary_expression "iVar17 * 4 + 1" (binary_expression "iVar17 * 4" identifier * number_literal) + number_literal) ]))) < (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) && (parenthesized_expression "(iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" ( (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 3]" identifier + (cast_expression "(int)pppppiVar21[iVar17 * 4 + 3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar21[iVar17 * 4 + 3]" identifier [ (binary_expression "iVar17 * 4 + 3" (binary_expression "iVar17 * 4" identifier * number_literal) + number_literal) ]))) < (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) ))) )) (goto_statement "goto LAB_000d987c;" goto statement_identifier ;)) (expression_statement "pppppiVar8 = local_70;" (assignment_expression "pppppiVar8 = local_70" identifier = identifier) ;) (expression_statement "piVar16 = local_78;" (assignment_expression "piVar16 = local_78" identifier = identifier) ;) (do_statement "do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);" do (compound_statement "{\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      }" { (if_statement "if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }" if (parenthesized_expression "((int)*pppppiVar8 <= (int)pppppiVar8[1])" ( (binary_expression "(int)*pppppiVar8 <= (int)pppppiVar8[1]" (cast_expression "(int)*pppppiVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppiVar8" * identifier)) <= (cast_expression "(int)pppppiVar8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar8[1]" identifier [ number_literal ]))) )) (compound_statement "{\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }" { (expression_statement "piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);" (assignment_expression "piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8)" identifier = (cast_expression "(int *)(*piVar16 + (int)*pppppiVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + (int)*pppppiVar8 * 8)" ( (binary_expression "*piVar16 + (int)*pppppiVar8 * 8" (pointer_expression "*piVar16" * identifier) + (binary_expression "(int)*pppppiVar8 * 8" (cast_expression "(int)*pppppiVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppiVar8" * identifier)) * number_literal)) )))) ;) (do_statement "do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));" do (compound_statement "{\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          }" { (expression_statement "iVar10 = *piVar11;" (assignment_expression "iVar10 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "puVar1 = (uint *)(piVar11 + 1);" (assignment_expression "puVar1 = (uint *)(piVar11 + 1)" identifier = (cast_expression "(uint *)(piVar11 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) )))) ;) (expression_statement "piVar2 = piVar11 + -2;" (assignment_expression "piVar2 = piVar11 + -2" identifier = (binary_expression "piVar11 + -2" identifier + number_literal)) ;) (expression_statement "uVar14 = *puVar1 - piVar11[-1];" (assignment_expression "uVar14 = *puVar1 - piVar11[-1]" identifier = (binary_expression "*puVar1 - piVar11[-1]" (pointer_expression "*puVar1" * identifier) - (subscript_expression "piVar11[-1]" identifier [ number_literal ]))) ;) (expression_statement "piVar11 = piVar11 + 2;" (assignment_expression "piVar11 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));" (assignment_expression "bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" identifier = (cast_expression "(bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" ( (binary_expression "bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1)" identifier | (parenthesized_expression "(iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1)" ( (binary_expression "iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1" (binary_expression "iVar10 - *piVar2 != (uint)(*puVar1 < uVar14)" (binary_expression "iVar10 - *piVar2" identifier - (pointer_expression "*piVar2" * identifier)) != (call_expression "(uint)(*puVar1 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*puVar1 < uVar14)" ( (binary_expression "*puVar1 < uVar14" (pointer_expression "*puVar1" * identifier) < identifier) )))) || (binary_expression "uVar14 != 1" identifier != number_literal)) ))) )))) ;) }) while (parenthesized_expression "(piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8))" ( (binary_expression "piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" identifier != (cast_expression "(int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" ( (binary_expression "*piVar16 + 8 + (int)pppppiVar8[1] * 8" (binary_expression "*piVar16 + 8" (pointer_expression "*piVar16" * identifier) + number_literal) + (binary_expression "(int)pppppiVar8[1] * 8" (cast_expression "(int)pppppiVar8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar8[1]" identifier [ number_literal ])) * number_literal)) )))) )) ;) })) (expression_statement "pppppiVar8 = pppppiVar8 + 2;" (assignment_expression "pppppiVar8 = pppppiVar8 + 2" identifier = (binary_expression "pppppiVar8 + 2" identifier + number_literal)) ;) (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppiVar8 != (int *****)local_9c)" ( (binary_expression "pppppiVar8 != (int *****)local_9c" identifier != (cast_expression "(int *****)local_9c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);" (assignment_expression "pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" identifier = (cast_expression "(int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" (parenthesized_expression "(*(code *)puVar4)" ( (pointer_expression "*(code *)puVar4" * (cast_expression "(code *)puVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar21,0x1006,iVar17)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "pppppiVar8 = pppppiVar21 + iVar17 * 4;" (assignment_expression "pppppiVar8 = pppppiVar21 + iVar17 * 4" identifier = (binary_expression "pppppiVar21 + iVar17 * 4" identifier + (binary_expression "iVar17 * 4" identifier * number_literal))) ;) (expression_statement "*pppppiVar8 = local_70[0];" (assignment_expression "*pppppiVar8 = local_70[0]" (pointer_expression "*pppppiVar8" * identifier) = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "pppppiVar8[1] = local_70[1];" (assignment_expression "pppppiVar8[1] = local_70[1]" (subscript_expression "pppppiVar8[1]" identifier [ number_literal ]) = (subscript_expression "local_70[1]" identifier [ number_literal ])) ;) (expression_statement "pppppiVar8[2] = (int ****)local_68;" (assignment_expression "pppppiVar8[2] = (int ****)local_68" (subscript_expression "pppppiVar8[2]" identifier [ number_literal ]) = (cast_expression "(int ****)local_68" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar8[3] = local_64;" (assignment_expression "pppppiVar8[3] = local_64" (subscript_expression "pppppiVar8[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "unaff_s3 = (int *****)((int)pppppiVar19 + 1);" (assignment_expression "unaff_s3 = (int *****)((int)pppppiVar19 + 1)" identifier = (cast_expression "(int *****)((int)pppppiVar19 + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar19 + 1)" ( (binary_expression "(int)pppppiVar19 + 1" (cast_expression "(int)pppppiVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((int)local_88[2] < (int)unaff_s3) break;" if (parenthesized_expression "((int)local_88[2] < (int)unaff_s3)" ( (binary_expression "(int)local_88[2] < (int)unaff_s3" (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ])) < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;" (assignment_expression "pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5" (subscript_expression "pppppiVar23[(int)pppppiVar19]" identifier [ (cast_expression "(int)pppppiVar19" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(int ****)pppppiVar5" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (if_statement "if (iVar17 < 0) goto LAB_000d9a78;" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000d9a78;" goto statement_identifier ;)) (labeled_statement "LAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;" statement_identifier : (if_statement "if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;" if (parenthesized_expression "(((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))" ( (binary_expression "((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3)" (parenthesized_expression "((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0)" ( (binary_expression "(int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0" (cast_expression "(int)(*(uint *)PTR_DAT_0013135c << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)PTR_DAT_0013135c << 0xf)" ( (binary_expression "*(uint *)PTR_DAT_0013135c << 0xf" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal) ))) < number_literal) )) && (parenthesized_expression "(ppppiVar13 = local_b4, !bVar3)" ( (comma_expression "ppppiVar13 = local_b4, !bVar3" (assignment_expression "ppppiVar13 = local_b4" identifier = identifier) , (unary_expression "!bVar3" ! identifier)) ))) )) (goto_statement "goto LAB_000d9a68;" goto statement_identifier ;))) (expression_statement "ppppiVar13 = (int ****)puVar22;" (assignment_expression "ppppiVar13 = (int ****)puVar22" identifier = (cast_expression "(int ****)puVar22" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;" if (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 0x40) != 0)" ( (binary_expression "(*(uint *)PTR_DAT_0013135c & 0x40) != 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 0x40)" ( (binary_expression "*(uint *)PTR_DAT_0013135c & 0x40" (pointer_expression "*(uint *)PTR_DAT_0013135c" * (cast_expression "(uint *)PTR_DAT_0013135c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d9a68;" goto statement_identifier ;)) (if_statement "if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }" if (parenthesized_expression "(local_b4 == (int ****)0x0)" ( (binary_expression "local_b4 == (int ****)0x0" identifier == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }" { (expression_statement "iVar10 = *(int *)PTR_DAT_00131330;" (assignment_expression "iVar10 = *(int *)PTR_DAT_00131330" identifier = (pointer_expression "*(int *)PTR_DAT_00131330" * (cast_expression "(int *)PTR_DAT_00131330" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppiVar13 = *(int *****)(iVar10 + 0xc);" (assignment_expression "ppppiVar13 = *(int *****)(iVar10 + 0xc)" identifier = (pointer_expression "*(int *****)(iVar10 + 0xc)" * (cast_expression "(int *****)(iVar10 + 0xc)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }" if (parenthesized_expression "(ppppiVar13 == (int ****)0x0)" ( (binary_expression "ppppiVar13 == (int ****)0x0" identifier == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      ppppiVar13 = *param_1;\n    }" { (expression_statement "ppppiVar13 = *param_1;" (assignment_expression "ppppiVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13)" ( number_literal , (binary_expression "PTR_FUN_001311a4 + 0x4568" identifier + number_literal) , identifier ))) ;) (expression_statement "ppppiVar13 = *(int *****)(iVar10 + 0x10);" (assignment_expression "ppppiVar13 = *(int *****)(iVar10 + 0x10)" identifier = (pointer_expression "*(int *****)(iVar10 + 0x10)" * (cast_expression "(int *****)(iVar10 + 0x10)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }" if (parenthesized_expression "(ppppiVar13 == (int ****)0x0)" ( (binary_expression "ppppiVar13 == (int ****)0x0" identifier == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      ppppiVar13 = param_1[1];\n    }" { (expression_statement "ppppiVar13 = param_1[1];" (assignment_expression "ppppiVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13)" ( number_literal , (binary_expression "PTR_FUN_001311a4 + 0x4570" identifier + number_literal) , identifier ))) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_90 + 0x4578)" ( number_literal , (binary_expression "local_90 + 0x4578" identifier + number_literal) ))) ;) (expression_statement "local_9c = (int ****)(pppppiVar21 + iVar17 * 4);" (assignment_expression "local_9c = (int ****)(pppppiVar21 + iVar17 * 4)" identifier = (cast_expression "(int ****)(pppppiVar21 + iVar17 * 4)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(pppppiVar21 + iVar17 * 4)" ( (binary_expression "pppppiVar21 + iVar17 * 4" identifier + (binary_expression "iVar17 * 4" identifier * number_literal)) )))) ;) (expression_statement "local_ac = (int ****)local_70;" (assignment_expression "local_ac = (int ****)local_70" identifier = (cast_expression "(int ****)local_70" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppiVar19 = (int *****)local_9c + 1;" (assignment_expression "pppppiVar19 = (int *****)local_9c + 1" identifier = (binary_expression "(int *****)local_9c + 1" (cast_expression "(int *****)local_9c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) + number_literal)) ;) (expression_statement "local_b4 = (int ****)(local_88 + 2);" (assignment_expression "local_b4 = (int ****)(local_88 + 2)" identifier = (cast_expression "(int ****)(local_88 + 2)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(local_88 + 2)" ( (binary_expression "local_88 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (expression_statement "iVar17 = *(int *)PTR_DAT_00131330;" (assignment_expression "iVar17 = *(int *)PTR_DAT_00131330" identifier = (pointer_expression "*(int *)PTR_DAT_00131330" * (cast_expression "(int *)PTR_DAT_00131330" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_a8 = (int ****)pppppiVar21;" (assignment_expression "local_a8 = (int ****)pppppiVar21" identifier = (cast_expression "(int ****)pppppiVar21" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (do_statement "do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );" do (compound_statement "{\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  }" { (expression_statement "iVar20 = *(int *)(iVar17 + 4);" (assignment_expression "iVar20 = *(int *)(iVar17 + 4)" identifier = (pointer_expression "*(int *)(iVar17 + 4)" * (cast_expression "(int *)(iVar17 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "ppppiVar13 = (int ****)((int)*local_a8 - iVar20);" (assignment_expression "ppppiVar13 = (int ****)((int)*local_a8 - iVar20)" identifier = (cast_expression "(int ****)((int)*local_a8 - iVar20)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)*local_a8 - iVar20)" ( (binary_expression "(int)*local_a8 - iVar20" (cast_expression "(int)*local_a8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_a8" * identifier)) - identifier) )))) ;) (if_statement "if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }" if (parenthesized_expression "((int)ppppiVar13 < 1)" ( (binary_expression "(int)ppppiVar13 < 1" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      ppppiVar13 = (int ****)0x1;\n    }" { (expression_statement "ppppiVar13 = (int ****)0x1;" (assignment_expression "ppppiVar13 = (int ****)0x1" identifier = (cast_expression "(int ****)0x1" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (expression_statement "*local_ac = (int ***)ppppiVar13;" (assignment_expression "*local_ac = (int ***)ppppiVar13" (pointer_expression "*local_ac" * identifier) = (cast_expression "(int ***)ppppiVar13" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);" (assignment_expression "ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19)" identifier = (cast_expression "(int ****)(iVar20 + (int)*pppppiVar19)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar20 + (int)*pppppiVar19)" ( (binary_expression "iVar20 + (int)*pppppiVar19" identifier + (cast_expression "(int)*pppppiVar19" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppiVar19" * identifier))) )))) ;) (expression_statement "ppppiVar15 = (int ****)*local_b4;" (assignment_expression "ppppiVar15 = (int ****)*local_b4" identifier = (cast_expression "(int ****)*local_b4" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*local_b4" * identifier))) ;) (if_statement "if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }" if (parenthesized_expression "((int)ppppiVar12 <= (int)*local_b4)" ( (binary_expression "(int)ppppiVar12 <= (int)*local_b4" (cast_expression "(int)ppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*local_b4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_b4" * identifier))) )) (compound_statement "{\n      ppppiVar15 = ppppiVar12;\n    }" { (expression_statement "ppppiVar15 = ppppiVar12;" (assignment_expression "ppppiVar15 = ppppiVar12" identifier = identifier) ;) })) (expression_statement "local_ac[1] = (int ***)ppppiVar15;" (assignment_expression "local_ac[1] = (int ***)ppppiVar15" (subscript_expression "local_ac[1]" identifier [ number_literal ]) = (cast_expression "(int ***)ppppiVar15" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" if (parenthesized_expression "(iVar10 == 1)" ( (binary_expression "iVar10 == 1" identifier == number_literal) )) (compound_statement "{\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }" { (expression_statement "ppppiVar12 = ppppiVar15;" (assignment_expression "ppppiVar12 = ppppiVar15" identifier = identifier) ;) (if_statement "if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }" if (parenthesized_expression "((int)ppppiVar13 <= (int)ppppiVar15)" ( (binary_expression "(int)ppppiVar13 <= (int)ppppiVar15" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        ppppiVar12 = ppppiVar13;\n      }" { (expression_statement "ppppiVar12 = ppppiVar13;" (assignment_expression "ppppiVar12 = ppppiVar13" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_a0,0x2d,ppppiVar12)" ( number_literal , identifier , number_literal , identifier ))) ;) (if_statement "if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;" if (parenthesized_expression "(ppppiVar13 != ppppiVar15)" ( (binary_expression "ppppiVar13 != ppppiVar15" identifier != identifier) )) (goto_statement "goto LAB_000d99d8;" goto statement_identifier ;)) }) (else_clause "else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" else (compound_statement "{\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" { (expression_statement "ppppiVar12 = ppppiVar15;" (assignment_expression "ppppiVar12 = ppppiVar15" identifier = identifier) ;) (if_statement "if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }" if (parenthesized_expression "((int)ppppiVar13 <= (int)ppppiVar15)" ( (binary_expression "(int)ppppiVar13 <= (int)ppppiVar15" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        ppppiVar12 = ppppiVar13;\n      }" { (expression_statement "ppppiVar12 = ppppiVar13;" (assignment_expression "ppppiVar12 = ppppiVar13" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_a0,0x2b,ppppiVar12)" ( number_literal , identifier , number_literal , identifier ))) ;) (if_statement "if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }" if (parenthesized_expression "(ppppiVar13 != ppppiVar15)" ( (binary_expression "ppppiVar13 != ppppiVar15" identifier != identifier) )) (compound_statement "{\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }" { (labeled_statement "LAB_000d99d8:\n        iVar20 = iVar7;" statement_identifier : (expression_statement "iVar20 = iVar7;" (assignment_expression "iVar20 = iVar7" identifier = identifier) ;)) (if_statement "if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }" if (parenthesized_expression "((int)ppppiVar13 < (int)ppppiVar15)" ( (binary_expression "(int)ppppiVar13 < (int)ppppiVar15" (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }" { (expression_statement "iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);" (assignment_expression "iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13)" identifier = (binary_expression "(int)ppppiVar15 + (1 - (int)ppppiVar13)" (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(1 - (int)ppppiVar13)" ( (binary_expression "1 - (int)ppppiVar13" number_literal - (cast_expression "(int)ppppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" ( (pointer_expression "*(code *)PTR___printf_chk_00131e4c" * (cast_expression "(code *)PTR___printf_chk_00131e4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,local_8c,iVar20)" ( number_literal , identifier , identifier ))) ;) })) (if_statement "if (1 < iVar10) break;" if (parenthesized_expression "(1 < iVar10)" ( (binary_expression "1 < iVar10" number_literal < identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "local_a8 = local_a8 + 2;" (assignment_expression "local_a8 = local_a8 + 2" identifier = (binary_expression "local_a8 + 2" identifier + number_literal)) ;) (expression_statement "local_ac = local_ac + 2;" (assignment_expression "local_ac = local_ac + 2" identifier = (binary_expression "local_ac + 2" identifier + number_literal)) ;) (expression_statement "pppppiVar19 = pppppiVar19 + 2;" (assignment_expression "pppppiVar19 = pppppiVar19 + 2" identifier = (binary_expression "pppppiVar19 + 2" identifier + number_literal)) ;) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" identifier = (binary_expression "local_b4 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "(*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);" (call_expression "(*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588)" (parenthesized_expression "(*(code *)PTR_puts_00131fd0)" ( (pointer_expression "*(code *)PTR_puts_00131fd0" * (cast_expression "(code *)PTR_puts_00131fd0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_FUN_001311a4 + 0x4588)" ( (binary_expression "PTR_FUN_001311a4 + 0x4588" identifier + number_literal) ))) ;) (expression_statement "pppppiVar19 = local_60;" (assignment_expression "pppppiVar19 = local_60" identifier = identifier) ;) (expression_statement "pppppiVar5 = local_50;" (assignment_expression "pppppiVar5 = local_50" identifier = identifier) ;) (expression_statement "pppppiVar8 = (int *****)local_70[0];" (assignment_expression "pppppiVar8 = (int *****)local_70[0]" identifier = (cast_expression "(int *****)local_70[0]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) ;) (expression_statement "pppppiVar6 = pppppiVar21;" (assignment_expression "pppppiVar6 = pppppiVar21" identifier = identifier) ;) (do_statement "do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );" do (compound_statement "{\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  }" { (expression_statement "pppppiVar18 = pppppiVar21;" (assignment_expression "pppppiVar18 = pppppiVar21" identifier = identifier) ;) (if_statement "if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }" if (parenthesized_expression "(local_9c < pppppiVar21)" ( (binary_expression "local_9c < pppppiVar21" identifier < identifier) )) (compound_statement "{\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }" { (expression_statement "(*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);" (call_expression "(*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(local_60,local_78[0],pppppiVar8,local_70[1],0x20)" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) , identifier , (subscript_expression "local_70[1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "pppppiVar21 = pppppiVar6;" (assignment_expression "pppppiVar21 = pppppiVar6" identifier = identifier) ;) (expression_statement "ppppiVar13 = (int ****)puVar22;" (assignment_expression "ppppiVar13 = (int ****)puVar22" identifier = (cast_expression "(int ****)puVar22" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (labeled_statement "LAB_000d9a68:\n      local_b4 = ppppiVar13;" statement_identifier : (expression_statement "local_b4 = ppppiVar13;" (assignment_expression "local_b4 = ppppiVar13" identifier = identifier) ;)) (if_statement "if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;" if (parenthesized_expression "((int)unaff_s3 <= (int)local_88[2])" ( (binary_expression "(int)unaff_s3 <= (int)local_88[2]" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_88[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_88[2]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000d9610;" goto statement_identifier ;)) (labeled_statement "LAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);" statement_identifier : (expression_statement "(*(code *)PTR_free_00132180)(pppppiVar21);" (call_expression "(*(code *)PTR_free_00132180)(pppppiVar21)" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar21)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_free_00132180)(local_78[0]);" (call_expression "(*(code *)PTR_free_00132180)(local_78[0])" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_78[0])" ( (subscript_expression "local_78[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_00132180)(local_78[1]);" (call_expression "(*(code *)PTR_free_00132180)(local_78[1])" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_78[1])" ( (subscript_expression "local_78[1]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_00132180)(pppppiVar23);" (call_expression "(*(code *)PTR_free_00132180)(pppppiVar23)" (parenthesized_expression "(*(code *)PTR_free_00132180)" ( (pointer_expression "*(code *)PTR_free_00132180" * (cast_expression "(code *)PTR_free_00132180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppiVar23)" ( identifier ))) ;) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" identifier = identifier) ;) (if_statement "if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }" if (parenthesized_expression "(local_b4 != (int ****)0x0)" ( (binary_expression "local_b4 != (int ****)0x0" identifier != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;" statement_identifier : (expression_statement "**(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;" (assignment_expression "**(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1" (pointer_expression "**(byte **)PTR_DAT_00131330" * (pointer_expression "*(byte **)PTR_DAT_00131330" * (cast_expression "(byte **)PTR_DAT_00131330" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = (binary_expression "**(byte **)PTR_DAT_00131330 | 1" (pointer_expression "**(byte **)PTR_DAT_00131330" * (pointer_expression "*(byte **)PTR_DAT_00131330" * (cast_expression "(byte **)PTR_DAT_00131330" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) | number_literal)) ;)) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" identifier = identifier) ;) })) (labeled_statement "LAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;" statement_identifier : (expression_statement "pppppiVar18 = (int *****)PTR_FUN_00131418;" (assignment_expression "pppppiVar18 = (int *****)PTR_FUN_00131418" identifier = (cast_expression "(int *****)PTR_FUN_00131418" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (expression_statement "FUN_000f12b4(local_88[0]);" (call_expression "FUN_000f12b4(local_88[0])" identifier (argument_list "(local_88[0])" ( (subscript_expression "local_88[0]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_000f12b4(local_88[1]);" (call_expression "FUN_000f12b4(local_88[1])" identifier (argument_list "(local_88[1])" ( (subscript_expression "local_88[1]" identifier [ number_literal ]) ))) ;) (if_statement "if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }" if (parenthesized_expression "(local_2c == *(int *)PTR___stack_chk_guard_00132164)" ( (binary_expression "local_2c == *(int *)PTR___stack_chk_guard_00132164" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" * (cast_expression "(int *)PTR___stack_chk_guard_00132164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return iVar7;\n      }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_001320e4)();" (call_expression "(*(code *)PTR___stack_chk_fail_001320e4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001320e4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001320e4" * (cast_expression "(code *)PTR___stack_chk_fail_001320e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppiVar6 = pppppiVar21;" (assignment_expression "pppppiVar6 = pppppiVar21" identifier = identifier) ;) (expression_statement "pppppiVar5 = pppppiVar24;" (assignment_expression "pppppiVar5 = pppppiVar24" identifier = identifier) ;) })) (expression_statement "(*local_b0)(pppppiVar19);" (call_expression "(*local_b0)(pppppiVar19)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pppppiVar19)" ( identifier ))) ;) (expression_statement "(*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);" (call_expression "(*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d)" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) , (pointer_expression "*pppppiVar18" * identifier) , (subscript_expression "pppppiVar18[1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "(*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);" (call_expression "(*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b)" (parenthesized_expression "(*local_b0)" ( (pointer_expression "*local_b0" * identifier) )) (argument_list "(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b)" ( identifier , (subscript_expression "local_78[1]" identifier [ number_literal ]) , (subscript_expression "pppppiVar18[2]" identifier [ number_literal ]) , (subscript_expression "pppppiVar18[3]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "pppppiVar21 = pppppiVar18 + 4;" (assignment_expression "pppppiVar21 = pppppiVar18 + 4" identifier = (binary_expression "pppppiVar18 + 4" identifier + number_literal)) ;) (expression_statement "pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);" (assignment_expression "pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1)" identifier = (cast_expression "(int *****)((int)pppppiVar18[1] + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar18[1] + 1)" ( (binary_expression "(int)pppppiVar18[1] + 1" (cast_expression "(int)pppppiVar18[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar18[1]" identifier [ number_literal ])) + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) })) }))))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ))))) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ))) ])) + LIT) )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)))) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ))) ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) * LIT) + LIT)) , (binary_expression (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) && (parenthesized_expression ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * LIT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT | (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) != (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) < IDENT) )))) || (binary_expression IDENT != LIT)) ))) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) )))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_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 ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) << LIT) ))) < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (unary_expression ! IDENT)) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) = (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) | LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "int FUN_000d9278(int *****param_1)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}" (primitive_type "int") (function_declarator "FUN_000d9278(int *****param_1)" (identifier "FUN_000d9278") (parameter_list "(int *****param_1)" (( "(") (parameter_declaration "int *****param_1" (primitive_type "int") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))))))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  bool bVar3;\n  undefined *puVar4;\n  int *****pppppiVar5;\n  int *****pppppiVar6;\n  int iVar7;\n  int *****pppppiVar8;\n  char *pcVar9;\n  int iVar10;\n  int *piVar11;\n  int ****ppppiVar12;\n  int ****ppppiVar13;\n  uint uVar14;\n  int ****ppppiVar15;\n  int *piVar16;\n  int iVar17;\n  int *****pppppiVar18;\n  int *****pppppiVar19;\n  int iVar20;\n  int *****unaff_s3;\n  int *****pppppiVar21;\n  undefined1 *puVar22;\n  int *****pppppiVar23;\n  int *****pppppiVar24;\n  undefined *puVar25;\n  longlong lVar26;\n  int ****local_b4;\n  code *local_b0;\n  int ****local_ac;\n  int ****local_a8;\n  undefined *local_a0;\n  int ****local_9c;\n  undefined *local_90;\n  undefined *local_8c;\n  int ****local_88 [4];\n  int local_78 [2];\n  int ****local_70 [2];\n  int ***local_68;\n  int ****local_64;\n  int ****local_60 [4];\n  int ****local_50 [5];\n  int ****local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined1 local_2e;\n  int local_2c;\n  \n  pppppiVar21 = (int *****)PTR_FUN_001311a4;\n  local_2c = *(int *)PTR___stack_chk_guard_00132164;\n  local_88[0] = *(int *****)PTR_stdin_00131efc;\n  pppppiVar19 = local_88;\n  pppppiVar24 = param_1 + 2;\n  puVar22 = PTR_LAB_0013118c + 0x6e58;\n  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);\n  pppppiVar8 = param_1;\n  local_88[1] = local_88[0];\n  do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);\n  puVar22 = (undefined1 *)0x0;\n  pppppiVar19 = (int *****)0x0;\n  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;\n  local_b4 = (int ****)&DAT_00000001;\n  while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }\n  iVar7 = 0;\n  pppppiVar24 = pppppiVar5;\n  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;\n  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }\n  local_60[0] = (int ****)pppppiVar23;\n  local_50[0] = (int ****)pppppiVar21;\n  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);\n  local_b4 = (int ****)0x0;\n  unaff_s3 = (int *****)&DAT_00000001;\n  pppppiVar21 = (int *****)0x0;\n  local_90 = PTR_FUN_001311a4;\n  local_a0 = PTR_FUN_001311a4 + 0x457c;\n  local_8c = PTR_FUN_001311a4 + 0x4584;\n  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);\nLAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;\n  puVar25 = PTR_DAT_00131330;\n  bVar3 = false;\n  iVar17 = -1;\n  local_9c = (int ****)local_60;\n  do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );\n  if (iVar17 < 0) goto LAB_000d9a78;\nLAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;\n  ppppiVar13 = (int ****)puVar22;\n  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;\n  if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }\n  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);\n  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);\n  local_ac = (int ****)local_70;\n  pppppiVar19 = (int *****)local_9c + 1;\n  local_b4 = (int ****)(local_88 + 2);\n  iVar10 = 1;\n  iVar17 = *(int *)PTR_DAT_00131330;\n  local_a8 = (int ****)pppppiVar21;\n  do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );\n  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);\n  pppppiVar19 = local_60;\n  pppppiVar5 = local_50;\n  pppppiVar8 = (int *****)local_70[0];\n  pppppiVar6 = pppppiVar21;\n  do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int *****pppppiVar5;" (primitive_type "int") (pointer_declarator "*****pppppiVar5" (* "*") (pointer_declarator "****pppppiVar5" (* "*") (pointer_declarator "***pppppiVar5" (* "*") (pointer_declarator "**pppppiVar5" (* "*") (pointer_declarator "*pppppiVar5" (* "*") (identifier "pppppiVar5")))))) (; ";")) (declaration "int *****pppppiVar6;" (primitive_type "int") (pointer_declarator "*****pppppiVar6" (* "*") (pointer_declarator "****pppppiVar6" (* "*") (pointer_declarator "***pppppiVar6" (* "*") (pointer_declarator "**pppppiVar6" (* "*") (pointer_declarator "*pppppiVar6" (* "*") (identifier "pppppiVar6")))))) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *****pppppiVar8;" (primitive_type "int") (pointer_declarator "*****pppppiVar8" (* "*") (pointer_declarator "****pppppiVar8" (* "*") (pointer_declarator "***pppppiVar8" (* "*") (pointer_declarator "**pppppiVar8" (* "*") (pointer_declarator "*pppppiVar8" (* "*") (identifier "pppppiVar8")))))) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int ****ppppiVar12;" (primitive_type "int") (pointer_declarator "****ppppiVar12" (* "*") (pointer_declarator "***ppppiVar12" (* "*") (pointer_declarator "**ppppiVar12" (* "*") (pointer_declarator "*ppppiVar12" (* "*") (identifier "ppppiVar12"))))) (; ";")) (declaration "int ****ppppiVar13;" (primitive_type "int") (pointer_declarator "****ppppiVar13" (* "*") (pointer_declarator "***ppppiVar13" (* "*") (pointer_declarator "**ppppiVar13" (* "*") (pointer_declarator "*ppppiVar13" (* "*") (identifier "ppppiVar13"))))) (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int ****ppppiVar15;" (primitive_type "int") (pointer_declarator "****ppppiVar15" (* "*") (pointer_declarator "***ppppiVar15" (* "*") (pointer_declarator "**ppppiVar15" (* "*") (pointer_declarator "*ppppiVar15" (* "*") (identifier "ppppiVar15"))))) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int *****pppppiVar18;" (primitive_type "int") (pointer_declarator "*****pppppiVar18" (* "*") (pointer_declarator "****pppppiVar18" (* "*") (pointer_declarator "***pppppiVar18" (* "*") (pointer_declarator "**pppppiVar18" (* "*") (pointer_declarator "*pppppiVar18" (* "*") (identifier "pppppiVar18")))))) (; ";")) (declaration "int *****pppppiVar19;" (primitive_type "int") (pointer_declarator "*****pppppiVar19" (* "*") (pointer_declarator "****pppppiVar19" (* "*") (pointer_declarator "***pppppiVar19" (* "*") (pointer_declarator "**pppppiVar19" (* "*") (pointer_declarator "*pppppiVar19" (* "*") (identifier "pppppiVar19")))))) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int *****unaff_s3;" (primitive_type "int") (pointer_declarator "*****unaff_s3" (* "*") (pointer_declarator "****unaff_s3" (* "*") (pointer_declarator "***unaff_s3" (* "*") (pointer_declarator "**unaff_s3" (* "*") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")))))) (; ";")) (declaration "int *****pppppiVar21;" (primitive_type "int") (pointer_declarator "*****pppppiVar21" (* "*") (pointer_declarator "****pppppiVar21" (* "*") (pointer_declarator "***pppppiVar21" (* "*") (pointer_declarator "**pppppiVar21" (* "*") (pointer_declarator "*pppppiVar21" (* "*") (identifier "pppppiVar21")))))) (; ";")) (declaration "undefined1 *puVar22;" (type_identifier "undefined1") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int *****pppppiVar23;" (primitive_type "int") (pointer_declarator "*****pppppiVar23" (* "*") (pointer_declarator "****pppppiVar23" (* "*") (pointer_declarator "***pppppiVar23" (* "*") (pointer_declarator "**pppppiVar23" (* "*") (pointer_declarator "*pppppiVar23" (* "*") (identifier "pppppiVar23")))))) (; ";")) (declaration "int *****pppppiVar24;" (primitive_type "int") (pointer_declarator "*****pppppiVar24" (* "*") (pointer_declarator "****pppppiVar24" (* "*") (pointer_declarator "***pppppiVar24" (* "*") (pointer_declarator "**pppppiVar24" (* "*") (pointer_declarator "*pppppiVar24" (* "*") (identifier "pppppiVar24")))))) (; ";")) (declaration "undefined *puVar25;" (type_identifier "undefined") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "longlong lVar26;" (type_identifier "longlong") (identifier "lVar26") (; ";")) (declaration "int ****local_b4;" (primitive_type "int") (pointer_declarator "****local_b4" (* "*") (pointer_declarator "***local_b4" (* "*") (pointer_declarator "**local_b4" (* "*") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4"))))) (; ";")) (declaration "code *local_b0;" (type_identifier "code") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "int ****local_ac;" (primitive_type "int") (pointer_declarator "****local_ac" (* "*") (pointer_declarator "***local_ac" (* "*") (pointer_declarator "**local_ac" (* "*") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac"))))) (; ";")) (declaration "int ****local_a8;" (primitive_type "int") (pointer_declarator "****local_a8" (* "*") (pointer_declarator "***local_a8" (* "*") (pointer_declarator "**local_a8" (* "*") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8"))))) (; ";")) (declaration "undefined *local_a0;" (type_identifier "undefined") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")) (; ";")) (declaration "int ****local_9c;" (primitive_type "int") (pointer_declarator "****local_9c" (* "*") (pointer_declarator "***local_9c" (* "*") (pointer_declarator "**local_9c" (* "*") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c"))))) (; ";")) (declaration "undefined *local_90;" (type_identifier "undefined") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined *local_8c;" (type_identifier "undefined") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "int ****local_88 [4];" (primitive_type "int") (pointer_declarator "****local_88 [4]" (* "*") (pointer_declarator "***local_88 [4]" (* "*") (pointer_declarator "**local_88 [4]" (* "*") (pointer_declarator "*local_88 [4]" (* "*") (array_declarator "local_88 [4]" (identifier "local_88") ([ "[") (number_literal "4") (] "]")))))) (; ";")) (declaration "int local_78 [2];" (primitive_type "int") (array_declarator "local_78 [2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int ****local_70 [2];" (primitive_type "int") (pointer_declarator "****local_70 [2]" (* "*") (pointer_declarator "***local_70 [2]" (* "*") (pointer_declarator "**local_70 [2]" (* "*") (pointer_declarator "*local_70 [2]" (* "*") (array_declarator "local_70 [2]" (identifier "local_70") ([ "[") (number_literal "2") (] "]")))))) (; ";")) (declaration "int ***local_68;" (primitive_type "int") (pointer_declarator "***local_68" (* "*") (pointer_declarator "**local_68" (* "*") (pointer_declarator "*local_68" (* "*") (identifier "local_68")))) (; ";")) (declaration "int ****local_64;" (primitive_type "int") (pointer_declarator "****local_64" (* "*") (pointer_declarator "***local_64" (* "*") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))))) (; ";")) (declaration "int ****local_60 [4];" (primitive_type "int") (pointer_declarator "****local_60 [4]" (* "*") (pointer_declarator "***local_60 [4]" (* "*") (pointer_declarator "**local_60 [4]" (* "*") (pointer_declarator "*local_60 [4]" (* "*") (array_declarator "local_60 [4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")))))) (; ";")) (declaration "int ****local_50 [5];" (primitive_type "int") (pointer_declarator "****local_50 [5]" (* "*") (pointer_declarator "***local_50 [5]" (* "*") (pointer_declarator "**local_50 [5]" (* "*") (pointer_declarator "*local_50 [5]" (* "*") (array_declarator "local_50 [5]" (identifier "local_50") ([ "[") (number_literal "5") (] "]")))))) (; ";")) (declaration "int ****local_3c;" (primitive_type "int") (pointer_declarator "****local_3c" (* "*") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))))) (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined2 local_30;" (type_identifier "undefined2") (identifier "local_30") (; ";")) (declaration "undefined1 local_2e;" (type_identifier "undefined1") (identifier "local_2e") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "pppppiVar21 = (int *****)PTR_FUN_001311a4;" (assignment_expression "pppppiVar21 = (int *****)PTR_FUN_001311a4" (identifier "pppppiVar21") (= "=") (cast_expression "(int *****)PTR_FUN_001311a4" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR_FUN_001311a4"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00132164;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00132164" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00132164" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00132164")))) (; ";")) (expression_statement "local_88[0] = *(int *****)PTR_stdin_00131efc;" (assignment_expression "local_88[0] = *(int *****)PTR_stdin_00131efc" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(int *****)PTR_stdin_00131efc" (* "*") (cast_expression "(int *****)PTR_stdin_00131efc" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR_stdin_00131efc")))) (; ";")) (expression_statement "pppppiVar19 = local_88;" (assignment_expression "pppppiVar19 = local_88" (identifier "pppppiVar19") (= "=") (identifier "local_88")) (; ";")) (expression_statement "pppppiVar24 = param_1 + 2;" (assignment_expression "pppppiVar24 = param_1 + 2" (identifier "pppppiVar24") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar22 = PTR_LAB_0013118c + 0x6e58;" (assignment_expression "puVar22 = PTR_LAB_0013118c + 0x6e58" (identifier "puVar22") (= "=") (binary_expression "PTR_LAB_0013118c + 0x6e58" (identifier "PTR_LAB_0013118c") (+ "+") (number_literal "0x6e58"))) (; ";")) (expression_statement "pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);" (assignment_expression "pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c)" (identifier "pppppiVar23") (= "=") (pointer_expression "*(int ******)(PTR_FUN_001311a4 + 0x458c)" (* "*") (cast_expression "(int ******)(PTR_FUN_001311a4 + 0x458c)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(PTR_FUN_001311a4 + 0x458c)" (( "(") (binary_expression "PTR_FUN_001311a4 + 0x458c" (identifier "PTR_FUN_001311a4") (+ "+") (number_literal "0x458c")) () ")"))))) (; ";")) (expression_statement "pppppiVar8 = param_1;" (assignment_expression "pppppiVar8 = param_1" (identifier "pppppiVar8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_88[1] = local_88[0];" (assignment_expression "local_88[1] = local_88[0]" (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  } while (pppppiVar8 != pppppiVar24);" (do "do") (compound_statement "{\n    ppppiVar13 = *pppppiVar8;\n    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }\n    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);\n    pppppiVar6 = pppppiVar5;\n    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }\n    ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;\n    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;\n    *pppppiVar19 = ppppiVar13;\n    pppppiVar8 = pppppiVar8 + 1;\n    pppppiVar19 = pppppiVar19 + 1;\n  }" ({ "{") (expression_statement "ppppiVar13 = *pppppiVar8;" (assignment_expression "ppppiVar13 = *pppppiVar8" (identifier "ppppiVar13") (= "=") (pointer_expression "*pppppiVar8" (* "*") (identifier "pppppiVar8"))) (; ";")) (if_statement "if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {\n      pppppiVar5 = (int *****)0x0;\n    }\n    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" (if "if") (parenthesized_expression "((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0'))" (( "(") (binary_expression "(*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')" (parenthesized_expression "(*(char *)ppppiVar13 == '-')" (( "(") (binary_expression "*(char *)ppppiVar13 == '-'" (pointer_expression "*(char *)ppppiVar13" (* "*") (cast_expression "(char *)ppppiVar13" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppiVar13"))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppppiVar13 + 1) == '\0')" (( "(") (binary_expression "*(char *)((int)ppppiVar13 + 1) == '\0'" (pointer_expression "*(char *)((int)ppppiVar13 + 1)" (* "*") (cast_expression "(char *)((int)ppppiVar13 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppiVar13 + 1)" (( "(") (binary_expression "(int)ppppiVar13 + 1" (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      pppppiVar5 = (int *****)0x0;\n    }" ({ "{") (expression_statement "pppppiVar5 = (int *****)0x0;" (assignment_expression "pppppiVar5 = (int *****)0x0" (identifier "pppppiVar5") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" (else "else") (if_statement "if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }\n    else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" (if "if") (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)PTR_DAT_0013135c & 0x20) == 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 0x20)" (( "(") (binary_expression "*(uint *)PTR_DAT_0013135c & 0x20" (pointer_expression "*(uint *)PTR_DAT_0013135c" (* "*") (cast_expression "(uint *)PTR_DAT_0013135c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0013135c"))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }\n    }" ({ "{") (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)()" (identifier "pppppiVar5") (= "=") (cast_expression "(int *****)(*(code *)PTR_FUN_00131400)()" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_FUN_00131400)()" (parenthesized_expression "(*(code *)PTR_FUN_00131400)" (( "(") (pointer_expression "*(code *)PTR_FUN_00131400" (* "*") (cast_expression "(code *)PTR_FUN_00131400" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_00131400"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (pppppiVar5 == (int *****)0xffffffff) {\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }" (if "if") (parenthesized_expression "(pppppiVar5 == (int *****)0xffffffff)" (( "(") (binary_expression "pppppiVar5 == (int *****)0xffffffff" (identifier "pppppiVar5") (== "==") (cast_expression "(int *****)0xffffffff" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        iVar7 = 0;\n        goto LAB_000d9af0;\n      }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000d9af0;" (goto "goto") (statement_identifier "LAB_000d9af0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" (else "else") (compound_statement "{\n      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);\n      if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }\n    }" ({ "{") (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" (identifier "pppppiVar5") (= "=") (cast_expression "(int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_open64_00131f1c)(ppppiVar13,0)" (parenthesized_expression "(*(code *)PTR_open64_00131f1c)" (( "(") (pointer_expression "*(code *)PTR_open64_00131f1c" (* "*") (cast_expression "(code *)PTR_open64_00131f1c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_open64_00131f1c"))) () ")")) (argument_list "(ppppiVar13,0)" (( "(") (identifier "ppppiVar13") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pppppiVar5 == (int *****)0xffffffff) {\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }" (if "if") (parenthesized_expression "(pppppiVar5 == (int *****)0xffffffff)" (( "(") (binary_expression "pppppiVar5 == (int *****)0xffffffff" (identifier "pppppiVar5") (== "==") (cast_expression "(int *****)0xffffffff" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);\n      }" ({ "{") (expression_statement "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);" (assignment_expression "pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0)" (identifier "pppppiVar5") (= "=") (cast_expression "(int *****)(*(code *)PTR_FUN_00131294)(puVar22,0)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_FUN_00131294)(puVar22,0)" (parenthesized_expression "(*(code *)PTR_FUN_00131294)" (( "(") (pointer_expression "*(code *)PTR_FUN_00131294" (* "*") (cast_expression "(code *)PTR_FUN_00131294" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_00131294"))) () ")")) (argument_list "(puVar22,0)" (( "(") (identifier "puVar22") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (} "}")))))) (expression_statement "lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);" (assignment_expression "lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5)" (identifier "lVar26") (= "=") (call_expression "(*(code *)PTR_lseek64_00132014)(pppppiVar5)" (parenthesized_expression "(*(code *)PTR_lseek64_00132014)" (( "(") (pointer_expression "*(code *)PTR_lseek64_00132014" (* "*") (cast_expression "(code *)PTR_lseek64_00132014" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lseek64_00132014"))) () ")")) (argument_list "(pppppiVar5)" (( "(") (identifier "pppppiVar5") () ")")))) (; ";")) (expression_statement "pppppiVar6 = pppppiVar5;" (assignment_expression "pppppiVar6 = pppppiVar5" (identifier "pppppiVar6") (= "=") (identifier "pppppiVar5")) (; ";")) (if_statement "if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }" (if "if") (parenthesized_expression "((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d))" (( "(") (binary_expression "(lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)" (parenthesized_expression "(lVar26 == -1)" (( "(") (binary_expression "lVar26 == -1" (identifier "lVar26") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(**(int **)PTR_DAT_001311d8 == 0x1d)" (( "(") (binary_expression "**(int **)PTR_DAT_001311d8 == 0x1d" (pointer_expression "**(int **)PTR_DAT_001311d8" (* "*") (pointer_expression "*(int **)PTR_DAT_001311d8" (* "*") (cast_expression "(int **)PTR_DAT_001311d8" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_001311d8")))) (== "==") (number_literal "0x1d")) () ")"))) () ")")) (compound_statement "{\n      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);\n      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);\n      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);\n      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);\n      local_3c = (int ****)pppppiVar23;\n      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);\n      (*(code *)PTR_unlink_001320a8)(&local_3c);\n      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);\n      if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }\n      if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }\n      (*(code *)PTR_FUN_001316c8)(pppppiVar6);\n      unaff_s3 = pppppiVar6;\n    }" ({ "{") (expression_statement "local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);" (assignment_expression "local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590)" (identifier "local_38") (= "=") (pointer_expression "*(undefined4 *)((int)pppppiVar21 + 0x4590)" (* "*") (cast_expression "(undefined4 *)((int)pppppiVar21 + 0x4590)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar21 + 0x4590)" (( "(") (binary_expression "(int)pppppiVar21 + 0x4590" (cast_expression "(int)pppppiVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar21")) (+ "+") (number_literal "0x4590")) () ")"))))) (; ";")) (expression_statement "local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);" (assignment_expression "local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594)" (identifier "local_34") (= "=") (pointer_expression "*(undefined4 *)((int)pppppiVar21 + 0x4594)" (* "*") (cast_expression "(undefined4 *)((int)pppppiVar21 + 0x4594)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar21 + 0x4594)" (( "(") (binary_expression "(int)pppppiVar21 + 0x4594" (cast_expression "(int)pppppiVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar21")) (+ "+") (number_literal "0x4594")) () ")"))))) (; ";")) (expression_statement "local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);" (assignment_expression "local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598)" (identifier "local_30") (= "=") (pointer_expression "*(undefined2 *)((int)pppppiVar21 + 0x4598)" (* "*") (cast_expression "(undefined2 *)((int)pppppiVar21 + 0x4598)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar21 + 0x4598)" (( "(") (binary_expression "(int)pppppiVar21 + 0x4598" (cast_expression "(int)pppppiVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar21")) (+ "+") (number_literal "0x4598")) () ")"))))) (; ";")) (expression_statement "local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);" (assignment_expression "local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a)" (identifier "local_2e") (= "=") (pointer_expression "*(undefined1 *)((int)pppppiVar21 + 0x459a)" (* "*") (cast_expression "(undefined1 *)((int)pppppiVar21 + 0x459a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar21 + 0x459a)" (( "(") (binary_expression "(int)pppppiVar21 + 0x459a" (cast_expression "(int)pppppiVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar21")) (+ "+") (number_literal "0x459a")) () ")"))))) (; ";")) (expression_statement "local_3c = (int ****)pppppiVar23;" (assignment_expression "local_3c = (int ****)pppppiVar23" (identifier "local_3c") (= "=") (cast_expression "(int ****)pppppiVar23" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar23"))) (; ";")) (expression_statement "pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);" (assignment_expression "pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c)" (identifier "pppppiVar6") (= "=") (cast_expression "(int *****)(*(code *)PTR_FUN_00131b60)(&local_3c)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_FUN_00131b60)(&local_3c)" (parenthesized_expression "(*(code *)PTR_FUN_00131b60)" (( "(") (pointer_expression "*(code *)PTR_FUN_00131b60" (* "*") (cast_expression "(code *)PTR_FUN_00131b60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_00131b60"))) () ")")) (argument_list "(&local_3c)" (( "(") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_unlink_001320a8)(&local_3c);" (call_expression "(*(code *)PTR_unlink_001320a8)(&local_3c)" (parenthesized_expression "(*(code *)PTR_unlink_001320a8)" (( "(") (pointer_expression "*(code *)PTR_unlink_001320a8" (* "*") (cast_expression "(code *)PTR_unlink_001320a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_unlink_001320a8"))) () ")")) (argument_list "(&local_3c)" (( "(") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")"))) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);" (assignment_expression "iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6)" (parenthesized_expression "(*(code *)PTR_FUN_00131394)" (( "(") (pointer_expression "*(code *)PTR_FUN_00131394" (* "*") (cast_expression "(code *)PTR_FUN_00131394" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_00131394"))) () ")")) (argument_list "(pppppiVar5,pppppiVar6)" (( "(") (identifier "pppppiVar5") (, ",") (identifier "pppppiVar6") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar7 = (*(code *)PTR_FUN_001311b4)();\n        return iVar7;\n      }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_FUN_001311b4)();" (assignment_expression "iVar7 = (*(code *)PTR_FUN_001311b4)()" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_FUN_001311b4)()" (parenthesized_expression "(*(code *)PTR_FUN_001311b4)" (( "(") (pointer_expression "*(code *)PTR_FUN_001311b4" (* "*") (cast_expression "(code *)PTR_FUN_001311b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_001311b4"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (if_statement "if (pppppiVar5 != (int *****)0x0) {\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }" (if "if") (parenthesized_expression "(pppppiVar5 != (int *****)0x0)" (( "(") (binary_expression "pppppiVar5 != (int *****)0x0" (identifier "pppppiVar5") (!= "!=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)PTR_close_00131ca8)(pppppiVar5);\n      }" ({ "{") (expression_statement "(*(code *)PTR_close_00131ca8)(pppppiVar5);" (call_expression "(*(code *)PTR_close_00131ca8)(pppppiVar5)" (parenthesized_expression "(*(code *)PTR_close_00131ca8)" (( "(") (pointer_expression "*(code *)PTR_close_00131ca8" (* "*") (cast_expression "(code *)PTR_close_00131ca8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_00131ca8"))) () ")")) (argument_list "(pppppiVar5)" (( "(") (identifier "pppppiVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_FUN_001316c8)(pppppiVar6);" (call_expression "(*(code *)PTR_FUN_001316c8)(pppppiVar6)" (parenthesized_expression "(*(code *)PTR_FUN_001316c8)" (( "(") (pointer_expression "*(code *)PTR_FUN_001316c8" (* "*") (cast_expression "(code *)PTR_FUN_001316c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_001316c8"))) () ")")) (argument_list "(pppppiVar6)" (( "(") (identifier "pppppiVar6") () ")"))) (; ";")) (expression_statement "unaff_s3 = pppppiVar6;" (assignment_expression "unaff_s3 = pppppiVar6" (identifier "unaff_s3") (= "=") (identifier "pppppiVar6")) (; ";")) (} "}"))) (expression_statement "ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))\n    ;" (assignment_expression "ppppiVar13 = (int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" (identifier "ppppiVar13") (= "=") (cast_expression "(int ****)\n                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" (parenthesized_expression "(*(code *)PTR_fdopen_001321f0)" (( "(") (pointer_expression "*(code *)PTR_fdopen_001321f0" (* "*") (cast_expression "(code *)PTR_fdopen_001321f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fdopen_001321f0"))) () ")")) (argument_list "(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))" (( "(") (identifier "pppppiVar6") (, ",") (cast_expression "(undefined *)((int)pppppiVar21 + 0x2244)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar21 + 0x2244)" (( "(") (binary_expression "(int)pppppiVar21 + 0x2244" (cast_expression "(int)pppppiVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar21")) (+ "+") (number_literal "0x2244")) () ")"))) () ")"))))) (; ";")) (expression_statement "pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c" (identifier "pppppiVar5") (= "=") (cast_expression "(int *****)PTR_bb_common_bufsiz1_0013136c" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR_bb_common_bufsiz1_0013136c"))) (; ";")) (expression_statement "*pppppiVar19 = ppppiVar13;" (assignment_expression "*pppppiVar19 = ppppiVar13" (pointer_expression "*pppppiVar19" (* "*") (identifier "pppppiVar19")) (= "=") (identifier "ppppiVar13")) (; ";")) (expression_statement "pppppiVar8 = pppppiVar8 + 1;" (assignment_expression "pppppiVar8 = pppppiVar8 + 1" (identifier "pppppiVar8") (= "=") (binary_expression "pppppiVar8 + 1" (identifier "pppppiVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppiVar19 = pppppiVar19 + 1;" (assignment_expression "pppppiVar19 = pppppiVar19 + 1" (identifier "pppppiVar19") (= "=") (binary_expression "pppppiVar19 + 1" (identifier "pppppiVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppiVar8 != pppppiVar24)" (( "(") (binary_expression "pppppiVar8 != pppppiVar24" (identifier "pppppiVar8") (!= "!=") (identifier "pppppiVar24")) () ")")) (; ";")) (expression_statement "puVar22 = (undefined1 *)0x0;" (assignment_expression "puVar22 = (undefined1 *)0x0" (identifier "puVar22") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppiVar19 = (int *****)0x0;" (assignment_expression "pppppiVar19 = (int *****)0x0" (identifier "pppppiVar19") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;" (assignment_expression "puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200" (identifier "puVar25") (= "=") (binary_expression "PTR_bb_common_bufsiz1_0013136c + 0x200" (identifier "PTR_bb_common_bufsiz1_0013136c") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_b4 = (int ****)&DAT_00000001;" (assignment_expression "local_b4 = (int ****)&DAT_00000001" (identifier "local_b4") (= "=") (cast_expression "(int ****)&DAT_00000001" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (while_statement "while( true ) {\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    pppppiVar23 = (int *****)local_88[0];\n    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);\n    pppppiVar21 = (int *****)local_88[1];\n    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);\n    if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }\n    if (pppppiVar8 == (int *****)0x0) break;\n    if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }\n  }" ({ "{") (expression_statement "pppppiVar23 = (int *****)local_88[0];" (assignment_expression "pppppiVar23 = (int *****)local_88[0]" (identifier "pppppiVar23") (= "=") (cast_expression "(int *****)local_88[0]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);" (assignment_expression "unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" (identifier "unaff_s3") (= "=") (cast_expression "(int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" (( "(") (pointer_expression "*(code *)PTR_fread_00132024" (* "*") (cast_expression "(code *)PTR_fread_00132024" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fread_00132024"))) () ")")) (argument_list "(pppppiVar5,1,0x200,local_88[0])" (( "(") (identifier "pppppiVar5") (, ",") (number_literal "1") (, ",") (number_literal "0x200") (, ",") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) () ")"))))) (; ";")) (expression_statement "pppppiVar21 = (int *****)local_88[1];" (assignment_expression "pppppiVar21 = (int *****)local_88[1]" (identifier "pppppiVar21") (= "=") (cast_expression "(int *****)local_88[1]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);" (assignment_expression "pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" (identifier "pppppiVar8") (= "=") (cast_expression "(int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1])" (parenthesized_expression "(*(code *)PTR_fread_00132024)" (( "(") (pointer_expression "*(code *)PTR_fread_00132024" (* "*") (cast_expression "(code *)PTR_fread_00132024" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fread_00132024"))) () ")")) (argument_list "(puVar25,1,0x200,local_88[1])" (( "(") (identifier "puVar25") (, ",") (number_literal "1") (, ",") (number_literal "0x200") (, ",") (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) () ")"))))) (; ";")) (if_statement "if (unaff_s3 != pppppiVar8) {\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }" (if "if") (parenthesized_expression "(unaff_s3 != pppppiVar8)" (( "(") (binary_expression "unaff_s3 != pppppiVar8" (identifier "unaff_s3") (!= "!=") (identifier "pppppiVar8")) () ")")) (compound_statement "{\n      if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }\n      puVar22 = &DAT_00000001;\n    }" ({ "{") (if_statement "if ((int)unaff_s3 < (int)pppppiVar8) {\n        pppppiVar8 = unaff_s3;\n      }" (if "if") (parenthesized_expression "((int)unaff_s3 < (int)pppppiVar8)" (( "(") (binary_expression "(int)unaff_s3 < (int)pppppiVar8" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (< "<") (cast_expression "(int)pppppiVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar8"))) () ")")) (compound_statement "{\n        pppppiVar8 = unaff_s3;\n      }" ({ "{") (expression_statement "pppppiVar8 = unaff_s3;" (assignment_expression "pppppiVar8 = unaff_s3" (identifier "pppppiVar8") (= "=") (identifier "unaff_s3")) (; ";")) (} "}"))) (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" (identifier "puVar22") (= "=") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001"))) (; ";")) (} "}"))) (if_statement "if (pppppiVar8 == (int *****)0x0) break;" (if "if") (parenthesized_expression "(pppppiVar8 == (int *****)0x0)" (( "(") (binary_expression "pppppiVar8 == (int *****)0x0" (identifier "pppppiVar8") (== "==") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < (int)pppppiVar8) {\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }" (if "if") (parenthesized_expression "(0 < (int)pppppiVar8)" (( "(") (binary_expression "0 < (int)pppppiVar8" (number_literal "0") (< "<") (cast_expression "(int)pppppiVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar8"))) () ")")) (compound_statement "{\n      pcVar9 = PTR_bb_common_bufsiz1_0013136c;\n      do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));\n    }" ({ "{") (expression_statement "pcVar9 = PTR_bb_common_bufsiz1_0013136c;" (assignment_expression "pcVar9 = PTR_bb_common_bufsiz1_0013136c" (identifier "pcVar9") (= "=") (identifier "PTR_bb_common_bufsiz1_0013136c")) (; ";")) (do_statement "do {\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));" (do "do") (compound_statement "{\n        pppppiVar21 = (int *****)local_b4;\n        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }\n        pcVar9 = pcVar9 + 1;\n      }" ({ "{") (expression_statement "pppppiVar21 = (int *****)local_b4;" (assignment_expression "pppppiVar21 = (int *****)local_b4" (identifier "pppppiVar21") (= "=") (cast_expression "(int *****)local_b4" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_b4"))) (; ";")) (if_statement "if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }\n        else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" (if "if") (parenthesized_expression "((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0'))" (( "(") (binary_expression "(*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')" (parenthesized_expression "(*pcVar9 == '\0')" (( "(") (binary_expression "*pcVar9 == '\0'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')" (( "(") (comma_expression "pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0'" (assignment_expression "pppppiVar21 = pppppiVar19" (identifier "pppppiVar21") (= "=") (identifier "pppppiVar19")) (, ",") (binary_expression "pcVar9[0x200] != '\0'" (subscript_expression "pcVar9[0x200]" (identifier "pcVar9") ([ "[") (number_literal "0x200") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          pppppiVar19 = pppppiVar21;\n          if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }\n        }" ({ "{") (expression_statement "pppppiVar19 = pppppiVar21;" (assignment_expression "pppppiVar19 = pppppiVar21" (identifier "pppppiVar19") (= "=") (identifier "pppppiVar21")) (; ";")) (if_statement "if (pcVar9[0x200] != *pcVar9) {\n            puVar22 = &DAT_00000001;\n          }" (if "if") (parenthesized_expression "(pcVar9[0x200] != *pcVar9)" (( "(") (binary_expression "pcVar9[0x200] != *pcVar9" (subscript_expression "pcVar9[0x200]" (identifier "pcVar9") ([ "[") (number_literal "0x200") (] "]")) (!= "!=") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) () ")")) (compound_statement "{\n            puVar22 = &DAT_00000001;\n          }" ({ "{") (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" (identifier "puVar22") (= "=") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" (else "else") (compound_statement "{\n          puVar22 = &DAT_00000001;\n          pppppiVar19 = (int *****)local_b4;\n        }" ({ "{") (expression_statement "puVar22 = &DAT_00000001;" (assignment_expression "puVar22 = &DAT_00000001" (identifier "puVar22") (= "=") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001"))) (; ";")) (expression_statement "pppppiVar19 = (int *****)local_b4;" (assignment_expression "pppppiVar19 = (int *****)local_b4" (identifier "pppppiVar19") (= "=") (cast_expression "(int *****)local_b4" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_b4"))) (; ";")) (} "}")))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c))" (( "(") (binary_expression "pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" (identifier "pcVar9") (!= "!=") (cast_expression "(char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c)" (( "(") (binary_expression "(int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c" (cast_expression "(int)pppppiVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar8")) (+ "+") (cast_expression "(int)PTR_bb_common_bufsiz1_0013136c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "PTR_bb_common_bufsiz1_0013136c"))) () ")")))) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" (identifier "pppppiVar24") (= "=") (identifier "pppppiVar5")) (; ";")) (if_statement "if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;" (if "if") (parenthesized_expression "(puVar22 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar22 == (undefined1 *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d9af0;" (goto "goto") (statement_identifier "LAB_000d9af0") (; ";"))) (if_statement "if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }" (if "if") (parenthesized_expression "((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0))" (( "(") (binary_expression "(pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)" (parenthesized_expression "(pppppiVar19 != (int *****)0x0)" (( "(") (binary_expression "pppppiVar19 != (int *****)0x0" (identifier "pppppiVar19") (!= "!=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 1) == 0)" (( "(") (binary_expression "(*(uint *)PTR_DAT_0013135c & 1) == 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 1)" (( "(") (binary_expression "*(uint *)PTR_DAT_0013135c & 1" (pointer_expression "*(uint *)PTR_DAT_0013135c" (* "*") (cast_expression "(uint *)PTR_DAT_0013135c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0013135c"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    iVar7 = 2;\n    goto LAB_000d9ad8;\n  }" ({ "{") (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" (identifier "iVar7") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_000d9ad8;" (goto "goto") (statement_identifier "LAB_000d9ad8") (; ";")) (} "}"))) (expression_statement "local_60[0] = (int ****)pppppiVar23;" (assignment_expression "local_60[0] = (int ****)pppppiVar23" (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int ****)pppppiVar23" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar23"))) (; ";")) (expression_statement "local_50[0] = (int ****)pppppiVar21;" (assignment_expression "local_50[0] = (int ****)pppppiVar21" (subscript_expression "local_50[0]" (identifier "local_50") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int ****)pppppiVar21" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar21"))) (; ";")) (expression_statement "pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);" (assignment_expression "pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78)" (identifier "pppppiVar23") (= "=") (cast_expression "(int *****)FUN_000d8328(local_60,local_88 + 2,local_78)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "FUN_000d8328(local_60,local_88 + 2,local_78)" (identifier "FUN_000d8328") (argument_list "(local_60,local_88 + 2,local_78)" (( "(") (identifier "local_60") (, ",") (binary_expression "local_88 + 2" (identifier "local_88") (+ "+") (number_literal "2")) (, ",") (identifier "local_78") () ")"))))) (; ";")) (expression_statement "local_b4 = (int ****)0x0;" (assignment_expression "local_b4 = (int ****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s3 = (int *****)&DAT_00000001;" (assignment_expression "unaff_s3 = (int *****)&DAT_00000001" (identifier "unaff_s3") (= "=") (cast_expression "(int *****)&DAT_00000001" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (expression_statement "pppppiVar21 = (int *****)0x0;" (assignment_expression "pppppiVar21 = (int *****)0x0" (identifier "pppppiVar21") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_90 = PTR_FUN_001311a4;" (assignment_expression "local_90 = PTR_FUN_001311a4" (identifier "local_90") (= "=") (identifier "PTR_FUN_001311a4")) (; ";")) (expression_statement "local_a0 = PTR_FUN_001311a4 + 0x457c;" (assignment_expression "local_a0 = PTR_FUN_001311a4 + 0x457c" (identifier "local_a0") (= "=") (binary_expression "PTR_FUN_001311a4 + 0x457c" (identifier "PTR_FUN_001311a4") (+ "+") (number_literal "0x457c"))) (; ";")) (expression_statement "local_8c = PTR_FUN_001311a4 + 0x4584;" (assignment_expression "local_8c = PTR_FUN_001311a4 + 0x4584" (identifier "local_8c") (= "=") (binary_expression "PTR_FUN_001311a4 + 0x4584" (identifier "PTR_FUN_001311a4") (+ "+") (number_literal "0x4584"))) (; ";")) (expression_statement "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);" (assignment_expression "local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c)" (identifier "local_b0") (= "=") (cast_expression "(code *)(PTR_LAB_00131bf8 + -0x708c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00131bf8 + -0x708c)" (( "(") (binary_expression "PTR_LAB_00131bf8 + -0x708c" (identifier "PTR_LAB_00131bf8") (+ "+") (number_literal "-0x708c")) () ")")))) (; ";")) (labeled_statement "LAB_000d9610:\n  puVar4 = PTR_FUN_001313dc;" (statement_identifier "LAB_000d9610") (: ":") (expression_statement "puVar4 = PTR_FUN_001313dc;" (assignment_expression "puVar4 = PTR_FUN_001313dc" (identifier "puVar4") (= "=") (identifier "PTR_FUN_001313dc")) (; ";"))) (expression_statement "puVar25 = PTR_DAT_00131330;" (assignment_expression "puVar25 = PTR_DAT_00131330" (identifier "puVar25") (= "=") (identifier "PTR_DAT_00131330")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" (identifier "iVar17") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_9c = (int ****)local_60;" (assignment_expression "local_9c = (int ****)local_60" (identifier "local_9c") (= "=") (cast_expression "(int ****)local_60" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_60"))) (; ";")) (do_statement "do {\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  } while( true );" (do "do") (compound_statement "{\n    local_70[0] = (int ****)unaff_s3;\n    if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }\nLAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);\n    local_70[1] = (int ****)((int)local_70[0] + -1);\n    if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }\nLAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];\n    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);\n    local_64 = (int ****)pppppiVar5;\n    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }\n    unaff_s3 = (int *****)((int)pppppiVar19 + 1);\n    if ((int)local_88[2] < (int)unaff_s3) break;\n    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;\n  }" ({ "{") (expression_statement "local_70[0] = (int ****)unaff_s3;" (assignment_expression "local_70[0] = (int ****)unaff_s3" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int ****)unaff_s3" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s3"))) (; ";")) (if_statement "if (((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }" (if "if") (parenthesized_expression "(((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)))" (( "(") (binary_expression "((int)unaff_s3 <= (int)local_88[2]) &&\n       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))" (parenthesized_expression "((int)unaff_s3 <= (int)local_88[2])" (( "(") (binary_expression "(int)unaff_s3 <= (int)local_88[2]" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (<= "<=") (cast_expression "(int)local_88[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))" (( "(") (comma_expression "pppppiVar19 = pppppiVar23 + (int)unaff_s3,\n       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)" (assignment_expression "pppppiVar19 = pppppiVar23 + (int)unaff_s3" (identifier "pppppiVar19") (= "=") (binary_expression "pppppiVar23 + (int)unaff_s3" (identifier "pppppiVar23") (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")))) (, ",") (binary_expression "*pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1)" (pointer_expression "*pppppiVar19" (* "*") (identifier "pppppiVar19")) (== "==") (cast_expression "(int ****)((int)pppppiVar19[-1] + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppppiVar19[-1] + 1)" (( "(") (binary_expression "(int)pppppiVar19[-1] + 1" (cast_expression "(int)pppppiVar19[-1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar19[-1]" (identifier "pppppiVar19") ([ "[") (number_literal "-1") (] "]"))) (+ "+") (number_literal "1")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n      do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));\n    }" ({ "{") (do_statement "do {\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));" (do "do") (compound_statement "{\n        local_70[0] = (int ****)((int)local_70[0] + 1);\n        if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }\n        ppppiVar13 = *pppppiVar19;\n        pppppiVar8 = pppppiVar19 + 1;\n        pppppiVar19 = pppppiVar19 + 1;\n      }" ({ "{") (expression_statement "local_70[0] = (int ****)((int)local_70[0] + 1);" (assignment_expression "local_70[0] = (int ****)((int)local_70[0] + 1)" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int ****)((int)local_70[0] + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)local_70[0] + 1)" (( "(") (binary_expression "(int)local_70[0] + 1" (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((int)local_88[2] < (int)local_70[0]) {\n          goto LAB_000d9698;\n        }" (if "if") (parenthesized_expression "((int)local_88[2] < (int)local_70[0])" (( "(") (binary_expression "(int)local_88[2] < (int)local_70[0]" (cast_expression "(int)local_88[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]"))) (< "<") (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")))) () ")")) (compound_statement "{\n          goto LAB_000d9698;\n        }" ({ "{") (goto_statement "goto LAB_000d9698;" (goto "goto") (statement_identifier "LAB_000d9698") (; ";")) (} "}"))) (expression_statement "ppppiVar13 = *pppppiVar19;" (assignment_expression "ppppiVar13 = *pppppiVar19" (identifier "ppppiVar13") (= "=") (pointer_expression "*pppppiVar19" (* "*") (identifier "pppppiVar19"))) (; ";")) (expression_statement "pppppiVar8 = pppppiVar19 + 1;" (assignment_expression "pppppiVar8 = pppppiVar19 + 1" (identifier "pppppiVar8") (= "=") (binary_expression "pppppiVar19 + 1" (identifier "pppppiVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppiVar19 = pppppiVar19 + 1;" (assignment_expression "pppppiVar19 = pppppiVar19 + 1" (identifier "pppppiVar19") (= "=") (binary_expression "pppppiVar19 + 1" (identifier "pppppiVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pppppiVar8 == (int ****)((int)ppppiVar13 + 1))" (( "(") (binary_expression "*pppppiVar8 == (int ****)((int)ppppiVar13 + 1)" (pointer_expression "*pppppiVar8" (* "*") (identifier "pppppiVar8")) (== "==") (cast_expression "(int ****)((int)ppppiVar13 + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppiVar13 + 1)" (( "(") (binary_expression "(int)ppppiVar13 + 1" (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13")) (+ "+") (number_literal "1")) () ")")))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000d9698:\n    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);" (statement_identifier "LAB_000d9698") (: ":") (expression_statement "local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);" (assignment_expression "local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" (identifier "local_68") (= "=") (cast_expression "(int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1)" (( "(") (binary_expression "(int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1" (cast_expression "(int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)]" (identifier "pppppiVar23") ([ "[") (cast_expression "(int)((int)local_70[0] + 0x3fffffff)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)local_70[0] + 0x3fffffff)" (( "(") (binary_expression "(int)local_70[0] + 0x3fffffff" (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x3fffffff")) () ")"))) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "local_70[1] = (int ****)((int)local_70[0] + -1);" (assignment_expression "local_70[1] = (int ****)((int)local_70[0] + -1)" (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int ****)((int)local_70[0] + -1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)local_70[0] + -1)" (( "(") (binary_expression "(int)local_70[0] + -1" (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }" (if "if") (parenthesized_expression "(((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0))" (( "(") (binary_expression "((int)local_70[0] + -1 < (int)local_88[2]) &&\n       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)" (parenthesized_expression "((int)local_70[0] + -1 < (int)local_88[2])" (( "(") (binary_expression "(int)local_70[0] + -1 < (int)local_88[2]" (binary_expression "(int)local_70[0] + -1" (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "-1")) (< "<") (cast_expression "(int)local_88[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)" (( "(") (comma_expression "pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),\n       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0" (assignment_expression "pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000)" (identifier "pppppiVar8") (= "=") (binary_expression "pppppiVar23 + (int)(local_70[0] + 0x10000000)" (identifier "pppppiVar23") (+ "+") (cast_expression "(int)(local_70[0] + 0x10000000)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_70[0] + 0x10000000)" (( "(") (binary_expression "local_70[0] + 0x10000000" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "0x10000000")) () ")"))))) (, ",") (comma_expression "pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0" (assignment_expression "pppppiVar19 = (int *****)local_70[0]" (identifier "pppppiVar19") (= "=") (cast_expression "(int *****)local_70[0]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")))) (, ",") (binary_expression "*pppppiVar8 == (int ****)0x0" (pointer_expression "*pppppiVar8" (* "*") (identifier "pppppiVar8")) (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (compound_statement "{\n      do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);\n    }" ({ "{") (do_statement "do {\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      } while (*pppppiVar24 == (int ****)0x0);" (do "do") (compound_statement "{\n        local_70[1] = (int ****)pppppiVar19;\n        if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }\n        pppppiVar24 = pppppiVar8 + 1;\n        pppppiVar8 = pppppiVar8 + 1;\n        pppppiVar19 = (int *****)((int)local_70[1] + 1);\n      }" ({ "{") (expression_statement "local_70[1] = (int ****)pppppiVar19;" (assignment_expression "local_70[1] = (int ****)pppppiVar19" (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int ****)pppppiVar19" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar19"))) (; ";")) (if_statement "if (local_70[1] == local_88[2]) {\n          goto LAB_000d96f8;\n        }" (if "if") (parenthesized_expression "(local_70[1] == local_88[2])" (( "(") (binary_expression "local_70[1] == local_88[2]" (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")) (== "==") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n          goto LAB_000d96f8;\n        }" ({ "{") (goto_statement "goto LAB_000d96f8;" (goto "goto") (statement_identifier "LAB_000d96f8") (; ";")) (} "}"))) (expression_statement "pppppiVar24 = pppppiVar8 + 1;" (assignment_expression "pppppiVar24 = pppppiVar8 + 1" (identifier "pppppiVar24") (= "=") (binary_expression "pppppiVar8 + 1" (identifier "pppppiVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppiVar8 = pppppiVar8 + 1;" (assignment_expression "pppppiVar8 = pppppiVar8 + 1" (identifier "pppppiVar8") (= "=") (binary_expression "pppppiVar8 + 1" (identifier "pppppiVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppiVar19 = (int *****)((int)local_70[1] + 1);" (assignment_expression "pppppiVar19 = (int *****)((int)local_70[1] + 1)" (identifier "pppppiVar19") (= "=") (cast_expression "(int *****)((int)local_70[1] + 1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)local_70[1] + 1)" (( "(") (binary_expression "(int)local_70[1] + 1" (cast_expression "(int)local_70[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pppppiVar24 == (int ****)0x0)" (( "(") (binary_expression "*pppppiVar24 == (int ****)0x0" (pointer_expression "*pppppiVar24" (* "*") (identifier "pppppiVar24")) (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000d96f8:\n    pppppiVar19 = (int *****)local_70[1];" (statement_identifier "LAB_000d96f8") (: ":") (expression_statement "pppppiVar19 = (int *****)local_70[1];" (assignment_expression "pppppiVar19 = (int *****)local_70[1]" (identifier "pppppiVar19") (= "=") (cast_expression "(int *****)local_70[1]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (expression_statement "pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);" (assignment_expression "pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" (identifier "pppppiVar5") (= "=") (cast_expression "(int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1)" (( "(") (binary_expression "(int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1" (cast_expression "(int)pppppiVar23[(int)((int)local_70[1] + 1)]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar23[(int)((int)local_70[1] + 1)]" (identifier "pppppiVar23") ([ "[") (cast_expression "(int)((int)local_70[1] + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)local_70[1] + 1)" (( "(") (binary_expression "(int)local_70[1] + 1" (cast_expression "(int)local_70[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "1")) () ")"))) (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "local_64 = (int ****)pppppiVar5;" (assignment_expression "local_64 = (int ****)pppppiVar5" (identifier "local_64") (= "=") (cast_expression "(int ****)pppppiVar5" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar5"))) (; ";")) (if_statement "if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }" (if "if") (parenthesized_expression "(((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5))" (( "(") (binary_expression "((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)" (parenthesized_expression "((int)local_70[0] <= (int)local_70[1])" (( "(") (binary_expression "(int)local_70[0] <= (int)local_70[1]" (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (<= "<=") (cast_expression "(int)local_70[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")))) () ")")) (|| "||") (parenthesized_expression "((int)local_68 <= (int)pppppiVar5)" (( "(") (binary_expression "(int)local_68 <= (int)pppppiVar5" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (<= "<=") (cast_expression "(int)pppppiVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar5"))) () ")"))) () ")")) (compound_statement "{\n      if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;\n      pppppiVar8 = local_70;\n      piVar16 = local_78;\n      do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);\n      iVar17 = iVar17 + 1;\n      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);\n      pppppiVar8 = pppppiVar21 + iVar17 * 4;\n      *pppppiVar8 = local_70[0];\n      pppppiVar8[1] = local_70[1];\n      pppppiVar8[2] = (int ****)local_68;\n      pppppiVar8[3] = local_64;\n    }" ({ "{") (if_statement "if ((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;" (if "if") (parenthesized_expression "((-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68))))" (( "(") (binary_expression "(-1 < iVar17) &&\n         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))" (parenthesized_expression "(-1 < iVar17)" (( "(") (binary_expression "-1 < iVar17" (number_literal "-1") (< "<") (identifier "iVar17")) () ")")) (&& "&&") (parenthesized_expression "((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))" (( "(") (parenthesized_expression "(iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68))" (( "(") (comma_expression "iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,\n          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (assignment_expression "iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1" (identifier "iVar10") (= "=") (binary_expression "*(int *)(*(int *)puVar25 + 4) * 2 + 1" (binary_expression "*(int *)(*(int *)puVar25 + 4) * 2" (pointer_expression "*(int *)(*(int *)puVar25 + 4)" (* "*") (cast_expression "(int *)(*(int *)puVar25 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar25 + 4)" (( "(") (binary_expression "*(int *)puVar25 + 4" (pointer_expression "*(int *)puVar25" (* "*") (cast_expression "(int *)puVar25" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar25"))) (+ "+") (number_literal "4")) () ")")))) (* "*") (number_literal "2")) (+ "+") (number_literal "1"))) (, ",") (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&\n          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0]" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 1]" (identifier "iVar10") (+ "+") (cast_expression "(int)pppppiVar21[iVar17 * 4 + 1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar21[iVar17 * 4 + 1]" (identifier "pppppiVar21") ([ "[") (binary_expression "iVar17 * 4 + 1" (binary_expression "iVar17 * 4" (identifier "iVar17") (* "*") (number_literal "4")) (+ "+") (number_literal "1")) (] "]")))) (< "<") (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")))) (&& "&&") (parenthesized_expression "(iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)" (( "(") (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68" (binary_expression "iVar10 + (int)pppppiVar21[iVar17 * 4 + 3]" (identifier "iVar10") (+ "+") (cast_expression "(int)pppppiVar21[iVar17 * 4 + 3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar21[iVar17 * 4 + 3]" (identifier "pppppiVar21") ([ "[") (binary_expression "iVar17 * 4 + 3" (binary_expression "iVar17 * 4" (identifier "iVar17") (* "*") (number_literal "4")) (+ "+") (number_literal "3")) (] "]")))) (< "<") (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68"))) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000d987c;" (goto "goto") (statement_identifier "LAB_000d987c") (; ";"))) (expression_statement "pppppiVar8 = local_70;" (assignment_expression "pppppiVar8 = local_70" (identifier "pppppiVar8") (= "=") (identifier "local_70")) (; ";")) (expression_statement "piVar16 = local_78;" (assignment_expression "piVar16 = local_78" (identifier "piVar16") (= "=") (identifier "local_78")) (; ";")) (do_statement "do {\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      } while (pppppiVar8 != (int *****)local_9c);" (do "do") (compound_statement "{\n        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }\n        pppppiVar8 = pppppiVar8 + 2;\n        piVar16 = piVar16 + 1;\n      }" ({ "{") (if_statement "if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }" (if "if") (parenthesized_expression "((int)*pppppiVar8 <= (int)pppppiVar8[1])" (( "(") (binary_expression "(int)*pppppiVar8 <= (int)pppppiVar8[1]" (cast_expression "(int)*pppppiVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppiVar8" (* "*") (identifier "pppppiVar8"))) (<= "<=") (cast_expression "(int)pppppiVar8[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar8[1]" (identifier "pppppiVar8") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);\n          do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));\n        }" ({ "{") (expression_statement "piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);" (assignment_expression "piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*piVar16 + (int)*pppppiVar8 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar16 + (int)*pppppiVar8 * 8)" (( "(") (binary_expression "*piVar16 + (int)*pppppiVar8 * 8" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (+ "+") (binary_expression "(int)*pppppiVar8 * 8" (cast_expression "(int)*pppppiVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppiVar8" (* "*") (identifier "pppppiVar8"))) (* "*") (number_literal "8"))) () ")")))) (; ";")) (do_statement "do {\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));" (do "do") (compound_statement "{\n            iVar10 = *piVar11;\n            puVar1 = (uint *)(piVar11 + 1);\n            piVar2 = piVar11 + -2;\n            uVar14 = *puVar1 - piVar11[-1];\n            piVar11 = piVar11 + 2;\n            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));\n          }" ({ "{") (expression_statement "iVar10 = *piVar11;" (assignment_expression "iVar10 = *piVar11" (identifier "iVar10") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "puVar1 = (uint *)(piVar11 + 1);" (assignment_expression "puVar1 = (uint *)(piVar11 + 1)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(piVar11 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar11 + 1)" (( "(") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar2 = piVar11 + -2;" (assignment_expression "piVar2 = piVar11 + -2" (identifier "piVar2") (= "=") (binary_expression "piVar11 + -2" (identifier "piVar11") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "uVar14 = *puVar1 - piVar11[-1];" (assignment_expression "uVar14 = *puVar1 - piVar11[-1]" (identifier "uVar14") (= "=") (binary_expression "*puVar1 - piVar11[-1]" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (- "-") (subscript_expression "piVar11[-1]" (identifier "piVar11") ([ "[") (number_literal "-1") (] "]")))) (; ";")) (expression_statement "piVar11 = piVar11 + 2;" (assignment_expression "piVar11 = piVar11 + 2" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 2" (identifier "piVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));" (assignment_expression "bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" (identifier "bVar3") (= "=") (cast_expression "(bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1))" (( "(") (binary_expression "bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1)" (identifier "bVar3") (| "|") (parenthesized_expression "(iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1)" (( "(") (binary_expression "iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1" (binary_expression "iVar10 - *piVar2 != (uint)(*puVar1 < uVar14)" (binary_expression "iVar10 - *piVar2" (identifier "iVar10") (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (!= "!=") (call_expression "(uint)(*puVar1 < uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*puVar1 < uVar14)" (( "(") (binary_expression "*puVar1 < uVar14" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (< "<") (identifier "uVar14")) () ")")))) (|| "||") (binary_expression "uVar14 != 1" (identifier "uVar14") (!= "!=") (number_literal "1"))) () ")"))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8))" (( "(") (binary_expression "piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" (identifier "piVar11") (!= "!=") (cast_expression "(int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar16 + 8 + (int)pppppiVar8[1] * 8)" (( "(") (binary_expression "*piVar16 + 8 + (int)pppppiVar8[1] * 8" (binary_expression "*piVar16 + 8" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (+ "+") (number_literal "8")) (+ "+") (binary_expression "(int)pppppiVar8[1] * 8" (cast_expression "(int)pppppiVar8[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar8[1]" (identifier "pppppiVar8") ([ "[") (number_literal "1") (] "]"))) (* "*") (number_literal "8"))) () ")")))) () ")")) (; ";")) (} "}"))) (expression_statement "pppppiVar8 = pppppiVar8 + 2;" (assignment_expression "pppppiVar8 = pppppiVar8 + 2" (identifier "pppppiVar8") (= "=") (binary_expression "pppppiVar8 + 2" (identifier "pppppiVar8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" (identifier "piVar16") (= "=") (binary_expression "piVar16 + 1" (identifier "piVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppiVar8 != (int *****)local_9c)" (( "(") (binary_expression "pppppiVar8 != (int *****)local_9c" (identifier "pppppiVar8") (!= "!=") (cast_expression "(int *****)local_9c" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_9c"))) () ")")) (; ";")) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);" (assignment_expression "pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" (identifier "pppppiVar21") (= "=") (cast_expression "(int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)puVar4)(pppppiVar21,0x1006,iVar17)" (parenthesized_expression "(*(code *)puVar4)" (( "(") (pointer_expression "*(code *)puVar4" (* "*") (cast_expression "(code *)puVar4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) () ")")) (argument_list "(pppppiVar21,0x1006,iVar17)" (( "(") (identifier "pppppiVar21") (, ",") (number_literal "0x1006") (, ",") (identifier "iVar17") () ")"))))) (; ";")) (expression_statement "pppppiVar8 = pppppiVar21 + iVar17 * 4;" (assignment_expression "pppppiVar8 = pppppiVar21 + iVar17 * 4" (identifier "pppppiVar8") (= "=") (binary_expression "pppppiVar21 + iVar17 * 4" (identifier "pppppiVar21") (+ "+") (binary_expression "iVar17 * 4" (identifier "iVar17") (* "*") (number_literal "4")))) (; ";")) (expression_statement "*pppppiVar8 = local_70[0];" (assignment_expression "*pppppiVar8 = local_70[0]" (pointer_expression "*pppppiVar8" (* "*") (identifier "pppppiVar8")) (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pppppiVar8[1] = local_70[1];" (assignment_expression "pppppiVar8[1] = local_70[1]" (subscript_expression "pppppiVar8[1]" (identifier "pppppiVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppppiVar8[2] = (int ****)local_68;" (assignment_expression "pppppiVar8[2] = (int ****)local_68" (subscript_expression "pppppiVar8[2]" (identifier "pppppiVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int ****)local_68" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_68"))) (; ";")) (expression_statement "pppppiVar8[3] = local_64;" (assignment_expression "pppppiVar8[3] = local_64" (subscript_expression "pppppiVar8[3]" (identifier "pppppiVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_64")) (; ";")) (} "}"))) (expression_statement "unaff_s3 = (int *****)((int)pppppiVar19 + 1);" (assignment_expression "unaff_s3 = (int *****)((int)pppppiVar19 + 1)" (identifier "unaff_s3") (= "=") (cast_expression "(int *****)((int)pppppiVar19 + 1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppiVar19 + 1)" (( "(") (binary_expression "(int)pppppiVar19 + 1" (cast_expression "(int)pppppiVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((int)local_88[2] < (int)unaff_s3) break;" (if "if") (parenthesized_expression "((int)local_88[2] < (int)unaff_s3)" (( "(") (binary_expression "(int)local_88[2] < (int)unaff_s3" (cast_expression "(int)local_88[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]"))) (< "<") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;" (assignment_expression "pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5" (subscript_expression "pppppiVar23[(int)pppppiVar19]" (identifier "pppppiVar23") ([ "[") (cast_expression "(int)pppppiVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar19")) (] "]")) (= "=") (cast_expression "(int ****)pppppiVar5" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar5"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (if_statement "if (iVar17 < 0) goto LAB_000d9a78;" (if "if") (parenthesized_expression "(iVar17 < 0)" (( "(") (binary_expression "iVar17 < 0" (identifier "iVar17") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d9a78;" (goto "goto") (statement_identifier "LAB_000d9a78") (; ";"))) (labeled_statement "LAB_000d987c:\n  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;" (statement_identifier "LAB_000d987c") (: ":") (if_statement "if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))\n  goto LAB_000d9a68;" (if "if") (parenthesized_expression "(((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))" (( "(") (binary_expression "((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3)" (parenthesized_expression "((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0)" (( "(") (binary_expression "(int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0" (cast_expression "(int)(*(uint *)PTR_DAT_0013135c << 0xf)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(*(uint *)PTR_DAT_0013135c << 0xf)" (( "(") (binary_expression "*(uint *)PTR_DAT_0013135c << 0xf" (pointer_expression "*(uint *)PTR_DAT_0013135c" (* "*") (cast_expression "(uint *)PTR_DAT_0013135c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0013135c"))) (<< "<<") (number_literal "0xf")) () ")"))) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(ppppiVar13 = local_b4, !bVar3)" (( "(") (comma_expression "ppppiVar13 = local_b4, !bVar3" (assignment_expression "ppppiVar13 = local_b4" (identifier "ppppiVar13") (= "=") (identifier "local_b4")) (, ",") (unary_expression "!bVar3" (! "!") (identifier "bVar3"))) () ")"))) () ")")) (goto_statement "goto LAB_000d9a68;" (goto "goto") (statement_identifier "LAB_000d9a68") (; ";")))) (expression_statement "ppppiVar13 = (int ****)puVar22;" (assignment_expression "ppppiVar13 = (int ****)puVar22" (identifier "ppppiVar13") (= "=") (cast_expression "(int ****)puVar22" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "puVar22"))) (; ";")) (if_statement "if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;" (if "if") (parenthesized_expression "((*(uint *)PTR_DAT_0013135c & 0x40) != 0)" (( "(") (binary_expression "(*(uint *)PTR_DAT_0013135c & 0x40) != 0" (parenthesized_expression "(*(uint *)PTR_DAT_0013135c & 0x40)" (( "(") (binary_expression "*(uint *)PTR_DAT_0013135c & 0x40" (pointer_expression "*(uint *)PTR_DAT_0013135c" (* "*") (cast_expression "(uint *)PTR_DAT_0013135c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0013135c"))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d9a68;" (goto "goto") (statement_identifier "LAB_000d9a68") (; ";"))) (if_statement "if (local_b4 == (int ****)0x0) {\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }" (if "if") (parenthesized_expression "(local_b4 == (int ****)0x0)" (( "(") (binary_expression "local_b4 == (int ****)0x0" (identifier "local_b4") (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar10 = *(int *)PTR_DAT_00131330;\n    ppppiVar13 = *(int *****)(iVar10 + 0xc);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);\n    ppppiVar13 = *(int *****)(iVar10 + 0x10);\n    if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }\n    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);\n  }" ({ "{") (expression_statement "iVar10 = *(int *)PTR_DAT_00131330;" (assignment_expression "iVar10 = *(int *)PTR_DAT_00131330" (identifier "iVar10") (= "=") (pointer_expression "*(int *)PTR_DAT_00131330" (* "*") (cast_expression "(int *)PTR_DAT_00131330" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_00131330")))) (; ";")) (expression_statement "ppppiVar13 = *(int *****)(iVar10 + 0xc);" (assignment_expression "ppppiVar13 = *(int *****)(iVar10 + 0xc)" (identifier "ppppiVar13") (= "=") (pointer_expression "*(int *****)(iVar10 + 0xc)" (* "*") (cast_expression "(int *****)(iVar10 + 0xc)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar10 + 0xc)" (( "(") (binary_expression "iVar10 + 0xc" (identifier "iVar10") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = *param_1;\n    }" (if "if") (parenthesized_expression "(ppppiVar13 == (int ****)0x0)" (( "(") (binary_expression "ppppiVar13 == (int ****)0x0" (identifier "ppppiVar13") (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppiVar13 = *param_1;\n    }" ({ "{") (expression_statement "ppppiVar13 = *param_1;" (assignment_expression "ppppiVar13 = *param_1" (identifier "ppppiVar13") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00131e4c" (* "*") (cast_expression "(code *)PTR___printf_chk_00131e4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00131e4c"))) () ")")) (argument_list "(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13)" (( "(") (number_literal "1") (, ",") (binary_expression "PTR_FUN_001311a4 + 0x4568" (identifier "PTR_FUN_001311a4") (+ "+") (number_literal "0x4568")) (, ",") (identifier "ppppiVar13") () ")"))) (; ";")) (expression_statement "ppppiVar13 = *(int *****)(iVar10 + 0x10);" (assignment_expression "ppppiVar13 = *(int *****)(iVar10 + 0x10)" (identifier "ppppiVar13") (= "=") (pointer_expression "*(int *****)(iVar10 + 0x10)" (* "*") (cast_expression "(int *****)(iVar10 + 0x10)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar10 + 0x10)" (( "(") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (ppppiVar13 == (int ****)0x0) {\n      ppppiVar13 = param_1[1];\n    }" (if "if") (parenthesized_expression "(ppppiVar13 == (int ****)0x0)" (( "(") (binary_expression "ppppiVar13 == (int ****)0x0" (identifier "ppppiVar13") (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppiVar13 = param_1[1];\n    }" ({ "{") (expression_statement "ppppiVar13 = param_1[1];" (assignment_expression "ppppiVar13 = param_1[1]" (identifier "ppppiVar13") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00131e4c" (* "*") (cast_expression "(code *)PTR___printf_chk_00131e4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00131e4c"))) () ")")) (argument_list "(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13)" (( "(") (number_literal "1") (, ",") (binary_expression "PTR_FUN_001311a4 + 0x4570" (identifier "PTR_FUN_001311a4") (+ "+") (number_literal "0x4570")) (, ",") (identifier "ppppiVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00131e4c" (* "*") (cast_expression "(code *)PTR___printf_chk_00131e4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00131e4c"))) () ")")) (argument_list "(1,local_90 + 0x4578)" (( "(") (number_literal "1") (, ",") (binary_expression "local_90 + 0x4578" (identifier "local_90") (+ "+") (number_literal "0x4578")) () ")"))) (; ";")) (expression_statement "local_9c = (int ****)(pppppiVar21 + iVar17 * 4);" (assignment_expression "local_9c = (int ****)(pppppiVar21 + iVar17 * 4)" (identifier "local_9c") (= "=") (cast_expression "(int ****)(pppppiVar21 + iVar17 * 4)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(pppppiVar21 + iVar17 * 4)" (( "(") (binary_expression "pppppiVar21 + iVar17 * 4" (identifier "pppppiVar21") (+ "+") (binary_expression "iVar17 * 4" (identifier "iVar17") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "local_ac = (int ****)local_70;" (assignment_expression "local_ac = (int ****)local_70" (identifier "local_ac") (= "=") (cast_expression "(int ****)local_70" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_70"))) (; ";")) (expression_statement "pppppiVar19 = (int *****)local_9c + 1;" (assignment_expression "pppppiVar19 = (int *****)local_9c + 1" (identifier "pppppiVar19") (= "=") (binary_expression "(int *****)local_9c + 1" (cast_expression "(int *****)local_9c" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_9c")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_b4 = (int ****)(local_88 + 2);" (assignment_expression "local_b4 = (int ****)(local_88 + 2)" (identifier "local_b4") (= "=") (cast_expression "(int ****)(local_88 + 2)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(local_88 + 2)" (( "(") (binary_expression "local_88 + 2" (identifier "local_88") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" (identifier "iVar10") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar17 = *(int *)PTR_DAT_00131330;" (assignment_expression "iVar17 = *(int *)PTR_DAT_00131330" (identifier "iVar17") (= "=") (pointer_expression "*(int *)PTR_DAT_00131330" (* "*") (cast_expression "(int *)PTR_DAT_00131330" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_00131330")))) (; ";")) (expression_statement "local_a8 = (int ****)pppppiVar21;" (assignment_expression "local_a8 = (int ****)pppppiVar21" (identifier "local_a8") (= "=") (cast_expression "(int ****)pppppiVar21" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppiVar21"))) (; ";")) (do_statement "do {\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  } while( true );" (do "do") (compound_statement "{\n    iVar20 = *(int *)(iVar17 + 4);\n    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);\n    if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }\n    *local_ac = (int ***)ppppiVar13;\n    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);\n    ppppiVar15 = (int ****)*local_b4;\n    if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }\n    local_ac[1] = (int ***)ppppiVar15;\n    if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }\n    local_a8 = local_a8 + 2;\n    local_ac = local_ac + 2;\n    pppppiVar19 = pppppiVar19 + 2;\n    local_b4 = local_b4 + 1;\n    iVar10 = iVar10 + 1;\n  }" ({ "{") (expression_statement "iVar20 = *(int *)(iVar17 + 4);" (assignment_expression "iVar20 = *(int *)(iVar17 + 4)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar17 + 4)" (* "*") (cast_expression "(int *)(iVar17 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 4)" (( "(") (binary_expression "iVar17 + 4" (identifier "iVar17") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "ppppiVar13 = (int ****)((int)*local_a8 - iVar20);" (assignment_expression "ppppiVar13 = (int ****)((int)*local_a8 - iVar20)" (identifier "ppppiVar13") (= "=") (cast_expression "(int ****)((int)*local_a8 - iVar20)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)*local_a8 - iVar20)" (( "(") (binary_expression "(int)*local_a8 - iVar20" (cast_expression "(int)*local_a8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8"))) (- "-") (identifier "iVar20")) () ")")))) (; ";")) (if_statement "if ((int)ppppiVar13 < 1) {\n      ppppiVar13 = (int ****)0x1;\n    }" (if "if") (parenthesized_expression "((int)ppppiVar13 < 1)" (( "(") (binary_expression "(int)ppppiVar13 < 1" (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      ppppiVar13 = (int ****)0x1;\n    }" ({ "{") (expression_statement "ppppiVar13 = (int ****)0x1;" (assignment_expression "ppppiVar13 = (int ****)0x1" (identifier "ppppiVar13") (= "=") (cast_expression "(int ****)0x1" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (} "}"))) (expression_statement "*local_ac = (int ***)ppppiVar13;" (assignment_expression "*local_ac = (int ***)ppppiVar13" (pointer_expression "*local_ac" (* "*") (identifier "local_ac")) (= "=") (cast_expression "(int ***)ppppiVar13" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar13"))) (; ";")) (expression_statement "ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);" (assignment_expression "ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19)" (identifier "ppppiVar12") (= "=") (cast_expression "(int ****)(iVar20 + (int)*pppppiVar19)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar20 + (int)*pppppiVar19)" (( "(") (binary_expression "iVar20 + (int)*pppppiVar19" (identifier "iVar20") (+ "+") (cast_expression "(int)*pppppiVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppiVar19" (* "*") (identifier "pppppiVar19")))) () ")")))) (; ";")) (expression_statement "ppppiVar15 = (int ****)*local_b4;" (assignment_expression "ppppiVar15 = (int ****)*local_b4" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)*local_b4" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*local_b4" (* "*") (identifier "local_b4")))) (; ";")) (if_statement "if ((int)ppppiVar12 <= (int)*local_b4) {\n      ppppiVar15 = ppppiVar12;\n    }" (if "if") (parenthesized_expression "((int)ppppiVar12 <= (int)*local_b4)" (( "(") (binary_expression "(int)ppppiVar12 <= (int)*local_b4" (cast_expression "(int)ppppiVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar12")) (<= "<=") (cast_expression "(int)*local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*local_b4" (* "*") (identifier "local_b4")))) () ")")) (compound_statement "{\n      ppppiVar15 = ppppiVar12;\n    }" ({ "{") (expression_statement "ppppiVar15 = ppppiVar12;" (assignment_expression "ppppiVar15 = ppppiVar12" (identifier "ppppiVar15") (= "=") (identifier "ppppiVar12")) (; ";")) (} "}"))) (expression_statement "local_ac[1] = (int ***)ppppiVar15;" (assignment_expression "local_ac[1] = (int ***)ppppiVar15" (subscript_expression "local_ac[1]" (identifier "local_ac") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int ***)ppppiVar15" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar15"))) (; ";")) (if_statement "if (iVar10 == 1) {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }\n    else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" (if "if") (parenthesized_expression "(iVar10 == 1)" (( "(") (binary_expression "iVar10 == 1" (identifier "iVar10") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;\n    }" ({ "{") (expression_statement "ppppiVar12 = ppppiVar15;" (assignment_expression "ppppiVar12 = ppppiVar15" (identifier "ppppiVar12") (= "=") (identifier "ppppiVar15")) (; ";")) (if_statement "if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }" (if "if") (parenthesized_expression "((int)ppppiVar13 <= (int)ppppiVar15)" (( "(") (binary_expression "(int)ppppiVar13 <= (int)ppppiVar15" (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13")) (<= "<=") (cast_expression "(int)ppppiVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar15"))) () ")")) (compound_statement "{\n        ppppiVar12 = ppppiVar13;\n      }" ({ "{") (expression_statement "ppppiVar12 = ppppiVar13;" (assignment_expression "ppppiVar12 = ppppiVar13" (identifier "ppppiVar12") (= "=") (identifier "ppppiVar13")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00131e4c" (* "*") (cast_expression "(code *)PTR___printf_chk_00131e4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00131e4c"))) () ")")) (argument_list "(1,local_a0,0x2d,ppppiVar12)" (( "(") (number_literal "1") (, ",") (identifier "local_a0") (, ",") (number_literal "0x2d") (, ",") (identifier "ppppiVar12") () ")"))) (; ";")) (if_statement "if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;" (if "if") (parenthesized_expression "(ppppiVar13 != ppppiVar15)" (( "(") (binary_expression "ppppiVar13 != ppppiVar15" (identifier "ppppiVar13") (!= "!=") (identifier "ppppiVar15")) () ")")) (goto_statement "goto LAB_000d99d8;" (goto "goto") (statement_identifier "LAB_000d99d8") (; ";"))) (} "}")) (else_clause "else {\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" (else "else") (compound_statement "{\n      ppppiVar12 = ppppiVar15;\n      if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }\n      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);\n      if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }\n      if (1 < iVar10) break;\n    }" ({ "{") (expression_statement "ppppiVar12 = ppppiVar15;" (assignment_expression "ppppiVar12 = ppppiVar15" (identifier "ppppiVar12") (= "=") (identifier "ppppiVar15")) (; ";")) (if_statement "if ((int)ppppiVar13 <= (int)ppppiVar15) {\n        ppppiVar12 = ppppiVar13;\n      }" (if "if") (parenthesized_expression "((int)ppppiVar13 <= (int)ppppiVar15)" (( "(") (binary_expression "(int)ppppiVar13 <= (int)ppppiVar15" (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13")) (<= "<=") (cast_expression "(int)ppppiVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar15"))) () ")")) (compound_statement "{\n        ppppiVar12 = ppppiVar13;\n      }" ({ "{") (expression_statement "ppppiVar12 = ppppiVar13;" (assignment_expression "ppppiVar12 = ppppiVar13" (identifier "ppppiVar12") (= "=") (identifier "ppppiVar13")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00131e4c" (* "*") (cast_expression "(code *)PTR___printf_chk_00131e4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00131e4c"))) () ")")) (argument_list "(1,local_a0,0x2b,ppppiVar12)" (( "(") (number_literal "1") (, ",") (identifier "local_a0") (, ",") (number_literal "0x2b") (, ",") (identifier "ppppiVar12") () ")"))) (; ";")) (if_statement "if (ppppiVar13 != ppppiVar15) {\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }" (if "if") (parenthesized_expression "(ppppiVar13 != ppppiVar15)" (( "(") (binary_expression "ppppiVar13 != ppppiVar15" (identifier "ppppiVar13") (!= "!=") (identifier "ppppiVar15")) () ")")) (compound_statement "{\nLAB_000d99d8:\n        iVar20 = iVar7;\n        if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }\n        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);\n      }" ({ "{") (labeled_statement "LAB_000d99d8:\n        iVar20 = iVar7;" (statement_identifier "LAB_000d99d8") (: ":") (expression_statement "iVar20 = iVar7;" (assignment_expression "iVar20 = iVar7" (identifier "iVar20") (= "=") (identifier "iVar7")) (; ";"))) (if_statement "if ((int)ppppiVar13 < (int)ppppiVar15) {\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }" (if "if") (parenthesized_expression "((int)ppppiVar13 < (int)ppppiVar15)" (( "(") (binary_expression "(int)ppppiVar13 < (int)ppppiVar15" (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13")) (< "<") (cast_expression "(int)ppppiVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar15"))) () ")")) (compound_statement "{\n          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);\n        }" ({ "{") (expression_statement "iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);" (assignment_expression "iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13)" (identifier "iVar20") (= "=") (binary_expression "(int)ppppiVar15 + (1 - (int)ppppiVar13)" (cast_expression "(int)ppppiVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar15")) (+ "+") (parenthesized_expression "(1 - (int)ppppiVar13)" (( "(") (binary_expression "1 - (int)ppppiVar13" (number_literal "1") (- "-") (cast_expression "(int)ppppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar13"))) () ")")))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);" (call_expression "(*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20)" (parenthesized_expression "(*(code *)PTR___printf_chk_00131e4c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00131e4c" (* "*") (cast_expression "(code *)PTR___printf_chk_00131e4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00131e4c"))) () ")")) (argument_list "(1,local_8c,iVar20)" (( "(") (number_literal "1") (, ",") (identifier "local_8c") (, ",") (identifier "iVar20") () ")"))) (; ";")) (} "}"))) (if_statement "if (1 < iVar10) break;" (if "if") (parenthesized_expression "(1 < iVar10)" (( "(") (binary_expression "1 < iVar10" (number_literal "1") (< "<") (identifier "iVar10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (expression_statement "local_a8 = local_a8 + 2;" (assignment_expression "local_a8 = local_a8 + 2" (identifier "local_a8") (= "=") (binary_expression "local_a8 + 2" (identifier "local_a8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_ac = local_ac + 2;" (assignment_expression "local_ac = local_ac + 2" (identifier "local_ac") (= "=") (binary_expression "local_ac + 2" (identifier "local_ac") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pppppiVar19 = pppppiVar19 + 2;" (assignment_expression "pppppiVar19 = pppppiVar19 + 2" (identifier "pppppiVar19") (= "=") (binary_expression "pppppiVar19 + 2" (identifier "pppppiVar19") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" (identifier "local_b4") (= "=") (binary_expression "local_b4 + 1" (identifier "local_b4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (expression_statement "(*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);" (call_expression "(*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588)" (parenthesized_expression "(*(code *)PTR_puts_00131fd0)" (( "(") (pointer_expression "*(code *)PTR_puts_00131fd0" (* "*") (cast_expression "(code *)PTR_puts_00131fd0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_00131fd0"))) () ")")) (argument_list "(PTR_FUN_001311a4 + 0x4588)" (( "(") (binary_expression "PTR_FUN_001311a4 + 0x4588" (identifier "PTR_FUN_001311a4") (+ "+") (number_literal "0x4588")) () ")"))) (; ";")) (expression_statement "pppppiVar19 = local_60;" (assignment_expression "pppppiVar19 = local_60" (identifier "pppppiVar19") (= "=") (identifier "local_60")) (; ";")) (expression_statement "pppppiVar5 = local_50;" (assignment_expression "pppppiVar5 = local_50" (identifier "pppppiVar5") (= "=") (identifier "local_50")) (; ";")) (expression_statement "pppppiVar8 = (int *****)local_70[0];" (assignment_expression "pppppiVar8 = (int *****)local_70[0]" (identifier "pppppiVar8") (= "=") (cast_expression "(int *****)local_70[0]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pppppiVar6 = pppppiVar21;" (assignment_expression "pppppiVar6 = pppppiVar21" (identifier "pppppiVar6") (= "=") (identifier "pppppiVar21")) (; ";")) (do_statement "do {\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  } while( true );" (do "do") (compound_statement "{\n    pppppiVar18 = pppppiVar21;\n    if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }\n    (*local_b0)(pppppiVar19);\n    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);\n    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);\n    pppppiVar21 = pppppiVar18 + 4;\n    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);\n  }" ({ "{") (expression_statement "pppppiVar18 = pppppiVar21;" (assignment_expression "pppppiVar18 = pppppiVar21" (identifier "pppppiVar18") (= "=") (identifier "pppppiVar21")) (; ";")) (if_statement "if (local_9c < pppppiVar21) {\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }" (if "if") (parenthesized_expression "(local_9c < pppppiVar21)" (( "(") (binary_expression "local_9c < pppppiVar21" (identifier "local_9c") (< "<") (identifier "pppppiVar21")) () ")")) (compound_statement "{\n      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);\n      pppppiVar21 = pppppiVar6;\n      ppppiVar13 = (int ****)puVar22;\nLAB_000d9a68:\n      local_b4 = ppppiVar13;\n      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;\nLAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);\n      (*(code *)PTR_free_00132180)(local_78[0]);\n      (*(code *)PTR_free_00132180)(local_78[1]);\n      (*(code *)PTR_free_00132180)(pppppiVar23);\n      pppppiVar24 = pppppiVar5;\n      if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }\nLAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;\n      FUN_000f12b4(local_88[0]);\n      FUN_000f12b4(local_88[1]);\n      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }\n      (*(code *)PTR___stack_chk_fail_001320e4)();\n      pppppiVar6 = pppppiVar21;\n      pppppiVar5 = pppppiVar24;\n    }" ({ "{") (expression_statement "(*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);" (call_expression "(*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20)" (parenthesized_expression "(*local_b0)" (( "(") (pointer_expression "*local_b0" (* "*") (identifier "local_b0")) () ")")) (argument_list "(local_60,local_78[0],pppppiVar8,local_70[1],0x20)" (( "(") (identifier "local_60") (, ",") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (, ",") (identifier "pppppiVar8") (, ",") (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "pppppiVar21 = pppppiVar6;" (assignment_expression "pppppiVar21 = pppppiVar6" (identifier "pppppiVar21") (= "=") (identifier "pppppiVar6")) (; ";")) (expression_statement "ppppiVar13 = (int ****)puVar22;" (assignment_expression "ppppiVar13 = (int ****)puVar22" (identifier "ppppiVar13") (= "=") (cast_expression "(int ****)puVar22" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "puVar22"))) (; ";")) (labeled_statement "LAB_000d9a68:\n      local_b4 = ppppiVar13;" (statement_identifier "LAB_000d9a68") (: ":") (expression_statement "local_b4 = ppppiVar13;" (assignment_expression "local_b4 = ppppiVar13" (identifier "local_b4") (= "=") (identifier "ppppiVar13")) (; ";"))) (if_statement "if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;" (if "if") (parenthesized_expression "((int)unaff_s3 <= (int)local_88[2])" (( "(") (binary_expression "(int)unaff_s3 <= (int)local_88[2]" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (<= "<=") (cast_expression "(int)local_88[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")))) () ")")) (goto_statement "goto LAB_000d9610;" (goto "goto") (statement_identifier "LAB_000d9610") (; ";"))) (labeled_statement "LAB_000d9a78:\n      (*(code *)PTR_free_00132180)(pppppiVar21);" (statement_identifier "LAB_000d9a78") (: ":") (expression_statement "(*(code *)PTR_free_00132180)(pppppiVar21);" (call_expression "(*(code *)PTR_free_00132180)(pppppiVar21)" (parenthesized_expression "(*(code *)PTR_free_00132180)" (( "(") (pointer_expression "*(code *)PTR_free_00132180" (* "*") (cast_expression "(code *)PTR_free_00132180" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_00132180"))) () ")")) (argument_list "(pppppiVar21)" (( "(") (identifier "pppppiVar21") () ")"))) (; ";"))) (expression_statement "(*(code *)PTR_free_00132180)(local_78[0]);" (call_expression "(*(code *)PTR_free_00132180)(local_78[0])" (parenthesized_expression "(*(code *)PTR_free_00132180)" (( "(") (pointer_expression "*(code *)PTR_free_00132180" (* "*") (cast_expression "(code *)PTR_free_00132180" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_00132180"))) () ")")) (argument_list "(local_78[0])" (( "(") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_00132180)(local_78[1]);" (call_expression "(*(code *)PTR_free_00132180)(local_78[1])" (parenthesized_expression "(*(code *)PTR_free_00132180)" (( "(") (pointer_expression "*(code *)PTR_free_00132180" (* "*") (cast_expression "(code *)PTR_free_00132180" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_00132180"))) () ")")) (argument_list "(local_78[1])" (( "(") (subscript_expression "local_78[1]" (identifier "local_78") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_00132180)(pppppiVar23);" (call_expression "(*(code *)PTR_free_00132180)(pppppiVar23)" (parenthesized_expression "(*(code *)PTR_free_00132180)" (( "(") (pointer_expression "*(code *)PTR_free_00132180" (* "*") (cast_expression "(code *)PTR_free_00132180" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_00132180"))) () ")")) (argument_list "(pppppiVar23)" (( "(") (identifier "pppppiVar23") () ")"))) (; ";")) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" (identifier "pppppiVar24") (= "=") (identifier "pppppiVar5")) (; ";")) (if_statement "if (local_b4 != (int ****)0x0) {\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }" (if "if") (parenthesized_expression "(local_b4 != (int ****)0x0)" (( "(") (binary_expression "local_b4 != (int ****)0x0" (identifier "local_b4") (!= "!=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar7 = 1;\nLAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;\n        pppppiVar24 = pppppiVar5;\n      }" ({ "{") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000d9ad8:\n        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;" (statement_identifier "LAB_000d9ad8") (: ":") (expression_statement "**(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;" (assignment_expression "**(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1" (pointer_expression "**(byte **)PTR_DAT_00131330" (* "*") (pointer_expression "*(byte **)PTR_DAT_00131330" (* "*") (cast_expression "(byte **)PTR_DAT_00131330" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_00131330")))) (= "=") (binary_expression "**(byte **)PTR_DAT_00131330 | 1" (pointer_expression "**(byte **)PTR_DAT_00131330" (* "*") (pointer_expression "*(byte **)PTR_DAT_00131330" (* "*") (cast_expression "(byte **)PTR_DAT_00131330" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_00131330")))) (| "|") (number_literal "1"))) (; ";"))) (expression_statement "pppppiVar24 = pppppiVar5;" (assignment_expression "pppppiVar24 = pppppiVar5" (identifier "pppppiVar24") (= "=") (identifier "pppppiVar5")) (; ";")) (} "}"))) (labeled_statement "LAB_000d9af0:\n      pppppiVar18 = (int *****)PTR_FUN_00131418;" (statement_identifier "LAB_000d9af0") (: ":") (expression_statement "pppppiVar18 = (int *****)PTR_FUN_00131418;" (assignment_expression "pppppiVar18 = (int *****)PTR_FUN_00131418" (identifier "pppppiVar18") (= "=") (cast_expression "(int *****)PTR_FUN_00131418" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR_FUN_00131418"))) (; ";"))) (expression_statement "FUN_000f12b4(local_88[0]);" (call_expression "FUN_000f12b4(local_88[0])" (identifier "FUN_000f12b4") (argument_list "(local_88[0])" (( "(") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_000f12b4(local_88[1]);" (call_expression "FUN_000f12b4(local_88[1])" (identifier "FUN_000f12b4") (argument_list "(local_88[1])" (( "(") (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (if_statement "if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {\n        return iVar7;\n      }" (if "if") (parenthesized_expression "(local_2c == *(int *)PTR___stack_chk_guard_00132164)" (( "(") (binary_expression "local_2c == *(int *)PTR___stack_chk_guard_00132164" (identifier "local_2c") (== "==") (pointer_expression "*(int *)PTR___stack_chk_guard_00132164" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00132164" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00132164")))) () ")")) (compound_statement "{\n        return iVar7;\n      }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_001320e4)();" (call_expression "(*(code *)PTR___stack_chk_fail_001320e4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001320e4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_001320e4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_001320e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_001320e4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppiVar6 = pppppiVar21;" (assignment_expression "pppppiVar6 = pppppiVar21" (identifier "pppppiVar6") (= "=") (identifier "pppppiVar21")) (; ";")) (expression_statement "pppppiVar5 = pppppiVar24;" (assignment_expression "pppppiVar5 = pppppiVar24" (identifier "pppppiVar5") (= "=") (identifier "pppppiVar24")) (; ";")) (} "}"))) (expression_statement "(*local_b0)(pppppiVar19);" (call_expression "(*local_b0)(pppppiVar19)" (parenthesized_expression "(*local_b0)" (( "(") (pointer_expression "*local_b0" (* "*") (identifier "local_b0")) () ")")) (argument_list "(pppppiVar19)" (( "(") (identifier "pppppiVar19") () ")"))) (; ";")) (expression_statement "(*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);" (call_expression "(*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d)" (parenthesized_expression "(*local_b0)" (( "(") (pointer_expression "*local_b0" (* "*") (identifier "local_b0")) () ")")) (argument_list "(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d)" (( "(") (identifier "pppppiVar19") (, ",") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (, ",") (pointer_expression "*pppppiVar18" (* "*") (identifier "pppppiVar18")) (, ",") (subscript_expression "pppppiVar18[1]" (identifier "pppppiVar18") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0x2d") () ")"))) (; ";")) (expression_statement "(*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);" (call_expression "(*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b)" (parenthesized_expression "(*local_b0)" (( "(") (pointer_expression "*local_b0" (* "*") (identifier "local_b0")) () ")")) (argument_list "(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b)" (( "(") (identifier "pppppiVar5") (, ",") (subscript_expression "local_78[1]" (identifier "local_78") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "pppppiVar18[2]" (identifier "pppppiVar18") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "pppppiVar18[3]" (identifier "pppppiVar18") ([ "[") (number_literal "3") (] "]")) (, ",") (number_literal "0x2b") () ")"))) (; ";")) (expression_statement "pppppiVar21 = pppppiVar18 + 4;" (assignment_expression "pppppiVar21 = pppppiVar18 + 4" (identifier "pppppiVar21") (= "=") (binary_expression "pppppiVar18 + 4" (identifier "pppppiVar18") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);" (assignment_expression "pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1)" (identifier "pppppiVar8") (= "=") (cast_expression "(int *****)((int)pppppiVar18[1] + 1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppiVar18[1] + 1)" (( "(") (binary_expression "(int)pppppiVar18[1] + 1" (cast_expression "(int)pppppiVar18[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar18[1]" (identifier "pppppiVar18") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) body: (compound_statement (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal))))))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (char_literal (character)))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (identifier) (number_literal))))))))))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (pointer_expression argument: (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 (pointer_expression argument: (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) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (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 (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 (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (identifier) (number_literal) (number_literal) (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (identifier) (number_literal) (number_literal) (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (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: (false))) (expression_statement (assignment_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (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: (identifier))) right: (number_literal))))) right: (number_literal)) right: (number_literal))) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (identifier) (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier))))) condition: (parenthesized_expression (true))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (unary_expression argument: (identifier)))))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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) (binary_expression left: (identifier) right: (number_literal)) (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 declarator: (abstract_pointer_declarator 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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (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)) (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) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (do_statement body: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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) (identifier) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (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) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (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) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))) (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 (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_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 (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 (subscript_expression argument: (identifier) index: (number_literal))))) (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 (subscript_expression argument: (identifier) index: (number_literal))))) (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 (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (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 (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (true))))))

int MASKED(int *****param_1)

{
  uint *puVar1;
  int *piVar2;
  bool bVar3;
  undefined *puVar4;
  int *****pppppiVar5;
  int *****pppppiVar6;
  int iVar7;
  int *****pppppiVar8;
  char *pcVar9;
  int iVar10;
  int *piVar11;
  int ****ppppiVar12;
  int ****ppppiVar13;
  uint uVar14;
  int ****ppppiVar15;
  int *piVar16;
  int iVar17;
  int *****pppppiVar18;
  int *****pppppiVar19;
  int iVar20;
  int *****unaff_s3;
  int *****pppppiVar21;
  undefined1 *puVar22;
  int *****pppppiVar23;
  int *****pppppiVar24;
  undefined *puVar25;
  longlong lVar26;
  int ****local_b4;
  code *local_b0;
  int ****local_ac;
  int ****local_a8;
  undefined *local_a0;
  int ****local_9c;
  undefined *local_90;
  undefined *local_8c;
  int ****local_88 [4];
  int local_78 [2];
  int ****local_70 [2];
  int ***local_68;
  int ****local_64;
  int ****local_60 [4];
  int ****local_50 [5];
  int ****local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined2 local_30;
  undefined1 local_2e;
  int local_2c;
  
  pppppiVar21 = (int *****)PTR_FUN_001311a4;
  local_2c = *(int *)PTR___stack_chk_guard_00132164;
  local_88[0] = *(int *****)PTR_stdin_00131efc;
  pppppiVar19 = local_88;
  pppppiVar24 = param_1 + 2;
  puVar22 = PTR_LAB_0013118c + 0x6e58;
  pppppiVar23 = *(int ******)(PTR_FUN_001311a4 + 0x458c);
  pppppiVar8 = param_1;
  local_88[1] = local_88[0];
  do {
    ppppiVar13 = *pppppiVar8;
    if ((*(char *)ppppiVar13 == '-') && (*(char *)((int)ppppiVar13 + 1) == '\0')) {
      pppppiVar5 = (int *****)0x0;
    }
    else if ((*(uint *)PTR_DAT_0013135c & 0x20) == 0) {
      pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131400)();
      if (pppppiVar5 == (int *****)0xffffffff) {
        iVar7 = 0;
        goto LAB_000d9af0;
      }
    }
    else {
      pppppiVar5 = (int *****)(*(code *)PTR_open64_00131f1c)(ppppiVar13,0);
      if (pppppiVar5 == (int *****)0xffffffff) {
        pppppiVar5 = (int *****)(*(code *)PTR_FUN_00131294)(puVar22,0);
      }
    }
    lVar26 = (*(code *)PTR_lseek64_00132014)(pppppiVar5);
    pppppiVar6 = pppppiVar5;
    if ((lVar26 == -1) && (**(int **)PTR_DAT_001311d8 == 0x1d)) {
      local_38 = *(undefined4 *)((int)pppppiVar21 + 0x4590);
      local_34 = *(undefined4 *)((int)pppppiVar21 + 0x4594);
      local_30 = *(undefined2 *)((int)pppppiVar21 + 0x4598);
      local_2e = *(undefined1 *)((int)pppppiVar21 + 0x459a);
      local_3c = (int ****)pppppiVar23;
      pppppiVar6 = (int *****)(*(code *)PTR_FUN_00131b60)(&local_3c);
      (*(code *)PTR_unlink_001320a8)(&local_3c);
      iVar7 = (*(code *)PTR_FUN_00131394)(pppppiVar5,pppppiVar6);
      if (iVar7 < 0) {
        iVar7 = (*(code *)PTR_FUN_001311b4)();
        return iVar7;
      }
      if (pppppiVar5 != (int *****)0x0) {
        (*(code *)PTR_close_00131ca8)(pppppiVar5);
      }
      (*(code *)PTR_FUN_001316c8)(pppppiVar6);
      unaff_s3 = pppppiVar6;
    }
    ppppiVar13 = (int ****)
                 (*(code *)PTR_fdopen_001321f0)(pppppiVar6,(undefined *)((int)pppppiVar21 + 0x2244))
    ;
    pppppiVar5 = (int *****)PTR_bb_common_bufsiz1_0013136c;
    *pppppiVar19 = ppppiVar13;
    pppppiVar8 = pppppiVar8 + 1;
    pppppiVar19 = pppppiVar19 + 1;
  } while (pppppiVar8 != pppppiVar24);
  puVar22 = (undefined1 *)0x0;
  pppppiVar19 = (int *****)0x0;
  puVar25 = PTR_bb_common_bufsiz1_0013136c + 0x200;
  local_b4 = (int ****)&DAT_00000001;
  while( true ) {
    pppppiVar23 = (int *****)local_88[0];
    unaff_s3 = (int *****)(*(code *)PTR_fread_00132024)(pppppiVar5,1,0x200,local_88[0]);
    pppppiVar21 = (int *****)local_88[1];
    pppppiVar8 = (int *****)(*(code *)PTR_fread_00132024)(puVar25,1,0x200,local_88[1]);
    if (unaff_s3 != pppppiVar8) {
      if ((int)unaff_s3 < (int)pppppiVar8) {
        pppppiVar8 = unaff_s3;
      }
      puVar22 = &DAT_00000001;
    }
    if (pppppiVar8 == (int *****)0x0) break;
    if (0 < (int)pppppiVar8) {
      pcVar9 = PTR_bb_common_bufsiz1_0013136c;
      do {
        pppppiVar21 = (int *****)local_b4;
        if ((*pcVar9 == '\0') || (pppppiVar21 = pppppiVar19, pcVar9[0x200] != '\0')) {
          pppppiVar19 = pppppiVar21;
          if (pcVar9[0x200] != *pcVar9) {
            puVar22 = &DAT_00000001;
          }
        }
        else {
          puVar22 = &DAT_00000001;
          pppppiVar19 = (int *****)local_b4;
        }
        pcVar9 = pcVar9 + 1;
      } while (pcVar9 != (char *)((int)pppppiVar8 + (int)PTR_bb_common_bufsiz1_0013136c));
    }
  }
  iVar7 = 0;
  pppppiVar24 = pppppiVar5;
  if (puVar22 == (undefined1 *)0x0) goto LAB_000d9af0;
  if ((pppppiVar19 != (int *****)0x0) && ((*(uint *)PTR_DAT_0013135c & 1) == 0)) {
    iVar7 = 2;
    goto LAB_000d9ad8;
  }
  local_60[0] = (int ****)pppppiVar23;
  local_50[0] = (int ****)pppppiVar21;
  pppppiVar23 = (int *****)FUN_000d8328(local_60,local_88 + 2,local_78);
  local_b4 = (int ****)0x0;
  unaff_s3 = (int *****)&DAT_00000001;
  pppppiVar21 = (int *****)0x0;
  local_90 = PTR_FUN_001311a4;
  local_a0 = PTR_FUN_001311a4 + 0x457c;
  local_8c = PTR_FUN_001311a4 + 0x4584;
  local_b0 = (code *)(PTR_LAB_00131bf8 + -0x708c);
LAB_000d9610:
  puVar4 = PTR_FUN_001313dc;
  puVar25 = PTR_DAT_00131330;
  bVar3 = false;
  iVar17 = -1;
  local_9c = (int ****)local_60;
  do {
    local_70[0] = (int ****)unaff_s3;
    if (((int)unaff_s3 <= (int)local_88[2]) &&
       (pppppiVar19 = pppppiVar23 + (int)unaff_s3,
       *pppppiVar19 == (int ****)((int)pppppiVar19[-1] + 1))) {
      do {
        local_70[0] = (int ****)((int)local_70[0] + 1);
        if ((int)local_88[2] < (int)local_70[0]) {
          goto LAB_000d9698;
        }
        ppppiVar13 = *pppppiVar19;
        pppppiVar8 = pppppiVar19 + 1;
        pppppiVar19 = pppppiVar19 + 1;
      } while (*pppppiVar8 == (int ****)((int)ppppiVar13 + 1));
    }
LAB_000d9698:
    local_68 = (int ***)((int)pppppiVar23[(int)((int)local_70[0] + 0x3fffffff)] + 1);
    local_70[1] = (int ****)((int)local_70[0] + -1);
    if (((int)local_70[0] + -1 < (int)local_88[2]) &&
       (pppppiVar8 = pppppiVar23 + (int)(local_70[0] + 0x10000000),
       pppppiVar19 = (int *****)local_70[0], *pppppiVar8 == (int ****)0x0)) {
      do {
        local_70[1] = (int ****)pppppiVar19;
        if (local_70[1] == local_88[2]) {
          goto LAB_000d96f8;
        }
        pppppiVar24 = pppppiVar8 + 1;
        pppppiVar8 = pppppiVar8 + 1;
        pppppiVar19 = (int *****)((int)local_70[1] + 1);
      } while (*pppppiVar24 == (int ****)0x0);
    }
LAB_000d96f8:
    pppppiVar19 = (int *****)local_70[1];
    pppppiVar5 = (int *****)((int)pppppiVar23[(int)((int)local_70[1] + 1)] + -1);
    local_64 = (int ****)pppppiVar5;
    if (((int)local_70[0] <= (int)local_70[1]) || ((int)local_68 <= (int)pppppiVar5)) {
      if ((-1 < iVar17) &&
         ((iVar10 = *(int *)(*(int *)puVar25 + 4) * 2 + 1,
          iVar10 + (int)pppppiVar21[iVar17 * 4 + 1] < (int)local_70[0] &&
          (iVar10 + (int)pppppiVar21[iVar17 * 4 + 3] < (int)local_68)))) goto LAB_000d987c;
      pppppiVar8 = local_70;
      piVar16 = local_78;
      do {
        if ((int)*pppppiVar8 <= (int)pppppiVar8[1]) {
          piVar11 = (int *)(*piVar16 + (int)*pppppiVar8 * 8);
          do {
            iVar10 = *piVar11;
            puVar1 = (uint *)(piVar11 + 1);
            piVar2 = piVar11 + -2;
            uVar14 = *puVar1 - piVar11[-1];
            piVar11 = piVar11 + 2;
            bVar3 = (bool)(bVar3 | (iVar10 - *piVar2 != (uint)(*puVar1 < uVar14) || uVar14 != 1));
          } while (piVar11 != (int *)(*piVar16 + 8 + (int)pppppiVar8[1] * 8));
        }
        pppppiVar8 = pppppiVar8 + 2;
        piVar16 = piVar16 + 1;
      } while (pppppiVar8 != (int *****)local_9c);
      iVar17 = iVar17 + 1;
      pppppiVar21 = (int *****)(*(code *)puVar4)(pppppiVar21,0x1006,iVar17);
      pppppiVar8 = pppppiVar21 + iVar17 * 4;
      *pppppiVar8 = local_70[0];
      pppppiVar8[1] = local_70[1];
      pppppiVar8[2] = (int ****)local_68;
      pppppiVar8[3] = local_64;
    }
    unaff_s3 = (int *****)((int)pppppiVar19 + 1);
    if ((int)local_88[2] < (int)unaff_s3) break;
    pppppiVar23[(int)pppppiVar19] = (int ****)pppppiVar5;
  } while( true );
  if (iVar17 < 0) goto LAB_000d9a78;
LAB_000d987c:
  if (((int)(*(uint *)PTR_DAT_0013135c << 0xf) < 0) && (ppppiVar13 = local_b4, !bVar3))
  goto LAB_000d9a68;
  ppppiVar13 = (int ****)puVar22;
  if ((*(uint *)PTR_DAT_0013135c & 0x40) != 0) goto LAB_000d9a68;
  if (local_b4 == (int ****)0x0) {
    iVar10 = *(int *)PTR_DAT_00131330;
    ppppiVar13 = *(int *****)(iVar10 + 0xc);
    if (ppppiVar13 == (int ****)0x0) {
      ppppiVar13 = *param_1;
    }
    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4568,ppppiVar13);
    ppppiVar13 = *(int *****)(iVar10 + 0x10);
    if (ppppiVar13 == (int ****)0x0) {
      ppppiVar13 = param_1[1];
    }
    (*(code *)PTR___printf_chk_00131e4c)(1,PTR_FUN_001311a4 + 0x4570,ppppiVar13);
  }
  (*(code *)PTR___printf_chk_00131e4c)(1,local_90 + 0x4578);
  local_9c = (int ****)(pppppiVar21 + iVar17 * 4);
  local_ac = (int ****)local_70;
  pppppiVar19 = (int *****)local_9c + 1;
  local_b4 = (int ****)(local_88 + 2);
  iVar10 = 1;
  iVar17 = *(int *)PTR_DAT_00131330;
  local_a8 = (int ****)pppppiVar21;
  do {
    iVar20 = *(int *)(iVar17 + 4);
    ppppiVar13 = (int ****)((int)*local_a8 - iVar20);
    if ((int)ppppiVar13 < 1) {
      ppppiVar13 = (int ****)0x1;
    }
    *local_ac = (int ***)ppppiVar13;
    ppppiVar12 = (int ****)(iVar20 + (int)*pppppiVar19);
    ppppiVar15 = (int ****)*local_b4;
    if ((int)ppppiVar12 <= (int)*local_b4) {
      ppppiVar15 = ppppiVar12;
    }
    local_ac[1] = (int ***)ppppiVar15;
    if (iVar10 == 1) {
      ppppiVar12 = ppppiVar15;
      if ((int)ppppiVar13 <= (int)ppppiVar15) {
        ppppiVar12 = ppppiVar13;
      }
      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2d,ppppiVar12);
      if (ppppiVar13 != ppppiVar15) goto LAB_000d99d8;
    }
    else {
      ppppiVar12 = ppppiVar15;
      if ((int)ppppiVar13 <= (int)ppppiVar15) {
        ppppiVar12 = ppppiVar13;
      }
      (*(code *)PTR___printf_chk_00131e4c)(1,local_a0,0x2b,ppppiVar12);
      if (ppppiVar13 != ppppiVar15) {
LAB_000d99d8:
        iVar20 = iVar7;
        if ((int)ppppiVar13 < (int)ppppiVar15) {
          iVar20 = (int)ppppiVar15 + (1 - (int)ppppiVar13);
        }
        (*(code *)PTR___printf_chk_00131e4c)(1,local_8c,iVar20);
      }
      if (1 < iVar10) break;
    }
    local_a8 = local_a8 + 2;
    local_ac = local_ac + 2;
    pppppiVar19 = pppppiVar19 + 2;
    local_b4 = local_b4 + 1;
    iVar10 = iVar10 + 1;
  } while( true );
  (*(code *)PTR_puts_00131fd0)(PTR_FUN_001311a4 + 0x4588);
  pppppiVar19 = local_60;
  pppppiVar5 = local_50;
  pppppiVar8 = (int *****)local_70[0];
  pppppiVar6 = pppppiVar21;
  do {
    pppppiVar18 = pppppiVar21;
    if (local_9c < pppppiVar21) {
      (*local_b0)(local_60,local_78[0],pppppiVar8,local_70[1],0x20);
      pppppiVar21 = pppppiVar6;
      ppppiVar13 = (int ****)puVar22;
LAB_000d9a68:
      local_b4 = ppppiVar13;
      if ((int)unaff_s3 <= (int)local_88[2]) goto LAB_000d9610;
LAB_000d9a78:
      (*(code *)PTR_free_00132180)(pppppiVar21);
      (*(code *)PTR_free_00132180)(local_78[0]);
      (*(code *)PTR_free_00132180)(local_78[1]);
      (*(code *)PTR_free_00132180)(pppppiVar23);
      pppppiVar24 = pppppiVar5;
      if (local_b4 != (int ****)0x0) {
        iVar7 = 1;
LAB_000d9ad8:
        **(byte **)PTR_DAT_00131330 = **(byte **)PTR_DAT_00131330 | 1;
        pppppiVar24 = pppppiVar5;
      }
LAB_000d9af0:
      pppppiVar18 = (int *****)PTR_FUN_00131418;
      FUN_000f12b4(local_88[0]);
      FUN_000f12b4(local_88[1]);
      if (local_2c == *(int *)PTR___stack_chk_guard_00132164) {
        return iVar7;
      }
      (*(code *)PTR___stack_chk_fail_001320e4)();
      pppppiVar6 = pppppiVar21;
      pppppiVar5 = pppppiVar24;
    }
    (*local_b0)(pppppiVar19);
    (*local_b0)(pppppiVar19,local_78[0],*pppppiVar18,pppppiVar18[1],0x2d);
    (*local_b0)(pppppiVar5,local_78[1],pppppiVar18[2],pppppiVar18[3],0x2b);
    pppppiVar21 = pppppiVar18 + 4;
    pppppiVar8 = (int *****)((int)pppppiVar18[1] + 1);
  } while( true );
}

