
_Bool cut_file(char *file)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  int iVar7;
  byte *pbVar8;
  size_t *linesize;
  char **lineptr;
  uint *puVar9;
  undefined1 *puVar10;
  uint uVar11;
  ssize_t sVar12;
  undefined4 *puVar13;
  char *pcVar14;
  undefined1 uVar15;
  byte *pbVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  byte bVar20;
  undefined4 uVar21;
  uint uVar22;
  int iVar23;
  uint uVar24;
  char cVar25;
  char cVar26;
  uint uVar27;
  FILE *fp;
  
  puVar4 = PTR_DAT_0002b108;
  iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160);
  if (iVar7 == 0) {
    PTR_DAT_0002b0f8[-0x4cae] = 1;
    fp = *(FILE **)PTR_stdin_0002b298;
  }
  else {
    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);
    if (fp == (FILE *)0x0) goto LAB_00012840;
  }
  fadvise(fp,FADVISE_SEQUENTIAL);
  puVar3 = PTR_stdout_0002b278;
  puVar5 = PTR_frp_0002b110;
  puVar2 = PTR_DAT_0002b0f8;
  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {
    uVar22 = 0;
    uVar17 = 0;
    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;
    cVar25 = '\0';
LAB_0001291c:
    do {
      pbVar8 = (byte *)fp->_IO_read_ptr;
      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;
LAB_00012934:
      bVar20 = puVar2[-0x4fb8];
      fp->_IO_read_ptr = (char *)(pbVar8 + 1);
      uVar27 = (uint)*pbVar8;
      puVar9 = *(uint **)(puVar2 + -0x4c94);
      uVar24 = uVar17;
      if (uVar27 != bVar20) {
        do {
          uVar17 = uVar24 + 1;
          uVar22 = (uVar17 < uVar24) + uVar22;
          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {
            puVar9 = puVar9 + 4;
            *(uint **)(puVar2 + -0x4c94) = puVar9;
          }
          uVar24 = *puVar9;
          if ((uVar22 < uVar24) ||
             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&
              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;
          iVar7 = *(int *)puVar3;
          if (cVar26 == '\0') {
LAB_000129bc:
            puVar10 = *(undefined1 **)(iVar7 + 0x14);
            cVar26 = cVar25;
            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {
LAB_00012ab8:
              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);
              cVar25 = cVar26;
              goto LAB_0001291c;
            }
          }
          else {
            if (cVar25 != '\0') {
              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {
                (*(code *)PTR_fwrite_unlocked_0002b2ec)
                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),
                           iVar7);
                iVar7 = *(int *)puVar3;
              }
              goto LAB_000129bc;
            }
            puVar10 = *(undefined1 **)(iVar7 + 0x14);
            cVar25 = cVar26;
            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;
          }
          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;
          *puVar10 = (char)uVar27;
          pbVar8 = (byte *)fp->_IO_read_ptr;
          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;
LAB_000129f4:
          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);
          bVar20 = puVar2[-0x4fb8];
          if (uVar27 == bVar20) break;
          puVar9 = *(uint **)(puVar2 + -0x4c94);
          uVar24 = uVar17;
          if (uVar27 == 0xffffffff) {
            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;
            iVar7 = *(int *)PTR_stdout_0002b278;
            pbVar8 = *(byte **)(iVar7 + 0x14);
            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {
              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;
              *pbVar8 = bVar20;
              uVar17 = fp->_flags;
            }
            else {
              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);
              uVar17 = fp->_flags;
            }
            goto LAB_000126c0;
          }
        } while( true );
      }
      iVar7 = *(int *)puVar3;
      pbVar8 = *(byte **)(iVar7 + 0x14);
      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {
        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;
        *pbVar8 = bVar20;
      }
      else {
        (*(code *)PTR___overflow_0002b24c)();
      }
      uVar22 = 0;
      uVar17 = 0;
      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;
      cVar25 = '\0';
    } while( true );
  }
  pbVar16 = (byte *)fp->_IO_read_ptr;
  pbVar8 = (byte *)fp->_IO_read_end;
  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;
  if (pbVar16 < pbVar8) {
    fp->_IO_read_ptr = (char *)(pbVar16 + 1);
    uVar17 = (uint)*pbVar16;
  }
  else {
    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);
    if (uVar17 == 0xffffffff) {
LAB_000126bc:
      uVar17 = fp->_flags;
LAB_000126c0:
      if ((uVar17 & 0x20) != 0) {
LAB_00012840:
        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();
        uVar21 = *puVar13;
        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);
        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);
        return false;
      }
      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);
      if (iVar7 == 0) {
        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);
      }
      else {
        iVar7 = rpl_fclose(fp);
        if (iVar7 == -1) goto LAB_00012840;
      }
      return true;
    }
  }
  (*(code *)PTR_ungetc_0002b288)(uVar17,fp);
  puVar6 = PTR_stdout_0002b278;
  puVar3 = PTR_DAT_0002b0f8;
  cVar25 = '\x01';
  if ((**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)) {
    cVar25 = '\0';
  }
  uVar24 = 0;
  uVar22 = 1;
  bVar1 = false;
  uVar17 = 0;
  cVar26 = PTR_DAT_0002b0f8[-0x4ca1];
  linesize = (size_t *)(PTR_DAT_0002b0f8 + -0x4c9c);
  lineptr = (char **)(PTR_DAT_0002b0f8 + -0x4c98);
LAB_000122b8:
  do {
    if (uVar24 == 0) {
      puVar9 = *(uint **)(puVar2 + -0x4c94);
      if (uVar22 == 1) goto LAB_00012454;
    }
    else {
      puVar9 = *(uint **)(puVar2 + -0x4c94);
    }
LAB_000122c8:
    uVar18 = *puVar9;
    uVar27 = uVar17;
    if (uVar24 < uVar18) goto LAB_000124b0;
LAB_000122d8:
    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;
    if (bVar1) {
      (*(code *)PTR_fwrite_unlocked_0002b2ec)
                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),
                 *(undefined4 *)puVar6);
    }
    pbVar8 = (byte *)fp->_IO_read_ptr;
    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;
    while( true ) {
      fp->_IO_read_ptr = (char *)(pbVar8 + 1);
      uVar18 = (uint)*pbVar8;
      uVar19 = (uint)(byte)puVar3[-0x4ca3];
      uVar17 = (uint)(byte)puVar3[-0x4fb8];
      if (uVar18 == uVar19) break;
      while( true ) {
        if (uVar18 == uVar17) {
          bVar1 = true;
          uVar19 = (uint)(byte)puVar3[-0x4ca3];
          uVar11 = (uint)(byte)puVar3[-0x4fb8];
          goto LAB_0001260c;
        }
        uVar11 = uVar17;
        if (uVar18 == 0xffffffff) goto LAB_000124f8;
        iVar7 = *(int *)puVar6;
        puVar10 = *(undefined1 **)(iVar7 + 0x14);
        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {
          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;
          *puVar10 = (char)uVar18;
        }
        else {
          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);
        }
        pbVar8 = (byte *)fp->_IO_read_ptr;
        uVar27 = uVar18;
        if (pbVar8 < fp->_IO_read_end) break;
LAB_00012390:
        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);
        uVar19 = (uint)(byte)puVar3[-0x4ca3];
        uVar17 = (uint)(byte)puVar3[-0x4fb8];
        if (uVar18 == uVar19) goto LAB_000123b4;
      }
    }
LAB_000123b4:
    bVar1 = true;
    uVar11 = uVar17;
    uVar17 = uVar19;
LAB_000123b8:
    if (uVar11 != uVar19) break;
    pbVar8 = (byte *)fp->_IO_read_ptr;
    if (pbVar8 < fp->_IO_read_end) {
      fp->_IO_read_ptr = (char *)(pbVar8 + 1);
      uVar18 = (uint)*pbVar8;
    }
    else {
      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);
      if (uVar18 == 0xffffffff) {
        uVar11 = (uint)(byte)puVar3[-0x4fb8];
        uVar19 = (uint)(byte)puVar3[-0x4ca3];
        goto LAB_0001241c;
      }
    }
    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);
    uVar19 = (uint)(byte)puVar3[-0x4ca3];
    uVar18 = uVar22;
    if (uVar17 != uVar19) {
      bVar20 = puVar3[-0x4fb8];
LAB_00012404:
      uVar11 = (uint)bVar20;
      if (uVar17 == uVar11) goto LAB_0001266c;
      if (uVar17 == 0xffffffff) {
LAB_0001241c:
        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {
          uVar17 = 0xffffffff;
          goto joined_r0x00012528;
        }
LAB_000124f8:
        uVar17 = 0xffffffff;
        if (uVar11 == uVar27) {
          if (uVar19 != uVar11) goto joined_r0x00012528;
          iVar7 = *(int *)puVar6;
        }
        else {
          iVar7 = *(int *)puVar6;
        }
        puVar10 = *(undefined1 **)(iVar7 + 0x14);
        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;
LAB_00012518:
        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;
        *puVar10 = (char)uVar11;
joined_r0x00012528:
        do {
          uVar11 = uVar17;
          if (uVar11 == 0xffffffff) goto LAB_000126bc;
          do {
            bVar1 = false;
            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;
            uVar17 = uVar11;
            if (cVar25 != cVar26) {
              uVar22 = (uint)(byte)puVar3[-0x4ca3];
              do {
                do {
                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,
                                      (uint)(byte)puVar3[-0x4fb8],fp);
                  if (sVar12 < 0) {
                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));
                    uVar17 = fp->_flags;
                    *(undefined4 *)(puVar3 + -0x4c98) = 0;
                    if ((uVar17 & 0x30) == 0) {
                    /* WARNING: Subroutine does not return */
                      xalloc_die();
                    }
                    goto LAB_000126c0;
                  }
                  if (sVar12 == 0) {
                    uVar15 = (*(code *)PTR___assert_fail_0002b214)
                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,
                                        PTR_DAT_0002b108 + -0x6210);
                    return (_Bool)uVar15;
                  }
                  iVar23 = sVar12 + -1;
                  uVar22 = (uint)(byte)puVar3[-0x4ca3];
                  iVar7 = *(int *)(puVar3 + -0x4c98);
                  if (*(byte *)(iVar7 + iVar23) == uVar22) {
                    puVar9 = *(uint **)(puVar2 + -0x4c94);
                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {
                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);
                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {
                        pbVar8 = (byte *)fp->_IO_read_ptr;
                        if (pbVar8 < fp->_IO_read_end) {
                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);
                          uVar17 = (uint)*pbVar8;
                        }
                        else {
                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);
                          if (uVar17 == 0xffffffff) {
                            puVar9 = *(uint **)(puVar2 + -0x4c94);
                            goto LAB_000127a8;
                          }
                        }
                        bVar1 = true;
                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);
                        puVar9 = *(uint **)(puVar2 + -0x4c94);
                      }
                      else {
                        puVar9 = *(uint **)(puVar2 + -0x4c94);
                        bVar1 = true;
                      }
                    }
LAB_000127a8:
                    uVar24 = 0;
                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {
                      puVar9 = puVar9 + 4;
                      *(uint **)(puVar2 + -0x4c94) = puVar9;
                      uVar22 = 2;
                      uVar17 = 0;
                    }
                    else {
                      uVar22 = 2;
                      uVar17 = 0;
                    }
                    goto LAB_000122c8;
                  }
                } while (puVar3[-0x4ca1] != '\0');
                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);
                bVar20 = puVar3[-0x4fb8];
                uVar17 = (uint)bVar20;
                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {
                  iVar7 = *(int *)puVar6;
                  pbVar8 = *(byte **)(iVar7 + 0x14);
                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {
                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;
                    *pbVar8 = bVar20;
                  }
                  else {
                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);
                    uVar17 = (uint)(byte)puVar3[-0x4fb8];
                  }
                }
LAB_00012454:
                uVar22 = (uint)(byte)puVar3[-0x4ca3];
              } while (cVar25 != cVar26);
            }
            puVar9 = *(uint **)(puVar2 + -0x4c94);
            uVar24 = 0;
            uVar18 = *puVar9;
            uVar22 = 1;
            uVar27 = uVar17;
            if (uVar18 == 0) goto LAB_000122d8;
LAB_000124b0:
            while( true ) {
              uVar27 = uVar17;
              pbVar8 = (byte *)fp->_IO_read_ptr;
              if (pbVar8 < fp->_IO_read_end) {
                fp->_IO_read_ptr = (char *)(pbVar8 + 1);
                uVar17 = (uint)*pbVar8;
              }
              else {
                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);
              }
              uVar19 = (uint)(byte)puVar3[-0x4ca3];
              uVar11 = (uint)(byte)puVar3[-0x4fb8];
              if (uVar19 == uVar17) goto LAB_000123b8;
              if (uVar17 == uVar11) break;
              if (uVar17 == 0xffffffff) goto LAB_0001241c;
            }
LAB_0001260c:
            if (uVar11 != uVar19) goto LAB_00012614;
            if (uVar17 != uVar11) goto LAB_000122b8;
LAB_0001266c:
            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {
              iVar7 = *(int *)puVar6;
              goto LAB_00012690;
            }
          } while (uVar22 == 1);
          iVar7 = *(int *)puVar6;
LAB_00012690:
          puVar10 = *(undefined1 **)(iVar7 + 0x14);
          uVar17 = uVar11;
          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;
LAB_000126a4:
          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);
        } while( true );
      }
      goto LAB_000122b8;
    }
LAB_0001261c:
    iVar7 = *(int *)(puVar2 + -0x4c94);
    uVar22 = uVar18 + 1;
    uVar24 = (uVar22 < uVar18) + uVar24;
    if ((*(uint *)(iVar7 + 8) < uVar24) ||
       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {
      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;
    }
  } while( true );
LAB_00012614:
  bVar20 = puVar3[-0x4fb8];
  uVar18 = uVar22;
  if (uVar17 == uVar19) goto LAB_0001261c;
  goto LAB_00012404;
}



undefined4 FUN_00012170(undefined4 param_1)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  byte *pbVar7;
  undefined *puVar8;
  undefined *puVar9;
  uint *puVar10;
  undefined1 *puVar11;
  uint uVar12;
  undefined4 *puVar13;
  undefined4 uVar14;
  byte *pbVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  int iVar19;
  byte bVar20;
  char cVar21;
  undefined4 uVar22;
  undefined *puVar23;
  uint uVar24;
  int iVar25;
  uint uVar26;
  char cVar27;
  char cVar28;
  uint uVar29;
  uint *puVar30;
  
  puVar3 = PTR_DAT_0002b108;
  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);
  if (iVar6 == 0) {
    PTR_DAT_0002b0f8[-0x4cae] = 1;
    puVar30 = *(uint **)PTR_stdin_0002b298;
  }
  else {
    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);
    if (puVar30 == (uint *)0x0) goto LAB_00012840;
  }
  fadvise(puVar30,2);
  puVar2 = PTR_stdout_0002b278;
  puVar4 = PTR_frp_0002b110;
  puVar23 = PTR_DAT_0002b0f8;
  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {
    uVar24 = 0;
    uVar16 = 0;
    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;
    cVar27 = '\0';
LAB_0001291c:
    do {
      pbVar7 = (byte *)puVar30[1];
      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;
LAB_00012934:
      bVar20 = puVar23[-0x4fb8];
      puVar30[1] = (uint)(pbVar7 + 1);
      uVar29 = (uint)*pbVar7;
      puVar10 = *(uint **)(puVar23 + -0x4c94);
      uVar26 = uVar16;
      if (uVar29 != bVar20) {
        do {
          uVar16 = uVar26 + 1;
          uVar24 = (uVar16 < uVar26) + uVar24;
          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {
            puVar10 = puVar10 + 4;
            *(uint **)(puVar23 + -0x4c94) = puVar10;
          }
          uVar26 = *puVar10;
          if ((uVar24 < uVar26) ||
             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&
              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;
          iVar6 = *(int *)puVar2;
          if (cVar28 == '\0') {
LAB_000129bc:
            puVar11 = *(undefined1 **)(iVar6 + 0x14);
            cVar28 = cVar27;
            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {
LAB_00012ab8:
              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);
              cVar27 = cVar28;
              goto LAB_0001291c;
            }
          }
          else {
            if (cVar27 != '\0') {
              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {
                (*(code *)PTR_fwrite_unlocked_0002b2ec)
                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),
                           iVar6);
                iVar6 = *(int *)puVar2;
              }
              goto LAB_000129bc;
            }
            puVar11 = *(undefined1 **)(iVar6 + 0x14);
            cVar27 = cVar28;
            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;
          }
          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;
          *puVar11 = (char)uVar29;
          pbVar7 = (byte *)puVar30[1];
          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;
LAB_000129f4:
          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);
          bVar20 = puVar23[-0x4fb8];
          if (uVar29 == bVar20) break;
          puVar10 = *(uint **)(puVar23 + -0x4c94);
          uVar26 = uVar16;
          if (uVar29 == 0xffffffff) {
            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;
            iVar6 = *(int *)PTR_stdout_0002b278;
            pbVar7 = *(byte **)(iVar6 + 0x14);
            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {
              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;
              *pbVar7 = bVar20;
              uVar16 = *puVar30;
            }
            else {
              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);
              uVar16 = *puVar30;
            }
            goto LAB_000126c0;
          }
        } while( true );
      }
      iVar6 = *(int *)puVar2;
      pbVar7 = *(byte **)(iVar6 + 0x14);
      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {
        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;
        *pbVar7 = bVar20;
      }
      else {
        (*(code *)PTR___overflow_0002b24c)();
      }
      uVar24 = 0;
      uVar16 = 0;
      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;
      cVar27 = '\0';
    } while( true );
  }
  pbVar15 = (byte *)puVar30[1];
  pbVar7 = (byte *)puVar30[2];
  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;
  if (pbVar15 < pbVar7) {
    puVar30[1] = (uint)(pbVar15 + 1);
    uVar16 = (uint)*pbVar15;
  }
  else {
    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);
    if (uVar16 == 0xffffffff) {
LAB_000126bc:
      uVar16 = *puVar30;
LAB_000126c0:
      if ((uVar16 & 0x20) != 0) {
LAB_00012840:
        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();
        uVar22 = *puVar13;
        uVar14 = quotearg_n_style_colon(0,3,param_1);
        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);
        return 0;
      }
      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);
      if (iVar6 == 0) {
        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);
      }
      else {
        iVar6 = rpl_fclose(puVar30);
        if (iVar6 == -1) goto LAB_00012840;
      }
      return 1;
    }
  }
  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);
  puVar5 = PTR_stdout_0002b278;
  puVar2 = PTR_DAT_0002b0f8;
  cVar27 = '\x01';
  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {
    cVar27 = '\0';
  }
  uVar26 = 0;
  uVar24 = 1;
  bVar1 = false;
  uVar16 = 0;
  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];
  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;
  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;
LAB_000122b8:
  do {
    if (uVar26 == 0) {
      puVar10 = *(uint **)(puVar23 + -0x4c94);
      if (uVar24 == 1) goto LAB_00012454;
    }
    else {
      puVar10 = *(uint **)(puVar23 + -0x4c94);
    }
LAB_000122c8:
    uVar17 = *puVar10;
    uVar29 = uVar16;
    if (uVar26 < uVar17) goto LAB_000124b0;
LAB_000122d8:
    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;
    if (bVar1) {
      (*(code *)PTR_fwrite_unlocked_0002b2ec)
                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),
                 *(undefined4 *)puVar5);
    }
    pbVar7 = (byte *)puVar30[1];
    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;
    while( true ) {
      puVar30[1] = (uint)(pbVar7 + 1);
      uVar17 = (uint)*pbVar7;
      uVar18 = (uint)(byte)puVar2[-0x4ca3];
      uVar16 = (uint)(byte)puVar2[-0x4fb8];
      if (uVar17 == uVar18) break;
      while( true ) {
        if (uVar17 == uVar16) {
          bVar1 = true;
          uVar18 = (uint)(byte)puVar2[-0x4ca3];
          uVar12 = (uint)(byte)puVar2[-0x4fb8];
          goto LAB_0001260c;
        }
        uVar12 = uVar16;
        if (uVar17 == 0xffffffff) goto LAB_000124f8;
        iVar6 = *(int *)puVar5;
        puVar11 = *(undefined1 **)(iVar6 + 0x14);
        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {
          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;
          *puVar11 = (char)uVar17;
        }
        else {
          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);
        }
        pbVar7 = (byte *)puVar30[1];
        uVar29 = uVar17;
        if (pbVar7 < (byte *)puVar30[2]) break;
LAB_00012390:
        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);
        uVar18 = (uint)(byte)puVar2[-0x4ca3];
        uVar16 = (uint)(byte)puVar2[-0x4fb8];
        if (uVar17 == uVar18) goto LAB_000123b4;
      }
    }
LAB_000123b4:
    bVar1 = true;
    uVar12 = uVar16;
    uVar16 = uVar18;
LAB_000123b8:
    if (uVar12 != uVar18) break;
    pbVar7 = (byte *)puVar30[1];
    if (pbVar7 < (byte *)puVar30[2]) {
      puVar30[1] = (uint)(pbVar7 + 1);
      uVar17 = (uint)*pbVar7;
    }
    else {
      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);
      if (uVar17 == 0xffffffff) {
        uVar12 = (uint)(byte)puVar2[-0x4fb8];
        uVar18 = (uint)(byte)puVar2[-0x4ca3];
        goto LAB_0001241c;
      }
    }
    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);
    uVar18 = (uint)(byte)puVar2[-0x4ca3];
    uVar17 = uVar24;
    if (uVar16 != uVar18) {
      bVar20 = puVar2[-0x4fb8];
LAB_00012404:
      uVar12 = (uint)bVar20;
      if (uVar16 == uVar12) goto LAB_0001266c;
      if (uVar16 == 0xffffffff) {
LAB_0001241c:
        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {
          uVar16 = 0xffffffff;
          goto joined_r0x00012528;
        }
LAB_000124f8:
        uVar16 = 0xffffffff;
        if (uVar12 == uVar29) {
          if (uVar18 != uVar12) goto joined_r0x00012528;
          iVar6 = *(int *)puVar5;
        }
        else {
          iVar6 = *(int *)puVar5;
        }
        puVar11 = *(undefined1 **)(iVar6 + 0x14);
        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;
LAB_00012518:
        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;
        *puVar11 = (char)uVar12;
joined_r0x00012528:
        do {
          uVar12 = uVar16;
          if (uVar12 == 0xffffffff) goto LAB_000126bc;
          do {
            bVar1 = false;
            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;
            uVar16 = uVar12;
            if (cVar27 != cVar28) {
              cVar21 = puVar2[-0x4ca3];
              do {
                do {
                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);
                  if (iVar6 < 0) {
                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));
                    uVar16 = *puVar30;
                    *(undefined4 *)(puVar2 + -0x4c98) = 0;
                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;
                    xalloc_die();
                    puVar23 = puVar2;
LAB_00012b6c:
                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);
                    if (uVar16 == 0xffffffff) {
                      puVar10 = *(uint **)(puVar23 + -0x4c94);
                    }
                    else {
LAB_00012ae4:
                      bVar1 = true;
                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);
                      puVar10 = *(uint **)(puVar23 + -0x4c94);
                    }
LAB_000127a8:
                    uVar26 = 0;
                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {
                      puVar10 = puVar10 + 4;
                      *(uint **)(puVar23 + -0x4c94) = puVar10;
                      uVar24 = 2;
                      uVar16 = 0;
                    }
                    else {
                      uVar24 = 2;
                      uVar16 = 0;
                    }
                    goto LAB_000122c8;
                  }
                  if (iVar6 == 0) {
                    uVar14 = (*(code *)PTR___assert_fail_0002b214)
                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,
                                        PTR_DAT_0002b108 + -0x6210);
                    return uVar14;
                  }
                  iVar25 = iVar6 + -1;
                  cVar21 = puVar2[-0x4ca3];
                  iVar19 = *(int *)(puVar2 + -0x4c98);
                  if (*(char *)(iVar19 + iVar25) == cVar21) {
                    puVar10 = *(uint **)(puVar23 + -0x4c94);
                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {
                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)
                      ;
                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {
                        pbVar7 = (byte *)puVar30[1];
                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;
                        puVar30[1] = (uint)(pbVar7 + 1);
                        uVar16 = (uint)*pbVar7;
                        goto LAB_00012ae4;
                      }
                      puVar10 = *(uint **)(puVar23 + -0x4c94);
                      bVar1 = true;
                    }
                    goto LAB_000127a8;
                  }
                } while (puVar2[-0x4ca1] != '\0');
                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);
                bVar20 = puVar2[-0x4fb8];
                uVar16 = (uint)bVar20;
                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {
                  iVar6 = *(int *)puVar5;
                  pbVar7 = *(byte **)(iVar6 + 0x14);
                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {
                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;
                    *pbVar7 = bVar20;
                  }
                  else {
                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);
                    uVar16 = (uint)(byte)puVar2[-0x4fb8];
                  }
                }
LAB_00012454:
                cVar21 = puVar2[-0x4ca3];
              } while (cVar27 != cVar28);
            }
            puVar10 = *(uint **)(puVar23 + -0x4c94);
            uVar26 = 0;
            uVar17 = *puVar10;
            uVar24 = 1;
            uVar29 = uVar16;
            if (uVar17 == 0) goto LAB_000122d8;
LAB_000124b0:
            while( true ) {
              uVar29 = uVar16;
              pbVar7 = (byte *)puVar30[1];
              if (pbVar7 < (byte *)puVar30[2]) {
                puVar30[1] = (uint)(pbVar7 + 1);
                uVar16 = (uint)*pbVar7;
              }
              else {
                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);
              }
              uVar18 = (uint)(byte)puVar2[-0x4ca3];
              uVar12 = (uint)(byte)puVar2[-0x4fb8];
              if (uVar18 == uVar16) goto LAB_000123b8;
              if (uVar16 == uVar12) break;
              if (uVar16 == 0xffffffff) goto LAB_0001241c;
            }
LAB_0001260c:
            if (uVar12 != uVar18) goto LAB_00012614;
            if (uVar16 != uVar12) goto LAB_000122b8;
LAB_0001266c:
            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {
              iVar6 = *(int *)puVar5;
              goto LAB_00012690;
            }
          } while (uVar24 == 1);
          iVar6 = *(int *)puVar5;
LAB_00012690:
          puVar11 = *(undefined1 **)(iVar6 + 0x14);
          uVar16 = uVar12;
          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;
LAB_000126a4:
          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);
        } while( true );
      }
      goto LAB_000122b8;
    }
LAB_0001261c:
    iVar6 = *(int *)(puVar23 + -0x4c94);
    uVar24 = uVar17 + 1;
    uVar26 = (uVar24 < uVar17) + uVar26;
    if ((*(uint *)(iVar6 + 8) < uVar26) ||
       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {
      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;
    }
  } while( true );
LAB_00012614:
  bVar20 = puVar2[-0x4fb8];
  uVar17 = uVar24;
  if (uVar16 == uVar18) goto LAB_0001261c;
  goto LAB_00012404;
}


lui gp,0x2
addiu gp,gp,0xf60
addu gp,gp,t9
lw v0,-0x7fc8(gp)
addiu sp,sp,-0x80
lw t9,-0x7db4(gp)
addiu a1,v0,-0x6160
sw gp,0x20(sp)
sw ra,0x7c(sp)
sw s8,0x78(sp)
sw s7,0x74(sp)
sw s6,0x70(sp)
sw s5,0x6c(sp)
sw s4,0x68(sp)
sw s3,0x64(sp)
sw s2,0x60(sp)
sw s1,0x5c(sp)
sw s0,0x58(sp)
sw v0,0x38(sp)
jalr t9
_sw a0,0x80(sp)
bne v0,zero,0x000128bc
_lw gp,0x20(sp)
lw v0,-0x7fd8(gp)
li v1,0x1
sb v1,-0x4cae(v0)
lw v0,-0x7e38(gp)
lw s8,0x0(v0)
lw t9,-0x7fc4(gp)
li a1,0x2
bal 0x00013de8
_or a0,s8,zero
li v0,0x1
lw gp,0x20(sp)
lw a0,-0x7fd8(gp)
lw a0,-0x4ca0(a0)
beq a0,v0,0x000128e4
_lw v0,-0x7fc0(gp)
lw s0,-0x7fd8(gp)
lw a0,0x4(s8)
or v1,v0,zero
sw v0,0x30(sp)
lw v0,0x8(s8)
lw a1,0x0(v1)
sltu v0,a0,v0
beq v0,zero,0x00012b04
_sw a1,-0x4c94(s0)
addiu v0,a0,0x1
sw v0,0x4(s8)
lbu a0,0x0(a0)
lw t9,-0x7e48(gp)
jalr t9
_or a1,s8,zero
li a0,0x1
lw v0,-0x4c94(s0)
lw a1,0x0(v0)
beq a1,zero,0x000124e0
_lw gp,0x20(sp)
lw v0,-0x7fd8(gp)
or s2,zero,zero
lw v1,-0x7fd8(gp)
li s1,0x1
lw s3,-0x7fd8(gp)
or s6,zero,zero
sw v0,0x2c(sp)
or a3,zero,zero
lbu v0,-0x4ca1(v0)
lw s4,-0x7fd8(gp)
lw s7,-0x7e58(gp)
sw v0,0x44(sp)
lw v0,-0x7fd8(gp)
sw v1,0x3c(sp)
addiu v0,v0,-0x4c9c
sw v0,0x48(sp)
addiu v0,v1,-0x4c98
sw v0,0x4c(sp)
andi v0,a0,0xff
sw v0,0x40(sp)
lw v0,-0x7fd8(gp)
sw v0,0x50(sp)
lw v0,-0x7fd8(gp)
sw v0,0x54(sp)
beq s2,zero,0x0001244c
_li v0,0x1
lw v0,-0x4c94(s0)
or s5,a3,zero
lw a0,0x0(v0)
sltu a1,s2,a0
bne a1,zero,0x000124b0
_li a1,-0x1
bne a0,s2,0x000122f0
_nop
lw v0,0x4(v0)
sltu v0,s1,v0
bne v0,zero,0x000124b0
_li a1,-0x1
beq s6,zero,0x00012318
_lw v0,0x50(sp)
li a1,0x1
lw t9,-0x7de4(gp)
lw a3,0x0(s7)
lw a2,-0x4ca8(v0)
lw v0,0x54(sp)
jalr t9
_lw a0,-0x4cac(v0)
lw gp,0x20(sp)
lw v0,0x4(s8)
lw a0,0x8(s8)
sltu a0,v0,a0
beq a0,zero,0x00012390
_li s6,-0x1
addiu a0,v0,0x1
sw a0,0x4(s8)
lbu a2,0x0(v0)
lbu a0,-0x4ca3(s4)
lbu v0,-0x4fb8(s3)
beq a2,a0,0x000123b4
_or a3,a0,zero
beq a2,v0,0x00012600
_or a3,v0,zero
beq a2,s6,0x000124f8
_or a1,v0,zero
lw a0,0x0(s7)
lw v0,0x14(a0)
lw a1,0x18(a0)
sltu a1,v0,a1
beq a1,zero,0x00012748
_addiu a1,v0,0x1
or s5,a2,zero
sw a1,0x14(a0)
sb a2,0x0(v0)
lw v0,0x4(s8)
lw a0,0x8(s8)
sltu a0,v0,a0
bne a0,zero,0x00012330
_addiu a0,v0,0x1
lw t9,-0x7e6c(gp)
jalr t9
_or a0,s8,zero
lbu a0,-0x4ca3(s4)
or a2,v0,zero
lw gp,0x20(sp)
lbu v0,-0x4fb8(s3)
bne a2,a0,0x00012348
_or a3,a0,zero
li s6,0x1
bne v0,a0,0x00012614
_nop
lw v0,0x4(s8)
lw a0,0x8(s8)
sltu a0,v0,a0
beq a0,zero,0x00012768
_addiu a0,v0,0x1
sw a0,0x4(s8)
lbu v0,0x0(v0)
lw t9,-0x7e48(gp)
or a0,v0,zero
sw a3,0x34(sp)
jalr t9
_or a1,s8,zero
lbu a0,-0x4ca3(s4)
lw a3,0x34(sp)
beq a3,a0,0x0001261c
_lw gp,0x20(sp)
lbu v0,-0x4fb8(s3)
beq a3,v0,0x0001266c
_or a2,v0,zero
li a1,-0x1
bne a3,a1,0x000122b8
_nop
or a1,v0,zero
bne s6,zero,0x000124f8
_lw v1,0x2c(sp)
lbu a2,-0x4ca1(v1)
beq a2,zero,0x000124f8
_nop
bne s2,zero,0x000124f8
_nop
li a2,0x1
bne s1,a2,0x000124f8
_nop
b 0x00012524
_li a2,-0x1
bne s1,v0,0x000122c4
_lw v0,-0x4c94(s0)
lw v0,0x40(sp)
lw v1,0x44(sp)
bne v0,v1,0x00012554
_lbu t0,-0x4ca3(s4)
lw v0,-0x4c94(s0)
or s2,zero,zero
or s5,a3,zero
lw a0,0x0(v0)
sltu a1,s2,a0
beq a1,zero,0x000122d8
_li s1,0x1
b 0x000124b0
_li a1,-0x1
sw a0,0x4(s8)
lbu a3,0x0(v0)
lbu a0,-0x4ca3(s4)
beq a0,a3,0x000123b8
_lbu v0,-0x4fb8(s3)
beq a3,v0,0x0001260c
_nop
beq a3,a1,0x00012418
_nop
or s5,a3,zero
lw v0,0x4(s8)
lw a0,0x8(s8)
sltu a0,v0,a0
bne a0,zero,0x00012488
_addiu a0,v0,0x1
lw t9,-0x7e6c(gp)
jalr t9
_or a0,s8,zero
li a1,-0x1
lw gp,0x20(sp)
b 0x00012490
_or a3,v0,zero
lw v0,0x4(v0)
sltiu v0,v0,0x2
beq v0,zero,0x0001225c
_lw v0,-0x7fd8(gp)
b 0x0001225c
_or a0,zero,zero
beq a1,s5,0x00012738
_li a2,-0x1
lw a0,0x0(s7)
lw a3,0x14(a0)
lw t0,0x18(a0)
sltu t0,a3,t0
beq t0,zero,0x000126a4
_lw t9,-0x7e84(gp)
addiu a1,a3,0x1
sw a1,0x14(a0)
sb v0,0x0(a3)
li v0,-0x1
beq a2,v0,0x000126bc
_nop
lw v0,0x30(sp)
or s6,zero,zero
lw v1,0x44(sp)
lw v0,0x0(v0)
sw v0,-0x4c94(s0)
lw v0,0x40(sp)
beq v0,v1,0x00012464
_or a3,a2,zero
lbu t0,-0x4ca3(s4)
lbu v0,-0x4fb8(s3)
li a3,-0x1
lw t9,-0x7fbc(gp)
or a2,zero,zero
lw a1,0x48(sp)
lw a0,0x4c(sp)
sw s8,0x18(sp)
sw v0,0x14(sp)
bal 0x00013e60
_sw t0,0x10(sp)
bltz v0,0x00012b3c
_lw gp,0x20(sp)
beq v0,zero,0x00012be8
_lw s2,0x3c(sp)
addiu s1,v0,-0x1
lbu t0,-0x4ca3(s4)
lw a0,-0x4c98(s2)
addu a1,a0,s1
lbu a1,0x0(a1)
beq a1,t0,0x00012798
_lw v1,0x2c(sp)
lbu a1,-0x4ca1(v1)
bne a1,zero,0x00012554
_lw t9,-0x7de4(gp)
li a1,0x1
lw a3,0x0(s7)
jalr t9
_or a2,v0,zero
lw v0,-0x4c98(s2)
lbu a3,-0x4fb8(s3)
addu s1,v0,s1
lb v0,0x0(s1)
beq v0,a3,0x00012454
_lw gp,0x20(sp)
lw a0,0x0(s7)
lw a1,0x14(a0)
lw v0,0x18(a0)
sltu v0,a1,v0
beq v0,zero,0x00012bbc
_addiu v0,a1,0x1
sw v0,0x14(a0)
b 0x00012454
_sb a3,0x0(a1)
li s6,0x1
lbu a0,-0x4ca3(s4)
lbu v0,-0x4fb8(s3)
beq v0,a0,0x00012664
_nop
bne a3,a0,0x00012404
_lbu v0,-0x4fb8(s3)
lw v0,-0x4c94(s0)
addiu a1,s1,0x1
sltu s1,a1,s1
addu s2,s1,s2
lw a0,0x8(v0)
or s1,a1,zero
sltu a1,a0,s2
bne a1,zero,0x00012658
_nop
bne a0,s2,0x000122b8
_nop
lw a0,0xc(v0)
sltu a0,a0,s1
beq a0,zero,0x000122b8
_nop
addiu v0,v0,0x10
b 0x000122b8
_sw v0,-0x4c94(s0)
bne a3,v0,0x000122b8
_or a2,v0,zero
bne s6,zero,0x0001268c
_or a1,a2,zero
lw v1,0x2c(sp)
lbu a0,-0x4ca1(v1)
beq a0,zero,0x0001268c
_nop
beq s2,zero,0x00012728
_li a0,0x1
lw a0,0x0(s7)
lw a3,0x14(a0)
lw t0,0x18(a0)
sltu t0,a3,t0
bne t0,zero,0x00012518
_lw t9,-0x7e84(gp)
jalr t9
_sw a2,0x34(sp)
li v0,-0x1
lw a2,0x34(sp)
bne a2,v0,0x00012530
_lw gp,0x20(sp)
lw v0,0x0(s8)
andi v0,v0,0x20
bne v0,zero,0x0001283c
_lw v0,0x38(sp)
lw t9,-0x7db4(gp)
lw a0,0x80(sp)
jalr t9
_addiu a1,v0,-0x6160
bne v0,zero,0x00012820
_lw gp,0x20(sp)
lw t9,-0x7e7c(gp)
jalr t9
_or a0,s8,zero
li v1,0x1
lw ra,0x7c(sp)
or v0,v1,zero
lw s8,0x78(sp)
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
jr ra
_addiu sp,sp,0x80
beq s1,a0,0x00012530
_or a1,a2,zero
b 0x00012690
_lw a0,0x0(s7)
bne a0,v0,0x00012524
_nop
b 0x00012504
_lw a0,0x0(s7)
lw t9,-0x7e84(gp)
andi a1,a2,0xff
jalr t9
_sw a2,0x34(sp)
lw a2,0x34(sp)
lw gp,0x20(sp)
b 0x0001237c
_or s5,a2,zero
lw t9,-0x7e6c(gp)
or a0,s8,zero
jalr t9
_sw a3,0x34(sp)
li a0,-0x1
lw gp,0x20(sp)
bne v0,a0,0x000123dc
_lw a3,0x34(sp)
lbu v0,-0x4fb8(s3)
lbu a0,-0x4ca3(s4)
b 0x0001241c
_or a1,v0,zero
lw v0,-0x4c94(s0)
lw a1,0x0(v0)
beq a1,zero,0x000127e4
_nop
lw a0,0x8(v0)
bne a0,zero,0x000127d8
_or s2,zero,zero
lw a0,0xc(v0)
sltiu a0,a0,0x2
beq a0,zero,0x000127d8
_nop
addiu v0,v0,0x10
sw v0,-0x4c94(s0)
li s1,0x2
b 0x000122c8
_or s5,zero,zero
li s1,0x2
b 0x000122c8
_or s5,zero,zero
lw a1,0x4(v0)
sltiu a1,a1,0x2
beq a1,zero,0x000127a8
_lw t9,-0x7de4(gp)
li a1,0x1
lw a3,0x0(s7)
jalr t9
_or a2,s1,zero
lbu a0,-0x4ca3(s4)
lbu v0,-0x4fb8(s3)
beq a0,v0,0x00012ac8
_lw gp,0x20(sp)
lw v0,-0x4c94(s0)
b 0x000127a8
_li s6,0x1
lw t9,-0x7fb8(gp)
bal 0x000174c0
_or a0,s8,zero
li a0,-0x1
lw gp,0x20(sp)
bne v0,a0,0x000126f4
_li v1,0x1
lw t9,-0x7e4c(gp)
jalr t9
_nop
li a1,0x3
lw gp,0x20(sp)
or a0,zero,zero
lw a2,0x80(sp)
lw t9,-0x7fb4(gp)
bal 0x000165d8
_lw s0,0x0(v0)
or a0,zero,zero
lw gp,0x20(sp)
or a3,v0,zero
or a1,s0,zero
lw a2,-0x7fc8(gp)
lw t9,-0x7e10(gp)
jalr t9
_addiu a2,a2,-0x6054
or v1,zero,zero
lw ra,0x7c(sp)
lw s8,0x78(sp)
or v0,v1,zero
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
jr ra
_addiu sp,sp,0x80
lw a1,-0x7fc8(gp)
lw t9,-0x7e94(gp)
lw a0,0x80(sp)
jalr t9
_addiu a1,a1,-0x6270
lw gp,0x20(sp)
bne v0,zero,0x000121e0
_or s8,v0,zero
b 0x00012840
_lw t9,-0x7e4c(gp)
or s5,zero,zero
lw v1,-0x7fd8(gp)
or s6,zero,zero
lw s0,-0x7fd8(gp)
or s4,zero,zero
lw s3,-0x7fd8(gp)
lw s1,-0x7fd8(gp)
lw s2,-0x7e58(gp)
sw v0,0x30(sp)
sw v1,0x2c(sp)
lw v0,0x0(v0)
lw v1,-0x7fd8(gp)
sw v0,-0x4c94(s0)
sw v1,0x34(sp)
lw v0,0x4(s8)
lw a0,0x8(s8)
sltu a0,v0,a0
beq a0,zero,0x000129f4
_lw t9,-0x7e6c(gp)
addiu a0,v0,0x1
lbu a1,-0x4fb8(s3)
sw a0,0x4(s8)
lbu s7,0x0(v0)
beq s7,a1,0x00012a60
_lw v0,-0x4c94(s0)
addiu a1,s6,0x1
sltu s6,a1,s6
addu s5,s6,s5
lw a0,0x8(v0)
sltu a2,a0,s5
bne a2,zero,0x00012a54
_or s6,a1,zero
bne a0,s5,0x0001297c
_nop
lw a0,0xc(v0)
sltu a0,a0,a1
bne a0,zero,0x00012a54
_nop
lw a2,0x0(v0)
lw a3,0x4(v0)
sltu v0,s5,a2
bne v0,zero,0x0001291c
_nop
bne a2,s5,0x000129a4
_lbu v0,-0x4ca4(s1)
sltu v0,a1,a3
bne v0,zero,0x0001291c
_lbu v0,-0x4ca4(s1)
beq v0,zero,0x000129bc
_lw a0,0x0(s2)
beq s4,zero,0x00012a9c
_nop
beq s5,a2,0x00012b8c
_nop
lw v0,0x14(a0)
lw a1,0x18(a0)
sltu a1,v0,a1
beq a1,zero,0x00012ab8
_lw t9,-0x7e84(gp)
addiu a1,v0,0x1
sw a1,0x14(a0)
sb s7,0x0(v0)
lw v0,0x4(s8)
lw a0,0x8(s8)
sltu a0,v0,a0
bne a0,zero,0x00012934
_addiu a0,v0,0x1
lw t9,-0x7e6c(gp)
jalr t9
_or a0,s8,zero
lbu a2,-0x4fb8(s3)
or s7,v0,zero
lw gp,0x20(sp)
beq v0,a2,0x00012a60
_or a1,a2,zero
li v0,-0x1
bne s7,v0,0x00012948
_lw v0,-0x4c94(s0)
or s5,s5,s6
beq s5,zero,0x000126bc
_lw v0,-0x7e58(gp)
lw a0,0x0(v0)
lw a1,0x14(a0)
lw v0,0x18(a0)
sltu v0,a1,v0
beq v0,zero,0x00012bd4
_lw t9,-0x7e84(gp)
addiu v0,a1,0x1
sw v0,0x14(a0)
sb a2,0x0(a1)
b 0x000126c0
_lw v0,0x0(s8)
addiu v0,v0,0x10
b 0x0001297c
_sw v0,-0x4c94(s0)
lw a0,0x0(s2)
lw v0,0x14(a0)
lw a2,0x18(a0)
sltu a2,v0,a2
beq a2,zero,0x00012b28
_addiu a2,v0,0x1
sw a2,0x14(a0)
sb a1,0x0(v0)
lw v0,0x30(sp)
or s5,zero,zero
or s6,zero,zero
or s4,zero,zero
lw v0,0x0(v0)
b 0x0001291c
_sw v0,-0x4c94(s0)
or s4,v0,zero
lw a1,0x18(a0)
lw v0,0x14(a0)
sltu a1,v0,a1
bne a1,zero,0x000129d4
_addiu a1,v0,0x1
lw t9,-0x7e84(gp)
jalr t9
_andi a1,s7,0xff
b 0x0001291c
_lw gp,0x20(sp)
lw a0,0x4(s8)
lw v0,0x8(s8)
sltu v0,a0,v0
beq v0,zero,0x00012b6c
_addiu v0,a0,0x1
sw v0,0x4(s8)
lbu v0,0x0(a0)
lw t9,-0x7e48(gp)
or a1,s8,zero
or a0,v0,zero
jalr t9
_li s6,0x1
lw gp,0x20(sp)
b 0x000127a8
_lw v0,-0x4c94(s0)
lw t9,-0x7e6c(gp)
jalr t9
_or a0,s8,zero
li a1,-0x1
lw gp,0x20(sp)
beq v0,a1,0x000126bc
_or a0,v0,zero
b 0x0001223c
_lw t9,-0x7e48(gp)
lw t9,-0x7e84(gp)
jalr t9
_nop
b 0x00012a80
_lw gp,0x20(sp)
lw s0,0x3c(sp)
lw t9,-0x7dd0(gp)
jalr t9
_lw a0,-0x4c98(s0)
lw v0,0x0(s8)
lw gp,0x20(sp)
andi a0,v0,0x30
bne a0,zero,0x000126c0
_sw zero,-0x4c98(s0)
lw t9,-0x7fb0(gp)
bal 0x00017400
_nop
lw t9,-0x7e6c(gp)
jalr t9
_or a0,s8,zero
li a0,-0x1
bne v0,a0,0x00012ae4
_lw gp,0x20(sp)
b 0x000127a8
_lw v0,-0x4c94(s0)
bne a1,a3,0x000129bc
_lw v0,0x2c(sp)
or a3,a0,zero
lw t9,-0x7de4(gp)
li a1,0x1
lw a2,-0x4ca8(v0)
lw v0,0x34(sp)
jalr t9
_lw a0,-0x4cac(v0)
lw gp,0x20(sp)
b 0x000129bc
_lw a0,0x0(s2)
lw t9,-0x7e84(gp)
jalr t9
_or a1,a3,zero
lw gp,0x20(sp)
b 0x00012454
_lbu a3,-0x4fb8(s3)
jalr t9
_or a1,a2,zero
lw gp,0x20(sp)
b 0x000126c0
_lw v0,0x0(s8)
lw a3,-0x7fc8(gp)
li a2,0x149
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7ebc(gp)
addiu a3,a3,-0x6210
addiu a1,a1,-0x6bec
jalr t9
_addiu a0,a0,-0x6be0
(translation_unit "undefined4 FUN_00012170(undefined4 param_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}\n\n" (function_definition "undefined4 FUN_00012170(undefined4 param_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}" type_identifier (function_declarator "FUN_00012170(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "char cVar21;" primitive_type identifier ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "char cVar27;" primitive_type identifier ;) (declaration "char cVar28;" primitive_type identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (expression_statement "puVar3 = PTR_DAT_0002b108;" (assignment_expression "puVar3 = PTR_DAT_0002b108" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160)" identifier = (call_expression "(*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" ( (pointer_expression "*(code *)PTR_strcmp_0002b31c" * (cast_expression "(code *)PTR_strcmp_0002b31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_DAT_0002b108 + -0x6160)" ( identifier , (binary_expression "PTR_DAT_0002b108 + -0x6160" identifier + number_literal) )))) ;) (if_statement "if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }" { (expression_statement "PTR_DAT_0002b0f8[-0x4cae] = 1;" (assignment_expression "PTR_DAT_0002b0f8[-0x4cae] = 1" (subscript_expression "PTR_DAT_0002b0f8[-0x4cae]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30 = *(uint **)PTR_stdin_0002b298;" (assignment_expression "puVar30 = *(uint **)PTR_stdin_0002b298" identifier = (pointer_expression "*(uint **)PTR_stdin_0002b298" * (cast_expression "(uint **)PTR_stdin_0002b298" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" else (compound_statement "{\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" { (expression_statement "puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);" (assignment_expression "puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" identifier = (cast_expression "(uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" (parenthesized_expression "(*(code *)PTR_fopen64_0002b23c)" ( (pointer_expression "*(code *)PTR_fopen64_0002b23c" * (cast_expression "(code *)PTR_fopen64_0002b23c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_DAT_0002b108 + -0x6270)" ( identifier , (binary_expression "PTR_DAT_0002b108 + -0x6270" identifier + number_literal) ))))) ;) (if_statement "if (puVar30 == (uint *)0x0) goto LAB_00012840;" if (parenthesized_expression "(puVar30 == (uint *)0x0)" ( (binary_expression "puVar30 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012840;" goto statement_identifier ;)) }))) (expression_statement "fadvise(puVar30,2);" (call_expression "fadvise(puVar30,2)" identifier (argument_list "(puVar30,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar2 = PTR_stdout_0002b278;" (assignment_expression "puVar2 = PTR_stdout_0002b278" identifier = identifier) ;) (expression_statement "puVar4 = PTR_frp_0002b110;" (assignment_expression "puVar4 = PTR_frp_0002b110" identifier = identifier) ;) (expression_statement "puVar23 = PTR_DAT_0002b0f8;" (assignment_expression "puVar23 = PTR_DAT_0002b0f8" identifier = identifier) ;) (if_statement "if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1)" ( (binary_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1" (pointer_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" * (cast_expression "(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4ca0)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4ca0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" * (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_frp_0002b110" * (cast_expression "(undefined4 *)PTR_frp_0002b110" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );" statement_identifier : (do_statement "do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );" do (compound_statement "{\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    }" { (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;" if (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" ( (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_000129f4;" goto statement_identifier ;)) (labeled_statement "LAB_00012934:\n      bVar20 = puVar23[-0x4fb8];" statement_identifier : (expression_statement "bVar20 = puVar23[-0x4fb8];" (assignment_expression "bVar20 = puVar23[-0x4fb8]" identifier = (subscript_expression "puVar23[-0x4fb8]" identifier [ number_literal ])) ;)) (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar29 = (uint)*pbVar7;" (assignment_expression "uVar29 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" identifier = identifier) ;) (if_statement "if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(uVar29 != bVar20)" ( (binary_expression "uVar29 != bVar20" identifier != identifier) )) (compound_statement "{\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" { (do_statement "do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );" do (compound_statement "{\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        }" { (expression_statement "uVar16 = uVar26 + 1;" (assignment_expression "uVar16 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "uVar24 = (uVar16 < uVar26) + uVar24;" (assignment_expression "uVar24 = (uVar16 < uVar26) + uVar24" identifier = (binary_expression "(uVar16 < uVar26) + uVar24" (parenthesized_expression "(uVar16 < uVar26)" ( (binary_expression "uVar16 < uVar26" identifier < identifier) )) + identifier)) ;) (if_statement "if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }" if (parenthesized_expression "((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16))))" ( (binary_expression "(puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))" (parenthesized_expression "(puVar10[2] < uVar24)" ( (binary_expression "puVar10[2] < uVar24" (subscript_expression "puVar10[2]" identifier [ number_literal ]) < identifier) )) || (parenthesized_expression "((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))" ( (parenthesized_expression "(puVar10[2] == uVar24 && (puVar10[3] < uVar16))" ( (binary_expression "puVar10[2] == uVar24 && (puVar10[3] < uVar16)" (binary_expression "puVar10[2] == uVar24" (subscript_expression "puVar10[2]" identifier [ number_literal ]) == identifier) && (parenthesized_expression "(puVar10[3] < uVar16)" ( (binary_expression "puVar10[3] < uVar16" (subscript_expression "puVar10[3]" identifier [ number_literal ]) < identifier) ))) )) ))) )) (compound_statement "{\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }" { (expression_statement "puVar10 = puVar10 + 4;" (assignment_expression "puVar10 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "*(uint **)(puVar23 + -0x4c94) = puVar10;" (assignment_expression "*(uint **)(puVar23 + -0x4c94) = puVar10" (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar26 = *puVar10;" (assignment_expression "uVar26 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (if_statement "if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;" if (parenthesized_expression "((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]))))" ( (binary_expression "(uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))" (parenthesized_expression "(uVar24 < uVar26)" ( (binary_expression "uVar24 < uVar26" identifier < identifier) )) || (parenthesized_expression "((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))" ( (parenthesized_expression "(cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]))" ( (comma_expression "cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (assignment_expression "cVar28 = puVar23[-0x4ca4]" identifier = (subscript_expression "puVar23[-0x4ca4]" identifier [ number_literal ])) , (binary_expression "uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (binary_expression "uVar26 == uVar24" identifier == identifier) && (parenthesized_expression "(cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" ( (comma_expression "cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]" (assignment_expression "cVar28 = puVar23[-0x4ca4]" identifier = (subscript_expression "puVar23[-0x4ca4]" identifier [ number_literal ])) , (binary_expression "uVar16 < puVar10[1]" identifier < (subscript_expression "puVar10[1]" identifier [ number_literal ]))) )))) )) ))) )) (goto_statement "goto LAB_0001291c;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" if (parenthesized_expression "(cVar28 == '\0')" ( (binary_expression "cVar28 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }" { (labeled_statement "LAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);" statement_identifier : (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "cVar28 = cVar27;" (assignment_expression "cVar28 = cVar27" identifier = identifier) ;) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }" if (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" ( (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }" { (labeled_statement "LAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar29 & 0xff)" ( identifier , (binary_expression "uVar29 & 0xff" identifier & number_literal) ))) ;)) (expression_statement "cVar27 = cVar28;" (assignment_expression "cVar27 = cVar28" identifier = identifier) ;) (goto_statement "goto LAB_0001291c;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" else (compound_statement "{\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" { (if_statement "if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }" if (parenthesized_expression "(cVar27 != '\0')" ( (binary_expression "cVar27 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }" { (if_statement "if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }" if (parenthesized_expression "((uVar24 == uVar26) && (uVar16 == puVar10[1]))" ( (binary_expression "(uVar24 == uVar26) && (uVar16 == puVar10[1])" (parenthesized_expression "(uVar24 == uVar26)" ( (binary_expression "uVar24 == uVar26" identifier == identifier) )) && (parenthesized_expression "(uVar16 == puVar10[1])" ( (binary_expression "uVar16 == puVar10[1]" identifier == (subscript_expression "puVar10[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6)" ( (pointer_expression "*(undefined4 *)(puVar23 + -0x4cac)" * (cast_expression "(undefined4 *)(puVar23 + -0x4cac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4cac)" ( (binary_expression "puVar23 + -0x4cac" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(puVar23 + -0x4ca8)" * (cast_expression "(undefined4 *)(puVar23 + -0x4ca8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4ca8)" ( (binary_expression "puVar23 + -0x4ca8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto LAB_000129bc;" goto statement_identifier ;) })) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "cVar27 = cVar28;" (assignment_expression "cVar27 = cVar28" identifier = identifier) ;) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;" if (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" ( (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00012ab8;" goto statement_identifier ;)) }))) (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "*puVar11 = (char)uVar29;" (assignment_expression "*puVar11 = (char)uVar29" (pointer_expression "*puVar11" * identifier) = (cast_expression "(char)uVar29" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00012934;" goto statement_identifier ;)) (labeled_statement "LAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);" statement_identifier : (expression_statement "uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;)) (expression_statement "bVar20 = puVar23[-0x4fb8];" (assignment_expression "bVar20 = puVar23[-0x4fb8]" identifier = (subscript_expression "puVar23[-0x4fb8]" identifier [ number_literal ])) ;) (if_statement "if (uVar29 == bVar20) break;" if (parenthesized_expression "(uVar29 == bVar20)" ( (binary_expression "uVar29 == bVar20" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" identifier = identifier) ;) (if_statement "if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }" if (parenthesized_expression "(uVar29 == 0xffffffff)" ( (binary_expression "uVar29 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }" { (if_statement "if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;" if (parenthesized_expression "(uVar24 == 0 && uVar16 == 0)" ( (binary_expression "uVar24 == 0 && uVar16 == 0" (binary_expression "uVar24 == 0" identifier == number_literal) && (binary_expression "uVar16 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_000126bc;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)PTR_stdout_0002b278;" (assignment_expression "iVar6 = *(int *)PTR_stdout_0002b278" identifier = (pointer_expression "*(int *)PTR_stdout_0002b278" * (cast_expression "(int *)PTR_stdout_0002b278" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" if (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" ( (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar6 + 0x18)" * (cast_expression "(byte **)(iVar6 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }" { (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" * identifier) = identifier) ;) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,(uint)bVar20)" ( identifier , (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) }))) (goto_statement "goto LAB_000126c0;" goto statement_identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" if (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" ( (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar6 + 0x18)" * (cast_expression "(byte **)(iVar6 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }" { (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" * identifier) = identifier) ;) }) (else_clause "else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" else (compound_statement "{\n        (*(code *)PTR___overflow_0002b24c)();\n      }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)();" (call_expression "(*(code *)PTR___overflow_0002b24c)()" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4" (pointer_expression "*(undefined4 *)(puVar23 + -0x4c94)" * (cast_expression "(undefined4 *)(puVar23 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar4" * (cast_expression "(undefined4 *)puVar4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pbVar15 = (byte *)puVar30[1];" (assignment_expression "pbVar15 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar7 = (byte *)puVar30[2];" (assignment_expression "pbVar7 = (byte *)puVar30[2]" identifier = (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" * (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_frp_0002b110" * (cast_expression "(undefined4 *)PTR_frp_0002b110" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "(pbVar15 < pbVar7)" ( (binary_expression "pbVar15 < pbVar7" identifier < identifier) )) (compound_statement "{\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }" { (expression_statement "puVar30[1] = (uint)(pbVar15 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar15 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar15 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar15 + 1)" ( (binary_expression "pbVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar16 = (uint)*pbVar15;" (assignment_expression "uVar16 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" else (compound_statement "{\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" { (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;) (if_statement "if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }" { (labeled_statement "LAB_000126bc:\n      uVar16 = *puVar30;" statement_identifier : (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;)) (labeled_statement "LAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" statement_identifier : (if_statement "if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" if (parenthesized_expression "((uVar16 & 0x20) != 0)" ( (binary_expression "(uVar16 & 0x20) != 0" (parenthesized_expression "(uVar16 & 0x20)" ( (binary_expression "uVar16 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" { (labeled_statement "LAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" statement_identifier : (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002b284)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002b284)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002b284)" ( (pointer_expression "*(code *)PTR___errno_location_0002b284" * (cast_expression "(code *)PTR___errno_location_0002b284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar22 = *puVar13;" (assignment_expression "uVar22 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar14 = quotearg_n_style_colon(0,3,param_1);" (assignment_expression "uVar14 = quotearg_n_style_colon(0,3,param_1)" identifier = (call_expression "quotearg_n_style_colon(0,3,param_1)" identifier (argument_list "(0,3,param_1)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "(*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);" (call_expression "(*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14)" (parenthesized_expression "(*(code *)PTR_error_0002b2c0)" ( (pointer_expression "*(code *)PTR_error_0002b2c0" * (cast_expression "(code *)PTR_error_0002b2c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14)" ( number_literal , identifier , (binary_expression "PTR_DAT_0002b108 + -0x6054" identifier + number_literal) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) }))) (expression_statement "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160)" identifier = (call_expression "(*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" ( (pointer_expression "*(code *)PTR_strcmp_0002b31c" * (cast_expression "(code *)PTR_strcmp_0002b31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,puVar3 + -0x6160)" ( identifier , (binary_expression "puVar3 + -0x6160" identifier + number_literal) )))) ;) (if_statement "if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }" { (expression_statement "(*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);" (call_expression "(*(code *)PTR_clearerr_unlocked_0002b254)(puVar30)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0002b254)" ( (pointer_expression "*(code *)PTR_clearerr_unlocked_0002b254" * (cast_expression "(code *)PTR_clearerr_unlocked_0002b254" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier ))) ;) }) (else_clause "else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" else (compound_statement "{\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" { (expression_statement "iVar6 = rpl_fclose(puVar30);" (assignment_expression "iVar6 = rpl_fclose(puVar30)" identifier = (call_expression "rpl_fclose(puVar30)" identifier (argument_list "(puVar30)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) goto LAB_00012840;" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00012840;" goto statement_identifier ;)) }))) (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,puVar30)" ( identifier , identifier ))) ;) (expression_statement "puVar5 = PTR_stdout_0002b278;" (assignment_expression "puVar5 = PTR_stdout_0002b278" identifier = identifier) ;) (expression_statement "puVar2 = PTR_DAT_0002b0f8;" (assignment_expression "puVar2 = PTR_DAT_0002b0f8" identifier = identifier) ;) (expression_statement "cVar27 = '\x01';" (assignment_expression "cVar27 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }" if (parenthesized_expression "((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2))" ( (binary_expression "(**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)" (parenthesized_expression "(**(int **)(puVar23 + -0x4c94) == 0)" ( (binary_expression "**(int **)(puVar23 + -0x4c94) == 0" (pointer_expression "**(int **)(puVar23 + -0x4c94)" * (pointer_expression "*(int **)(puVar23 + -0x4c94)" * (cast_expression "(int **)(puVar23 + -0x4c94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) == number_literal) )) && (parenthesized_expression "((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)" ( (binary_expression "(uint)(*(int **)(puVar23 + -0x4c94))[1] < 2" (subscript_expression "(uint)(*(int **)(puVar23 + -0x4c94))[1]" (call_expression "(uint)(*(int **)(puVar23 + -0x4c94))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int **)(puVar23 + -0x4c94))" ( (pointer_expression "*(int **)(puVar23 + -0x4c94)" * (cast_expression "(int **)(puVar23 + -0x4c94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) ))) [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n    cVar27 = '\0';\n  }" { (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "cVar28 = PTR_DAT_0002b0f8[-0x4ca1];" (assignment_expression "cVar28 = PTR_DAT_0002b0f8[-0x4ca1]" identifier = (subscript_expression "PTR_DAT_0002b0f8[-0x4ca1]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;" (assignment_expression "puVar8 = PTR_DAT_0002b0f8 + -0x4c9c" identifier = (binary_expression "PTR_DAT_0002b0f8 + -0x4c9c" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR_DAT_0002b0f8 + -0x4c98;" (assignment_expression "puVar9 = PTR_DAT_0002b0f8 + -0x4c98" identifier = (binary_expression "PTR_DAT_0002b0f8 + -0x4c98" identifier + number_literal)) ;) (labeled_statement "LAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );" do (compound_statement "{\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  }" { (if_statement "if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (if_statement "if (uVar24 == 1) goto LAB_00012454;" if (parenthesized_expression "(uVar24 == 1)" ( (binary_expression "uVar24 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00012454;" goto statement_identifier ;)) }) (else_clause "else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" else (compound_statement "{\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000122c8:\n    uVar17 = *puVar10;" statement_identifier : (expression_statement "uVar17 = *puVar10;" (assignment_expression "uVar17 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;)) (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" identifier = identifier) ;) (if_statement "if (uVar26 < uVar17) goto LAB_000124b0;" if (parenthesized_expression "(uVar26 < uVar17)" ( (binary_expression "uVar26 < uVar17" identifier < identifier) )) (goto_statement "goto LAB_000124b0;" goto statement_identifier ;)) (labeled_statement "LAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;" statement_identifier : (if_statement "if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;" if (parenthesized_expression "((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1]))" ( (binary_expression "(uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])" (parenthesized_expression "(uVar17 == uVar26)" ( (binary_expression "uVar17 == uVar26" identifier == identifier) )) && (parenthesized_expression "(uVar16 = uVar29, uVar24 < puVar10[1])" ( (comma_expression "uVar16 = uVar29, uVar24 < puVar10[1]" (assignment_expression "uVar16 = uVar29" identifier = identifier) , (binary_expression "uVar24 < puVar10[1]" identifier < (subscript_expression "puVar10[1]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_000124b0;" goto statement_identifier ;))) (if_statement "if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5)" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x4cac)" * (cast_expression "(undefined4 *)(puVar2 + -0x4cac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4cac)" ( (binary_expression "puVar2 + -0x4cac" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(puVar2 + -0x4ca8)" * (cast_expression "(undefined4 *)(puVar2 + -0x4ca8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4ca8)" ( (binary_expression "puVar2 + -0x4ca8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;" if (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" ( (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_00012390;" goto statement_identifier ;)) (while_statement "while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }" { (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar7;" (assignment_expression "uVar17 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar17 == uVar18) break;" if (parenthesized_expression "(uVar17 == uVar18)" ( (binary_expression "uVar17 == uVar18" identifier == identifier) )) (break_statement "break;" break ;)) (while_statement "while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }" { (if_statement "if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }" if (parenthesized_expression "(uVar17 == uVar16)" ( (binary_expression "uVar17 == uVar16" identifier == identifier) )) (compound_statement "{\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_0001260c;" goto statement_identifier ;) })) (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" identifier = identifier) ;) (if_statement "if (uVar17 == 0xffffffff) goto LAB_000124f8;" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_000124f8;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" if (parenthesized_expression "(puVar11 < *(undefined1 **)(iVar6 + 0x18))" ( (binary_expression "puVar11 < *(undefined1 **)(iVar6 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }" { (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "*puVar11 = (char)uVar17;" (assignment_expression "*puVar11 = (char)uVar17" (pointer_expression "*puVar11" * identifier) = (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" else (compound_statement "{\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) }))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar29 = uVar17;" (assignment_expression "uVar29 = uVar17" identifier = identifier) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) break;" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" statement_identifier : (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;)) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar17 == uVar18) goto LAB_000123b4;" if (parenthesized_expression "(uVar17 == uVar18)" ( (binary_expression "uVar17 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_000123b4;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_000123b4:\n    bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" identifier = identifier) ;) (expression_statement "uVar16 = uVar18;" (assignment_expression "uVar16 = uVar18" identifier = identifier) ;) (labeled_statement "LAB_000123b8:\n    if (uVar12 != uVar18) break;" statement_identifier : (if_statement "if (uVar12 != uVar18) break;" if (parenthesized_expression "(uVar12 != uVar18)" ( (binary_expression "uVar12 != uVar18" identifier != identifier) )) (break_statement "break;" break ;))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (compound_statement "{\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }" { (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar7;" (assignment_expression "uVar17 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" else (compound_statement "{\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" { (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;) (if_statement "if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }" { (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_0001241c;" goto statement_identifier ;) })) }))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar17,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17,puVar30)" ( identifier , identifier ))) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" identifier = identifier) ;) (if_statement "if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" if (parenthesized_expression "(uVar16 != uVar18)" ( (binary_expression "uVar16 != uVar18" identifier != identifier) )) (compound_statement "{\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" { (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00012404:\n      uVar12 = (uint)bVar20;" statement_identifier : (expression_statement "uVar12 = (uint)bVar20;" (assignment_expression "uVar12 = (uint)bVar20" identifier = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar16 == uVar12) goto LAB_0001266c;" if (parenthesized_expression "(uVar16 == uVar12)" ( (binary_expression "uVar16 == uVar12" identifier == identifier) )) (goto_statement "goto LAB_0001266c;" goto statement_identifier ;)) (if_statement "if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }" { (labeled_statement "LAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" statement_identifier : (if_statement "if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" if (parenthesized_expression "((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1))" ( (binary_expression "(((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)" (parenthesized_expression "(((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0))" ( (binary_expression "((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)" (parenthesized_expression "((!bVar1) && (puVar2[-0x4ca1] != '\0'))" ( (binary_expression "(!bVar1) && (puVar2[-0x4ca1] != '\0')" (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) && (parenthesized_expression "(puVar2[-0x4ca1] != '\0')" ( (binary_expression "puVar2[-0x4ca1] != '\0'" (subscript_expression "puVar2[-0x4ca1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(uVar24 == 1)" ( (binary_expression "uVar24 == 1" identifier == number_literal) ))) )) (compound_statement "{\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" { (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto joined_r0x00012528;" goto statement_identifier ;) }))) (labeled_statement "LAB_000124f8:\n        uVar16 = 0xffffffff;" statement_identifier : (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;)) (if_statement "if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }" if (parenthesized_expression "(uVar12 == uVar29)" ( (binary_expression "uVar12 == uVar29" identifier == identifier) )) (compound_statement "{\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }" { (if_statement "if (uVar18 != uVar12) goto joined_r0x00012528;" if (parenthesized_expression "(uVar18 != uVar12)" ( (binary_expression "uVar18 != uVar12" identifier != identifier) )) (goto_statement "goto joined_r0x00012528;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          iVar6 = *(int *)puVar5;\n        }" else (compound_statement "{\n          iVar6 = *(int *)puVar5;\n        }" { (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;" if (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" ( (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000126a4;" goto statement_identifier ;)) (labeled_statement "LAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" statement_identifier : (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar11 = (char)uVar12;" (assignment_expression "*puVar11 = (char)uVar12" (pointer_expression "*puVar11" * identifier) = (cast_expression "(char)uVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "joined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );" statement_identifier : (do_statement "do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );" do (compound_statement "{\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        }" { (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" identifier = identifier) ;) (if_statement "if (uVar12 == 0xffffffff) goto LAB_000126bc;" if (parenthesized_expression "(uVar12 == 0xffffffff)" ( (binary_expression "uVar12 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_000126bc;" goto statement_identifier ;)) (do_statement "do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);" do (compound_statement "{\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4" (pointer_expression "*(undefined4 *)(puVar23 + -0x4c94)" * (cast_expression "(undefined4 *)(puVar23 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar4" * (cast_expression "(undefined4 *)puVar4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" identifier = identifier) ;) (if_statement "if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }" if (parenthesized_expression "(cVar27 != cVar28)" ( (binary_expression "cVar27 != cVar28" identifier != identifier) )) (compound_statement "{\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }" { (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" identifier = (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])) ;) (do_statement "do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);" do (compound_statement "{\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              }" { (do_statement "do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');" do (compound_statement "{\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                }" { (expression_statement "iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);" (assignment_expression "iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" identifier = (call_expression "getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" identifier (argument_list "(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" ( identifier , identifier , number_literal , number_literal , identifier , (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" { (expression_statement "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));" (call_expression "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98))" (parenthesized_expression "(*(code *)PTR_free_0002b300)" ( (pointer_expression "*(code *)PTR_free_0002b300" * (cast_expression "(code *)PTR_free_0002b300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x4c98))" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x4c98)" * (cast_expression "(undefined4 *)(puVar2 + -0x4c98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) )))) ))) ;) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x4c98) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x4c98) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x4c98)" * (cast_expression "(undefined4 *)(puVar2 + -0x4c98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((uVar16 & 0x30) != 0) goto LAB_000126c0;" if (parenthesized_expression "((uVar16 & 0x30) != 0)" ( (binary_expression "(uVar16 & 0x30) != 0" (parenthesized_expression "(uVar16 & 0x30)" ( (binary_expression "uVar16 & 0x30" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000126c0;" goto statement_identifier ;)) (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar2;" (assignment_expression "puVar23 = puVar2" identifier = identifier) ;) (labeled_statement "LAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" statement_identifier : (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;)) (if_statement "if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" else (compound_statement "{\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" { (labeled_statement "LAB_00012ae4:\n                      bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,puVar30)" ( identifier , identifier ))) ;) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000127a8:\n                    uVar26 = 0;" statement_identifier : (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;)) (if_statement "if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" if (parenthesized_expression "((puVar10[2] == 0) && (puVar10[3] < 2))" ( (binary_expression "(puVar10[2] == 0) && (puVar10[3] < 2)" (parenthesized_expression "(puVar10[2] == 0)" ( (binary_expression "puVar10[2] == 0" (subscript_expression "puVar10[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(puVar10[3] < 2)" ( (binary_expression "puVar10[3] < 2" (subscript_expression "puVar10[3]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" { (expression_statement "puVar10 = puVar10 + 4;" (assignment_expression "puVar10 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "*(uint **)(puVar23 + -0x4c94) = puVar10;" (assignment_expression "*(uint **)(puVar23 + -0x4c94) = puVar10" (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" else (compound_statement "{\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" { (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_000122c8;" goto statement_identifier ;) })) (if_statement "if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }" { (expression_statement "uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);" (assignment_expression "uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" identifier = (call_expression "(*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" (parenthesized_expression "(*(code *)PTR___assert_fail_0002b214)" ( (pointer_expression "*(code *)PTR___assert_fail_0002b214" * (cast_expression "(code *)PTR___assert_fail_0002b214" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" ( (binary_expression "PTR_DAT_0002b108 + -0x6be0" identifier + number_literal) , (binary_expression "PTR_DAT_0002b108 + -0x6bec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0002b108 + -0x6210" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "iVar25 = iVar6 + -1;" (assignment_expression "iVar25 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" identifier = (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *(int *)(puVar2 + -0x4c98);" (assignment_expression "iVar19 = *(int *)(puVar2 + -0x4c98)" identifier = (pointer_expression "*(int *)(puVar2 + -0x4c98)" * (cast_expression "(int *)(puVar2 + -0x4c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }" if (parenthesized_expression "(*(char *)(iVar19 + iVar25) == cVar21)" ( (binary_expression "*(char *)(iVar19 + iVar25) == cVar21" (pointer_expression "*(char *)(iVar19 + iVar25)" * (cast_expression "(char *)(iVar19 + iVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar25)" ( (binary_expression "iVar19 + iVar25" identifier + identifier) )))) == identifier) )) (compound_statement "{\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (if_statement "if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }" if (parenthesized_expression "((*puVar10 == 0) && (puVar10[1] < 2))" ( (binary_expression "(*puVar10 == 0) && (puVar10[1] < 2)" (parenthesized_expression "(*puVar10 == 0)" ( (binary_expression "*puVar10 == 0" (pointer_expression "*puVar10" * identifier) == number_literal) )) && (parenthesized_expression "(puVar10[1] < 2)" ( (binary_expression "puVar10[1] < 2" (subscript_expression "puVar10[1]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar19,1,iVar25,*(undefined4 *)puVar5)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (if_statement "if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }" if (parenthesized_expression "(puVar2[-0x4ca3] == puVar2[-0x4fb8])" ( (binary_expression "puVar2[-0x4ca3] == puVar2[-0x4fb8]" (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ]) == (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) )) (compound_statement "{\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }" { (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;" if (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" ( (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_00012b6c;" goto statement_identifier ;)) (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar16 = (uint)*pbVar7;" (assignment_expression "uVar16 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_00012ae4;" goto statement_identifier ;) })) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (goto_statement "goto LAB_000127a8;" goto statement_identifier ;) })) }) while (parenthesized_expression "(puVar2[-0x4ca1] != '\0')" ( (binary_expression "puVar2[-0x4ca1] != '\0'" (subscript_expression "puVar2[-0x4ca1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar19,1,iVar6,*(undefined4 *)puVar5)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = (uint)bVar20;" (assignment_expression "uVar16 = (uint)bVar20" identifier = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }" if (parenthesized_expression "((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16)" ( (binary_expression "(int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16" (cast_expression "(int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" * (cast_expression "(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar2 + -0x4c98) + iVar25)" ( (binary_expression "*(int *)(puVar2 + -0x4c98) + iVar25" (pointer_expression "*(int *)(puVar2 + -0x4c98)" * (cast_expression "(int *)(puVar2 + -0x4c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) )))) + identifier) ))))) != identifier) )) (compound_statement "{\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }" { (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" if (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" ( (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar6 + 0x18)" * (cast_expression "(byte **)(iVar6 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }" { (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" * identifier) = identifier) ;) }) (else_clause "else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" else (compound_statement "{\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar16)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar16)" ( identifier , identifier ))) ;) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) }))) })) (labeled_statement "LAB_00012454:\n                cVar21 = puVar2[-0x4ca3];" statement_identifier : (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" identifier = (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])) ;)) }) while (parenthesized_expression "(cVar27 != cVar28)" ( (binary_expression "cVar27 != cVar28" identifier != identifier) )) ;) })) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = *puVar10;" (assignment_expression "uVar17 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" identifier = identifier) ;) (if_statement "if (uVar17 == 0) goto LAB_000122d8;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000122d8;" goto statement_identifier ;)) (labeled_statement "LAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" statement_identifier : (while_statement "while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" { (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }" { (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar16 = (uint)*pbVar7;" (assignment_expression "uVar16 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" else (compound_statement "{\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" { (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;) }))) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar18 == uVar16) goto LAB_000123b8;" if (parenthesized_expression "(uVar18 == uVar16)" ( (binary_expression "uVar18 == uVar16" identifier == identifier) )) (goto_statement "goto LAB_000123b8;" goto statement_identifier ;)) (if_statement "if (uVar16 == uVar12) break;" if (parenthesized_expression "(uVar16 == uVar12)" ( (binary_expression "uVar16 == uVar12" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (uVar16 == 0xffffffff) goto LAB_0001241c;" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001241c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;" statement_identifier : (if_statement "if (uVar12 != uVar18) goto LAB_00012614;" if (parenthesized_expression "(uVar12 != uVar18)" ( (binary_expression "uVar12 != uVar18" identifier != identifier) )) (goto_statement "goto LAB_00012614;" goto statement_identifier ;))) (if_statement "if (uVar16 != uVar12) goto LAB_000122b8;" if (parenthesized_expression "(uVar16 != uVar12)" ( (binary_expression "uVar16 != uVar12" identifier != identifier) )) (goto_statement "goto LAB_000122b8;" goto statement_identifier ;)) (labeled_statement "LAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" statement_identifier : (if_statement "if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" if (parenthesized_expression "(((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0))" ( (binary_expression "((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)" (parenthesized_expression "((bVar1) || (puVar2[-0x4ca1] == '\0'))" ( (binary_expression "(bVar1) || (puVar2[-0x4ca1] == '\0')" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(puVar2[-0x4ca1] == '\0')" ( (binary_expression "puVar2[-0x4ca1] == '\0'" (subscript_expression "puVar2[-0x4ca1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" { (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_00012690;" goto statement_identifier ;) }))) }) while (parenthesized_expression "(uVar24 == 1)" ( (binary_expression "uVar24 == 1" identifier == number_literal) )) ;) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);" statement_identifier : (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" identifier = identifier) ;) (if_statement "if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;" if (parenthesized_expression "(puVar11 < *(undefined1 **)(iVar6 + 0x18))" ( (binary_expression "puVar11 < *(undefined1 **)(iVar6 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00012518;" goto statement_identifier ;)) (labeled_statement "LAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar12)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar12)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (goto_statement "goto LAB_000122b8;" goto statement_identifier ;) })) (labeled_statement "LAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);" statement_identifier : (expression_statement "iVar6 = *(int *)(puVar23 + -0x4c94);" (assignment_expression "iVar6 = *(int *)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(int *)(puVar23 + -0x4c94)" * (cast_expression "(int *)(puVar23 + -0x4c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;)) (expression_statement "uVar24 = uVar17 + 1;" (assignment_expression "uVar24 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = (uVar24 < uVar17) + uVar26;" (assignment_expression "uVar26 = (uVar24 < uVar17) + uVar26" identifier = (binary_expression "(uVar24 < uVar17) + uVar26" (parenthesized_expression "(uVar24 < uVar17)" ( (binary_expression "uVar24 < uVar17" identifier < identifier) )) + identifier)) ;) (if_statement "if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }" if (parenthesized_expression "((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24))))" ( (binary_expression "(*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))" (parenthesized_expression "(*(uint *)(iVar6 + 8) < uVar26)" ( (binary_expression "*(uint *)(iVar6 + 8) < uVar26" (pointer_expression "*(uint *)(iVar6 + 8)" * (cast_expression "(uint *)(iVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) < identifier) )) || (parenthesized_expression "((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))" ( (parenthesized_expression "(*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24))" ( (binary_expression "*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)" (binary_expression "*(uint *)(iVar6 + 8) == uVar26" (pointer_expression "*(uint *)(iVar6 + 8)" * (cast_expression "(uint *)(iVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) == identifier) && (parenthesized_expression "(*(uint *)(iVar6 + 0xc) < uVar24)" ( (binary_expression "*(uint *)(iVar6 + 0xc) < uVar24" (pointer_expression "*(uint *)(iVar6 + 0xc)" * (cast_expression "(uint *)(iVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) < identifier) ))) )) ))) )) (compound_statement "{\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }" { (expression_statement "*(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;" (assignment_expression "*(int *)(puVar23 + -0x4c94) = iVar6 + 0x10" (pointer_expression "*(int *)(puVar23 + -0x4c94)" * (cast_expression "(int *)(puVar23 + -0x4c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = (binary_expression "iVar6 + 0x10" identifier + number_literal)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_00012614:\n  bVar20 = puVar2[-0x4fb8];" statement_identifier : (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;)) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" identifier = identifier) ;) (if_statement "if (uVar16 == uVar18) goto LAB_0001261c;" if (parenthesized_expression "(uVar16 == uVar18)" ( (binary_expression "uVar16 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_0001261c;" goto statement_identifier ;)) (goto_statement "goto LAB_00012404;" goto statement_identifier ;) })))
(translation_unit "_Bool cut_file(char *file)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  byte *pbVar8;\n  size_t *linesize;\n  char **lineptr;\n  uint *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  ssize_t sVar12;\n  undefined4 *puVar13;\n  char *pcVar14;\n  undefined1 uVar15;\n  byte *pbVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte bVar20;\n  undefined4 uVar21;\n  uint uVar22;\n  int iVar23;\n  uint uVar24;\n  char cVar25;\n  char cVar26;\n  uint uVar27;\n  FILE *fp;\n  \n  puVar4 = PTR_DAT_0002b108;\n  iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160);\n  if (iVar7 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    fp = *(FILE **)PTR_stdin_0002b298;\n  }\n  else {\n    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);\n    if (fp == (FILE *)0x0) goto LAB_00012840;\n  }\n  fadvise(fp,FADVISE_SEQUENTIAL);\n  puVar3 = PTR_stdout_0002b278;\n  puVar5 = PTR_frp_0002b110;\n  puVar2 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar22 = 0;\n    uVar17 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar25 = '\0';\nLAB_0001291c:\n    do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );\n  }\n  pbVar16 = (byte *)fp->_IO_read_ptr;\n  pbVar8 = (byte *)fp->_IO_read_end;\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar16 < pbVar8) {\n    fp->_IO_read_ptr = (char *)(pbVar16 + 1);\n    uVar17 = (uint)*pbVar16;\n  }\n  else {\n    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n    if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n  puVar6 = PTR_stdout_0002b278;\n  puVar3 = PTR_DAT_0002b0f8;\n  cVar25 = '\x01';\n  if ((**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)) {\n    cVar25 = '\0';\n  }\n  uVar24 = 0;\n  uVar22 = 1;\n  bVar1 = false;\n  uVar17 = 0;\n  cVar26 = PTR_DAT_0002b0f8[-0x4ca1];\n  linesize = (size_t *)(PTR_DAT_0002b0f8 + -0x4c9c);\n  lineptr = (char **)(PTR_DAT_0002b0f8 + -0x4c98);\nLAB_000122b8:\n  do {\n    if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar18 = *puVar9;\n    uVar27 = uVar17;\n    if (uVar24 < uVar18) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;\n    while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar11 = uVar17;\n    uVar17 = uVar19;\nLAB_000123b8:\n    if (uVar11 != uVar19) break;\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);\n    uVar19 = (uint)(byte)puVar3[-0x4ca3];\n    uVar18 = uVar22;\n    if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);\n    uVar22 = uVar18 + 1;\n    uVar24 = (uVar22 < uVar18) + uVar24;\n    if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar3[-0x4fb8];\n  uVar18 = uVar22;\n  if (uVar17 == uVar19) goto LAB_0001261c;\n  goto LAB_00012404;\n}\n\n" (function_definition "_Bool cut_file(char *file)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  byte *pbVar8;\n  size_t *linesize;\n  char **lineptr;\n  uint *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  ssize_t sVar12;\n  undefined4 *puVar13;\n  char *pcVar14;\n  undefined1 uVar15;\n  byte *pbVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte bVar20;\n  undefined4 uVar21;\n  uint uVar22;\n  int iVar23;\n  uint uVar24;\n  char cVar25;\n  char cVar26;\n  uint uVar27;\n  FILE *fp;\n  \n  puVar4 = PTR_DAT_0002b108;\n  iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160);\n  if (iVar7 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    fp = *(FILE **)PTR_stdin_0002b298;\n  }\n  else {\n    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);\n    if (fp == (FILE *)0x0) goto LAB_00012840;\n  }\n  fadvise(fp,FADVISE_SEQUENTIAL);\n  puVar3 = PTR_stdout_0002b278;\n  puVar5 = PTR_frp_0002b110;\n  puVar2 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar22 = 0;\n    uVar17 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar25 = '\0';\nLAB_0001291c:\n    do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );\n  }\n  pbVar16 = (byte *)fp->_IO_read_ptr;\n  pbVar8 = (byte *)fp->_IO_read_end;\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar16 < pbVar8) {\n    fp->_IO_read_ptr = (char *)(pbVar16 + 1);\n    uVar17 = (uint)*pbVar16;\n  }\n  else {\n    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n    if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n  puVar6 = PTR_stdout_0002b278;\n  puVar3 = PTR_DAT_0002b0f8;\n  cVar25 = '\x01';\n  if ((**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)) {\n    cVar25 = '\0';\n  }\n  uVar24 = 0;\n  uVar22 = 1;\n  bVar1 = false;\n  uVar17 = 0;\n  cVar26 = PTR_DAT_0002b0f8[-0x4ca1];\n  linesize = (size_t *)(PTR_DAT_0002b0f8 + -0x4c9c);\n  lineptr = (char **)(PTR_DAT_0002b0f8 + -0x4c98);\nLAB_000122b8:\n  do {\n    if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar18 = *puVar9;\n    uVar27 = uVar17;\n    if (uVar24 < uVar18) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;\n    while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar11 = uVar17;\n    uVar17 = uVar19;\nLAB_000123b8:\n    if (uVar11 != uVar19) break;\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);\n    uVar19 = (uint)(byte)puVar3[-0x4ca3];\n    uVar18 = uVar22;\n    if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);\n    uVar22 = uVar18 + 1;\n    uVar24 = (uVar22 < uVar18) + uVar24;\n    if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar3[-0x4fb8];\n  uVar18 = uVar22;\n  if (uVar17 == uVar19) goto LAB_0001261c;\n  goto LAB_00012404;\n}" type_identifier (function_declarator "cut_file(char *file)" identifier (parameter_list "(char *file)" ( (parameter_declaration "char *file" primitive_type (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  byte *pbVar8;\n  size_t *linesize;\n  char **lineptr;\n  uint *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  ssize_t sVar12;\n  undefined4 *puVar13;\n  char *pcVar14;\n  undefined1 uVar15;\n  byte *pbVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte bVar20;\n  undefined4 uVar21;\n  uint uVar22;\n  int iVar23;\n  uint uVar24;\n  char cVar25;\n  char cVar26;\n  uint uVar27;\n  FILE *fp;\n  \n  puVar4 = PTR_DAT_0002b108;\n  iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160);\n  if (iVar7 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    fp = *(FILE **)PTR_stdin_0002b298;\n  }\n  else {\n    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);\n    if (fp == (FILE *)0x0) goto LAB_00012840;\n  }\n  fadvise(fp,FADVISE_SEQUENTIAL);\n  puVar3 = PTR_stdout_0002b278;\n  puVar5 = PTR_frp_0002b110;\n  puVar2 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar22 = 0;\n    uVar17 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar25 = '\0';\nLAB_0001291c:\n    do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );\n  }\n  pbVar16 = (byte *)fp->_IO_read_ptr;\n  pbVar8 = (byte *)fp->_IO_read_end;\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar16 < pbVar8) {\n    fp->_IO_read_ptr = (char *)(pbVar16 + 1);\n    uVar17 = (uint)*pbVar16;\n  }\n  else {\n    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n    if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n  puVar6 = PTR_stdout_0002b278;\n  puVar3 = PTR_DAT_0002b0f8;\n  cVar25 = '\x01';\n  if ((**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)) {\n    cVar25 = '\0';\n  }\n  uVar24 = 0;\n  uVar22 = 1;\n  bVar1 = false;\n  uVar17 = 0;\n  cVar26 = PTR_DAT_0002b0f8[-0x4ca1];\n  linesize = (size_t *)(PTR_DAT_0002b0f8 + -0x4c9c);\n  lineptr = (char **)(PTR_DAT_0002b0f8 + -0x4c98);\nLAB_000122b8:\n  do {\n    if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar18 = *puVar9;\n    uVar27 = uVar17;\n    if (uVar24 < uVar18) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;\n    while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar11 = uVar17;\n    uVar17 = uVar19;\nLAB_000123b8:\n    if (uVar11 != uVar19) break;\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);\n    uVar19 = (uint)(byte)puVar3[-0x4ca3];\n    uVar18 = uVar22;\n    if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);\n    uVar22 = uVar18 + 1;\n    uVar24 = (uVar22 < uVar18) + uVar24;\n    if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar3[-0x4fb8];\n  uVar18 = uVar22;\n  if (uVar17 == uVar19) goto LAB_0001261c;\n  goto LAB_00012404;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "size_t *linesize;" primitive_type (pointer_declarator "*linesize" * identifier) ;) (declaration "char **lineptr;" primitive_type (pointer_declarator "**lineptr" * (pointer_declarator "*lineptr" * identifier)) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "ssize_t sVar12;" primitive_type identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined1 uVar15;" type_identifier identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "char cVar25;" primitive_type identifier ;) (declaration "char cVar26;" primitive_type identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "FILE *fp;" type_identifier (pointer_declarator "*fp" * identifier) ;) (expression_statement "puVar4 = PTR_DAT_0002b108;" (assignment_expression "puVar4 = PTR_DAT_0002b108" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160);" (assignment_expression "iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160)" identifier = (call_expression "(*(code *)PTR_strcmp_0002b31c)(file,PTR_DAT_0002b108 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" ( (pointer_expression "*(code *)PTR_strcmp_0002b31c" * (cast_expression "(code *)PTR_strcmp_0002b31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,PTR_DAT_0002b108 + -0x6160)" ( identifier , (binary_expression "PTR_DAT_0002b108 + -0x6160" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    fp = *(FILE **)PTR_stdin_0002b298;\n  }\n  else {\n    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);\n    if (fp == (FILE *)0x0) goto LAB_00012840;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    fp = *(FILE **)PTR_stdin_0002b298;\n  }" { (expression_statement "PTR_DAT_0002b0f8[-0x4cae] = 1;" (assignment_expression "PTR_DAT_0002b0f8[-0x4cae] = 1" (subscript_expression "PTR_DAT_0002b0f8[-0x4cae]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fp = *(FILE **)PTR_stdin_0002b298;" (assignment_expression "fp = *(FILE **)PTR_stdin_0002b298" identifier = (pointer_expression "*(FILE **)PTR_stdin_0002b298" * (cast_expression "(FILE **)PTR_stdin_0002b298" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);\n    if (fp == (FILE *)0x0) goto LAB_00012840;\n  }" else (compound_statement "{\n    fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);\n    if (fp == (FILE *)0x0) goto LAB_00012840;\n  }" { (expression_statement "fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270);" (assignment_expression "fp = (FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270)" identifier = (cast_expression "(FILE *)(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_fopen64_0002b23c)(file,PTR_DAT_0002b108 + -0x6270)" (parenthesized_expression "(*(code *)PTR_fopen64_0002b23c)" ( (pointer_expression "*(code *)PTR_fopen64_0002b23c" * (cast_expression "(code *)PTR_fopen64_0002b23c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,PTR_DAT_0002b108 + -0x6270)" ( identifier , (binary_expression "PTR_DAT_0002b108 + -0x6270" identifier + number_literal) ))))) ;) (if_statement "if (fp == (FILE *)0x0) goto LAB_00012840;" if (parenthesized_expression "(fp == (FILE *)0x0)" ( (binary_expression "fp == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012840;" goto statement_identifier ;)) }))) (expression_statement "fadvise(fp,FADVISE_SEQUENTIAL);" (call_expression "fadvise(fp,FADVISE_SEQUENTIAL)" identifier (argument_list "(fp,FADVISE_SEQUENTIAL)" ( identifier , identifier ))) ;) (expression_statement "puVar3 = PTR_stdout_0002b278;" (assignment_expression "puVar3 = PTR_stdout_0002b278" identifier = identifier) ;) (expression_statement "puVar5 = PTR_frp_0002b110;" (assignment_expression "puVar5 = PTR_frp_0002b110" identifier = identifier) ;) (expression_statement "puVar2 = PTR_DAT_0002b0f8;" (assignment_expression "puVar2 = PTR_DAT_0002b0f8" identifier = identifier) ;) (if_statement "if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar22 = 0;\n    uVar17 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar25 = '\0';\nLAB_0001291c:\n    do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1)" ( (binary_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1" (pointer_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" * (cast_expression "(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4ca0)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4ca0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar22 = 0;\n    uVar17 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar25 = '\0';\nLAB_0001291c:\n    do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );\n  }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" * (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_frp_0002b110" * (cast_expression "(undefined4 *)PTR_frp_0002b110" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar25 = '\0';" (assignment_expression "cVar25 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_0001291c:\n    do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );" statement_identifier : (do_statement "do {\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    } while( true );" do (compound_statement "{\n      pbVar8 = (byte *)fp->_IO_read_ptr;\n      if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar2[-0x4fb8];\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar27 = (uint)*pbVar8;\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      uVar24 = uVar17;\n      if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar7 = *(int *)puVar3;\n      pbVar8 = *(byte **)(iVar7 + 0x14);\n      if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar22 = 0;\n      uVar17 = 0;\n      *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n      cVar25 = '\0';\n    }" { (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (fp->_IO_read_end <= pbVar8) goto LAB_000129f4;" if (parenthesized_expression "(fp->_IO_read_end <= pbVar8)" ( (binary_expression "fp->_IO_read_end <= pbVar8" (field_expression "fp->_IO_read_end" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_000129f4;" goto statement_identifier ;)) (labeled_statement "LAB_00012934:\n      bVar20 = puVar2[-0x4fb8];" statement_identifier : (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;)) (expression_statement "fp->_IO_read_ptr = (char *)(pbVar8 + 1);" (assignment_expression "fp->_IO_read_ptr = (char *)(pbVar8 + 1)" (field_expression "fp->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar27 = (uint)*pbVar8;" (assignment_expression "uVar27 = (uint)*pbVar8" identifier = (binary_expression "(uint)*pbVar8" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = uVar17;" (assignment_expression "uVar24 = uVar17" identifier = identifier) ;) (if_statement "if (uVar27 != bVar20) {\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(uVar27 != bVar20)" ( (binary_expression "uVar27 != bVar20" identifier != identifier) )) (compound_statement "{\n        do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" { (do_statement "do {\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );" do (compound_statement "{\n          uVar17 = uVar24 + 1;\n          uVar22 = (uVar17 < uVar24) + uVar22;\n          if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }\n          uVar24 = *puVar9;\n          if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;\n          iVar7 = *(int *)puVar3;\n          if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar27;\n          pbVar8 = (byte *)fp->_IO_read_ptr;\n          if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;\nLAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);\n          bVar20 = puVar2[-0x4fb8];\n          if (uVar27 == bVar20) break;\n          puVar9 = *(uint **)(puVar2 + -0x4c94);\n          uVar24 = uVar17;\n          if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }\n        }" { (expression_statement "uVar17 = uVar24 + 1;" (assignment_expression "uVar17 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "uVar22 = (uVar17 < uVar24) + uVar22;" (assignment_expression "uVar22 = (uVar17 < uVar24) + uVar22" identifier = (binary_expression "(uVar17 < uVar24) + uVar22" (parenthesized_expression "(uVar17 < uVar24)" ( (binary_expression "uVar17 < uVar24" identifier < identifier) )) + identifier)) ;) (if_statement "if ((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))) {\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }" if (parenthesized_expression "((puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17))))" ( (binary_expression "(puVar9[2] < uVar22) || ((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))" (parenthesized_expression "(puVar9[2] < uVar22)" ( (binary_expression "puVar9[2] < uVar22" (subscript_expression "puVar9[2]" identifier [ number_literal ]) < identifier) )) || (parenthesized_expression "((puVar9[2] == uVar22 && (puVar9[3] < uVar17)))" ( (parenthesized_expression "(puVar9[2] == uVar22 && (puVar9[3] < uVar17))" ( (binary_expression "puVar9[2] == uVar22 && (puVar9[3] < uVar17)" (binary_expression "puVar9[2] == uVar22" (subscript_expression "puVar9[2]" identifier [ number_literal ]) == identifier) && (parenthesized_expression "(puVar9[3] < uVar17)" ( (binary_expression "puVar9[3] < uVar17" (subscript_expression "puVar9[3]" identifier [ number_literal ]) < identifier) ))) )) ))) )) (compound_statement "{\n            puVar9 = puVar9 + 4;\n            *(uint **)(puVar2 + -0x4c94) = puVar9;\n          }" { (expression_statement "puVar9 = puVar9 + 4;" (assignment_expression "puVar9 = puVar9 + 4" identifier = (binary_expression "puVar9 + 4" identifier + number_literal)) ;) (expression_statement "*(uint **)(puVar2 + -0x4c94) = puVar9;" (assignment_expression "*(uint **)(puVar2 + -0x4c94) = puVar9" (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar24 = *puVar9;" (assignment_expression "uVar24 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (if_statement "if ((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))) goto LAB_0001291c;" if (parenthesized_expression "((uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1]))))" ( (binary_expression "(uVar22 < uVar24) ||\n             ((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))" (parenthesized_expression "(uVar22 < uVar24)" ( (binary_expression "uVar22 < uVar24" identifier < identifier) )) || (parenthesized_expression "((cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])))" ( (parenthesized_expression "(cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1]))" ( (comma_expression "cVar26 = puVar2[-0x4ca4], uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])" (assignment_expression "cVar26 = puVar2[-0x4ca4]" identifier = (subscript_expression "puVar2[-0x4ca4]" identifier [ number_literal ])) , (binary_expression "uVar24 == uVar22 &&\n              (cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])" (binary_expression "uVar24 == uVar22" identifier == identifier) && (parenthesized_expression "(cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1])" ( (comma_expression "cVar26 = puVar2[-0x4ca4], uVar17 < puVar9[1]" (assignment_expression "cVar26 = puVar2[-0x4ca4]" identifier = (subscript_expression "puVar2[-0x4ca4]" identifier [ number_literal ])) , (binary_expression "uVar17 < puVar9[1]" identifier < (subscript_expression "puVar9[1]" identifier [ number_literal ]))) )))) )) ))) )) (goto_statement "goto LAB_0001291c;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)puVar3;" (assignment_expression "iVar7 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (cVar26 == '\0') {\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }" if (parenthesized_expression "(cVar26 == '\0')" ( (binary_expression "cVar26 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar26 = cVar25;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }\n          }" { (labeled_statement "LAB_000129bc:\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);" statement_identifier : (expression_statement "puVar10 = *(undefined1 **)(iVar7 + 0x14);" (assignment_expression "puVar10 = *(undefined1 **)(iVar7 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "cVar26 = cVar25;" (assignment_expression "cVar26 = cVar25" identifier = identifier) ;) (if_statement "if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }" if (parenthesized_expression "(*(undefined1 **)(iVar7 + 0x18) <= puVar10)" ( (binary_expression "*(undefined1 **)(iVar7 + 0x18) <= puVar10" (pointer_expression "*(undefined1 **)(iVar7 + 0x18)" * (cast_expression "(undefined1 **)(iVar7 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);\n              cVar25 = cVar26;\n              goto LAB_0001291c;\n            }" { (labeled_statement "LAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar27 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,uVar27 & 0xff)" ( identifier , (binary_expression "uVar27 & 0xff" identifier & number_literal) ))) ;)) (expression_statement "cVar25 = cVar26;" (assignment_expression "cVar25 = cVar26" identifier = identifier) ;) (goto_statement "goto LAB_0001291c;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }" else (compound_statement "{\n            if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }\n            puVar10 = *(undefined1 **)(iVar7 + 0x14);\n            cVar25 = cVar26;\n            if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;\n          }" { (if_statement "if (cVar25 != '\0') {\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }" if (parenthesized_expression "(cVar25 != '\0')" ( (binary_expression "cVar25 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }\n              goto LAB_000129bc;\n            }" { (if_statement "if ((uVar22 == uVar24) && (uVar17 == puVar9[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }" if (parenthesized_expression "((uVar22 == uVar24) && (uVar17 == puVar9[1]))" ( (binary_expression "(uVar22 == uVar24) && (uVar17 == puVar9[1])" (parenthesized_expression "(uVar22 == uVar24)" ( (binary_expression "uVar22 == uVar24" identifier == identifier) )) && (parenthesized_expression "(uVar17 == puVar9[1])" ( (binary_expression "uVar17 == puVar9[1]" identifier == (subscript_expression "puVar9[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);\n                iVar7 = *(int *)puVar3;\n              }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                           iVar7)" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x4cac)" * (cast_expression "(undefined4 *)(puVar2 + -0x4cac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4cac)" ( (binary_expression "puVar2 + -0x4cac" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(puVar2 + -0x4ca8)" * (cast_expression "(undefined4 *)(puVar2 + -0x4ca8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4ca8)" ( (binary_expression "puVar2 + -0x4ca8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iVar7 = *(int *)puVar3;" (assignment_expression "iVar7 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto LAB_000129bc;" goto statement_identifier ;) })) (expression_statement "puVar10 = *(undefined1 **)(iVar7 + 0x14);" (assignment_expression "puVar10 = *(undefined1 **)(iVar7 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "cVar25 = cVar26;" (assignment_expression "cVar25 = cVar26" identifier = identifier) ;) (if_statement "if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_00012ab8;" if (parenthesized_expression "(*(undefined1 **)(iVar7 + 0x18) <= puVar10)" ( (binary_expression "*(undefined1 **)(iVar7 + 0x18) <= puVar10" (pointer_expression "*(undefined1 **)(iVar7 + 0x18)" * (cast_expression "(undefined1 **)(iVar7 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00012ab8;" goto statement_identifier ;)) }))) (expression_statement "*(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;" (assignment_expression "*(undefined1 **)(iVar7 + 0x14) = puVar10 + 1" (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "*puVar10 = (char)uVar27;" (assignment_expression "*puVar10 = (char)uVar27" (pointer_expression "*puVar10" * identifier) = (cast_expression "(char)uVar27" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < fp->_IO_read_end) goto LAB_00012934;" if (parenthesized_expression "(pbVar8 < fp->_IO_read_end)" ( (binary_expression "pbVar8 < fp->_IO_read_end" identifier < (field_expression "fp->_IO_read_end" identifier -> field_identifier)) )) (goto_statement "goto LAB_00012934;" goto statement_identifier ;)) (labeled_statement "LAB_000129f4:\n          uVar27 = (*(code *)PTR___uflow_0002b264)(fp);" statement_identifier : (expression_statement "uVar27 = (*(code *)PTR___uflow_0002b264)(fp);" (assignment_expression "uVar27 = (*(code *)PTR___uflow_0002b264)(fp)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(fp)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;)) (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;) (if_statement "if (uVar27 == bVar20) break;" if (parenthesized_expression "(uVar27 == bVar20)" ( (binary_expression "uVar27 == bVar20" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = uVar17;" (assignment_expression "uVar24 = uVar17" identifier = identifier) ;) (if_statement "if (uVar27 == 0xffffffff) {\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }" if (parenthesized_expression "(uVar27 == 0xffffffff)" ( (binary_expression "uVar27 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;\n            iVar7 = *(int *)PTR_stdout_0002b278;\n            pbVar8 = *(byte **)(iVar7 + 0x14);\n            if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }\n            goto LAB_000126c0;\n          }" { (if_statement "if (uVar22 == 0 && uVar17 == 0) goto LAB_000126bc;" if (parenthesized_expression "(uVar22 == 0 && uVar17 == 0)" ( (binary_expression "uVar22 == 0 && uVar17 == 0" (binary_expression "uVar22 == 0" identifier == number_literal) && (binary_expression "uVar17 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_000126bc;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)PTR_stdout_0002b278;" (assignment_expression "iVar7 = *(int *)PTR_stdout_0002b278" identifier = (pointer_expression "*(int *)PTR_stdout_0002b278" * (cast_expression "(int *)PTR_stdout_0002b278" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = *(byte **)(iVar7 + 0x14);" (assignment_expression "pbVar8 = *(byte **)(iVar7 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar7 + 0x14)" * (cast_expression "(byte **)(iVar7 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }" if (parenthesized_expression "(pbVar8 < *(byte **)(iVar7 + 0x18))" ( (binary_expression "pbVar8 < *(byte **)(iVar7 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar7 + 0x18)" * (cast_expression "(byte **)(iVar7 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n              *pbVar8 = bVar20;\n              uVar17 = fp->_flags;\n            }" { (expression_statement "*(byte **)(iVar7 + 0x14) = pbVar8 + 1;" (assignment_expression "*(byte **)(iVar7 + 0x14) = pbVar8 + 1" (pointer_expression "*(byte **)(iVar7 + 0x14)" * (cast_expression "(byte **)(iVar7 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar8 = bVar20;" (assignment_expression "*pbVar8 = bVar20" (pointer_expression "*pbVar8" * identifier) = identifier) ;) (expression_statement "uVar17 = fp->_flags;" (assignment_expression "uVar17 = fp->_flags" identifier = (field_expression "fp->_flags" identifier -> field_identifier)) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);\n              uVar17 = fp->_flags;\n            }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar7,(uint)bVar20)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,(uint)bVar20)" ( identifier , (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "uVar17 = fp->_flags;" (assignment_expression "uVar17 = fp->_flags" identifier = (field_expression "fp->_flags" identifier -> field_identifier)) ;) }))) (goto_statement "goto LAB_000126c0;" goto statement_identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar7 = *(int *)puVar3;" (assignment_expression "iVar7 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = *(byte **)(iVar7 + 0x14);" (assignment_expression "pbVar8 = *(byte **)(iVar7 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar7 + 0x14)" * (cast_expression "(byte **)(iVar7 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" if (parenthesized_expression "(pbVar8 < *(byte **)(iVar7 + 0x18))" ( (binary_expression "pbVar8 < *(byte **)(iVar7 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar7 + 0x18)" * (cast_expression "(byte **)(iVar7 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n        *pbVar8 = bVar20;\n      }" { (expression_statement "*(byte **)(iVar7 + 0x14) = pbVar8 + 1;" (assignment_expression "*(byte **)(iVar7 + 0x14) = pbVar8 + 1" (pointer_expression "*(byte **)(iVar7 + 0x14)" * (cast_expression "(byte **)(iVar7 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar8 = bVar20;" (assignment_expression "*pbVar8 = bVar20" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }) (else_clause "else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" else (compound_statement "{\n        (*(code *)PTR___overflow_0002b24c)();\n      }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)();" (call_expression "(*(code *)PTR___overflow_0002b24c)()" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;" (assignment_expression "*(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5" (pointer_expression "*(undefined4 *)(puVar2 + -0x4c94)" * (cast_expression "(undefined4 *)(puVar2 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar25 = '\0';" (assignment_expression "cVar25 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pbVar16 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar16 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (expression_statement "pbVar8 = (byte *)fp->_IO_read_end;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_end" identifier = (cast_expression "(byte *)fp->_IO_read_end" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_end" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" * (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_frp_0002b110" * (cast_expression "(undefined4 *)PTR_frp_0002b110" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pbVar16 < pbVar8) {\n    fp->_IO_read_ptr = (char *)(pbVar16 + 1);\n    uVar17 = (uint)*pbVar16;\n  }\n  else {\n    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n    if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }\n  }" if (parenthesized_expression "(pbVar16 < pbVar8)" ( (binary_expression "pbVar16 < pbVar8" identifier < identifier) )) (compound_statement "{\n    fp->_IO_read_ptr = (char *)(pbVar16 + 1);\n    uVar17 = (uint)*pbVar16;\n  }" { (expression_statement "fp->_IO_read_ptr = (char *)(pbVar16 + 1);" (assignment_expression "fp->_IO_read_ptr = (char *)(pbVar16 + 1)" (field_expression "fp->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar16 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar16 + 1)" ( (binary_expression "pbVar16 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar16;" (assignment_expression "uVar17 = (uint)*pbVar16" identifier = (binary_expression "(uint)*pbVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n    if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }\n  }" else (compound_statement "{\n    uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n    if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }\n  }" { (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(fp);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(fp)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(fp)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;) (if_statement "if (uVar17 == 0xffffffff) {\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_000126bc:\n      uVar17 = fp->_flags;\nLAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }\n      iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);\n      if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }\n      return true;\n    }" { (labeled_statement "LAB_000126bc:\n      uVar17 = fp->_flags;" statement_identifier : (expression_statement "uVar17 = fp->_flags;" (assignment_expression "uVar17 = fp->_flags" identifier = (field_expression "fp->_flags" identifier -> field_identifier)) ;)) (labeled_statement "LAB_000126c0:\n      if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }" statement_identifier : (if_statement "if ((uVar17 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }" if (parenthesized_expression "((uVar17 & 0x20) != 0)" ( (binary_expression "(uVar17 & 0x20) != 0" (parenthesized_expression "(uVar17 & 0x20)" ( (binary_expression "uVar17 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar21 = *puVar13;\n        pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);\n        (*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);\n        return false;\n      }" { (labeled_statement "LAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" statement_identifier : (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002b284)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002b284)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002b284)" ( (pointer_expression "*(code *)PTR___errno_location_0002b284" * (cast_expression "(code *)PTR___errno_location_0002b284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar21 = *puVar13;" (assignment_expression "uVar21 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file);" (assignment_expression "pcVar14 = quotearg_n_style_colon(0,shell_escape_quoting_style,file)" identifier = (call_expression "quotearg_n_style_colon(0,shell_escape_quoting_style,file)" identifier (argument_list "(0,shell_escape_quoting_style,file)" ( number_literal , identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14);" (call_expression "(*(code *)PTR_error_0002b2c0)(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14)" (parenthesized_expression "(*(code *)PTR_error_0002b2c0)" ( (pointer_expression "*(code *)PTR_error_0002b2c0" * (cast_expression "(code *)PTR_error_0002b2c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,uVar21,PTR_DAT_0002b108 + -0x6054,pcVar14)" ( number_literal , identifier , (binary_expression "PTR_DAT_0002b108 + -0x6054" identifier + number_literal) , identifier ))) ;) (return_statement "return false;" return false ;) }))) (expression_statement "iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160);" (assignment_expression "iVar7 = (*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160)" identifier = (call_expression "(*(code *)PTR_strcmp_0002b31c)(file,puVar4 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" ( (pointer_expression "*(code *)PTR_strcmp_0002b31c" * (cast_expression "(code *)PTR_strcmp_0002b31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,puVar4 + -0x6160)" ( identifier , (binary_expression "puVar4 + -0x6160" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }\n      else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_clearerr_unlocked_0002b254)(fp);\n      }" { (expression_statement "(*(code *)PTR_clearerr_unlocked_0002b254)(fp);" (call_expression "(*(code *)PTR_clearerr_unlocked_0002b254)(fp)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0002b254)" ( (pointer_expression "*(code *)PTR_clearerr_unlocked_0002b254" * (cast_expression "(code *)PTR_clearerr_unlocked_0002b254" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier ))) ;) }) (else_clause "else {\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }" else (compound_statement "{\n        iVar7 = rpl_fclose(fp);\n        if (iVar7 == -1) goto LAB_00012840;\n      }" { (expression_statement "iVar7 = rpl_fclose(fp);" (assignment_expression "iVar7 = rpl_fclose(fp)" identifier = (call_expression "rpl_fclose(fp)" identifier (argument_list "(fp)" ( identifier )))) ;) (if_statement "if (iVar7 == -1) goto LAB_00012840;" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00012840;" goto statement_identifier ;)) }))) (return_statement "return true;" return true ;) })) }))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar17,fp);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar17,fp)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17,fp)" ( identifier , identifier ))) ;) (expression_statement "puVar6 = PTR_stdout_0002b278;" (assignment_expression "puVar6 = PTR_stdout_0002b278" identifier = identifier) ;) (expression_statement "puVar3 = PTR_DAT_0002b0f8;" (assignment_expression "puVar3 = PTR_DAT_0002b0f8" identifier = identifier) ;) (expression_statement "cVar25 = '\x01';" (assignment_expression "cVar25 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if ((**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)) {\n    cVar25 = '\0';\n  }" if (parenthesized_expression "((**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2))" ( (binary_expression "(**(int **)(puVar2 + -0x4c94) == 0) && ((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)" (parenthesized_expression "(**(int **)(puVar2 + -0x4c94) == 0)" ( (binary_expression "**(int **)(puVar2 + -0x4c94) == 0" (pointer_expression "**(int **)(puVar2 + -0x4c94)" * (pointer_expression "*(int **)(puVar2 + -0x4c94)" * (cast_expression "(int **)(puVar2 + -0x4c94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) == number_literal) )) && (parenthesized_expression "((uint)(*(int **)(puVar2 + -0x4c94))[1] < 2)" ( (binary_expression "(uint)(*(int **)(puVar2 + -0x4c94))[1] < 2" (subscript_expression "(uint)(*(int **)(puVar2 + -0x4c94))[1]" (call_expression "(uint)(*(int **)(puVar2 + -0x4c94))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int **)(puVar2 + -0x4c94))" ( (pointer_expression "*(int **)(puVar2 + -0x4c94)" * (cast_expression "(int **)(puVar2 + -0x4c94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) )))) ))) [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n    cVar25 = '\0';\n  }" { (expression_statement "cVar25 = '\0';" (assignment_expression "cVar25 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "cVar26 = PTR_DAT_0002b0f8[-0x4ca1];" (assignment_expression "cVar26 = PTR_DAT_0002b0f8[-0x4ca1]" identifier = (subscript_expression "PTR_DAT_0002b0f8[-0x4ca1]" identifier [ number_literal ])) ;) (expression_statement "linesize = (size_t *)(PTR_DAT_0002b0f8 + -0x4c9c);" (assignment_expression "linesize = (size_t *)(PTR_DAT_0002b0f8 + -0x4c9c)" identifier = (cast_expression "(size_t *)(PTR_DAT_0002b0f8 + -0x4c9c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c9c)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c9c" identifier + number_literal) )))) ;) (expression_statement "lineptr = (char **)(PTR_DAT_0002b0f8 + -0x4c98);" (assignment_expression "lineptr = (char **)(PTR_DAT_0002b0f8 + -0x4c98)" identifier = (cast_expression "(char **)(PTR_DAT_0002b0f8 + -0x4c98)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c98)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c98" identifier + number_literal) )))) ;) (labeled_statement "LAB_000122b8:\n  do {\n    if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar18 = *puVar9;\n    uVar27 = uVar17;\n    if (uVar24 < uVar18) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;\n    while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar11 = uVar17;\n    uVar17 = uVar19;\nLAB_000123b8:\n    if (uVar11 != uVar19) break;\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);\n    uVar19 = (uint)(byte)puVar3[-0x4ca3];\n    uVar18 = uVar22;\n    if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);\n    uVar22 = uVar18 + 1;\n    uVar24 = (uVar22 < uVar18) + uVar24;\n    if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar18 = *puVar9;\n    uVar27 = uVar17;\n    if (uVar24 < uVar18) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;\n    while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar11 = uVar17;\n    uVar17 = uVar19;\nLAB_000123b8:\n    if (uVar11 != uVar19) break;\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);\n    uVar19 = (uint)(byte)puVar3[-0x4ca3];\n    uVar18 = uVar22;\n    if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);\n    uVar22 = uVar18 + 1;\n    uVar24 = (uVar22 < uVar18) + uVar24;\n    if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }\n  } while( true );" do (compound_statement "{\n    if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar18 = *puVar9;\n    uVar27 = uVar17;\n    if (uVar24 < uVar18) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;\n    while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar11 = uVar17;\n    uVar17 = uVar19;\nLAB_000123b8:\n    if (uVar11 != uVar19) break;\n    pbVar8 = (byte *)fp->_IO_read_ptr;\n    if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar18,fp);\n    uVar19 = (uint)(byte)puVar3[-0x4ca3];\n    uVar18 = uVar22;\n    if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);\n    uVar22 = uVar18 + 1;\n    uVar24 = (uVar22 < uVar18) + uVar24;\n    if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }\n  }" { (if_statement "if (uVar24 == 0) {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n      if (uVar22 == 1) goto LAB_00012454;\n    }" { (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (if_statement "if (uVar22 == 1) goto LAB_00012454;" if (parenthesized_expression "(uVar22 == 1)" ( (binary_expression "uVar22 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00012454;" goto statement_identifier ;)) }) (else_clause "else {\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }" else (compound_statement "{\n      puVar9 = *(uint **)(puVar2 + -0x4c94);\n    }" { (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000122c8:\n    uVar18 = *puVar9;" statement_identifier : (expression_statement "uVar18 = *puVar9;" (assignment_expression "uVar18 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;)) (expression_statement "uVar27 = uVar17;" (assignment_expression "uVar27 = uVar17" identifier = identifier) ;) (if_statement "if (uVar24 < uVar18) goto LAB_000124b0;" if (parenthesized_expression "(uVar24 < uVar18)" ( (binary_expression "uVar24 < uVar18" identifier < identifier) )) (goto_statement "goto LAB_000124b0;" goto statement_identifier ;)) (labeled_statement "LAB_000122d8:\n    if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;" statement_identifier : (if_statement "if ((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])) goto LAB_000124b0;" if (parenthesized_expression "((uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1]))" ( (binary_expression "(uVar18 == uVar24) && (uVar17 = uVar27, uVar22 < puVar9[1])" (parenthesized_expression "(uVar18 == uVar24)" ( (binary_expression "uVar18 == uVar24" identifier == identifier) )) && (parenthesized_expression "(uVar17 = uVar27, uVar22 < puVar9[1])" ( (comma_expression "uVar17 = uVar27, uVar22 < puVar9[1]" (assignment_expression "uVar17 = uVar27" identifier = identifier) , (binary_expression "uVar22 < puVar9[1]" identifier < (subscript_expression "puVar9[1]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_000124b0;" goto statement_identifier ;))) (if_statement "if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);\n    }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar3 + -0x4cac),1,*(undefined4 *)(puVar3 + -0x4ca8),\n                 *(undefined4 *)puVar6)" ( (pointer_expression "*(undefined4 *)(puVar3 + -0x4cac)" * (cast_expression "(undefined4 *)(puVar3 + -0x4cac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x4cac)" ( (binary_expression "puVar3 + -0x4cac" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(puVar3 + -0x4ca8)" * (cast_expression "(undefined4 *)(puVar3 + -0x4ca8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x4ca8)" ( (binary_expression "puVar3 + -0x4ca8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (fp->_IO_read_end <= pbVar8) goto LAB_00012390;" if (parenthesized_expression "(fp->_IO_read_end <= pbVar8)" ( (binary_expression "fp->_IO_read_end <= pbVar8" (field_expression "fp->_IO_read_end" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_00012390;" goto statement_identifier ;)) (while_statement "while( true ) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n      uVar19 = (uint)(byte)puVar3[-0x4ca3];\n      uVar17 = (uint)(byte)puVar3[-0x4fb8];\n      if (uVar18 == uVar19) break;\n      while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }\n    }" { (expression_statement "fp->_IO_read_ptr = (char *)(pbVar8 + 1);" (assignment_expression "fp->_IO_read_ptr = (char *)(pbVar8 + 1)" (field_expression "fp->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar18 = (uint)*pbVar8;" (assignment_expression "uVar18 = (uint)*pbVar8" identifier = (binary_expression "(uint)*pbVar8" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar19 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar19 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar17 = (uint)(byte)puVar3[-0x4fb8];" (assignment_expression "uVar17 = (uint)(byte)puVar3[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar18 == uVar19) break;" if (parenthesized_expression "(uVar18 == uVar19)" ( (binary_expression "uVar18 == uVar19" identifier == identifier) )) (break_statement "break;" break ;)) (while_statement "while( true ) {\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar11 = uVar17;\n        if (uVar18 == 0xffffffff) goto LAB_000124f8;\n        iVar7 = *(int *)puVar6;\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }\n        pbVar8 = (byte *)fp->_IO_read_ptr;\n        uVar27 = uVar18;\n        if (pbVar8 < fp->_IO_read_end) break;\nLAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        uVar17 = (uint)(byte)puVar3[-0x4fb8];\n        if (uVar18 == uVar19) goto LAB_000123b4;\n      }" { (if_statement "if (uVar18 == uVar17) {\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }" if (parenthesized_expression "(uVar18 == uVar17)" ( (binary_expression "uVar18 == uVar17" identifier == identifier) )) (compound_statement "{\n          bVar1 = true;\n          uVar19 = (uint)(byte)puVar3[-0x4ca3];\n          uVar11 = (uint)(byte)puVar3[-0x4fb8];\n          goto LAB_0001260c;\n        }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "uVar19 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar19 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = (uint)(byte)puVar3[-0x4fb8];" (assignment_expression "uVar11 = (uint)(byte)puVar3[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_0001260c;" goto statement_identifier ;) })) (expression_statement "uVar11 = uVar17;" (assignment_expression "uVar11 = uVar17" identifier = identifier) ;) (if_statement "if (uVar18 == 0xffffffff) goto LAB_000124f8;" if (parenthesized_expression "(uVar18 == 0xffffffff)" ( (binary_expression "uVar18 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_000124f8;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)puVar6;" (assignment_expression "iVar7 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar10 = *(undefined1 **)(iVar7 + 0x14);" (assignment_expression "puVar10 = *(undefined1 **)(iVar7 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) {\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }" if (parenthesized_expression "(puVar10 < *(undefined1 **)(iVar7 + 0x18))" ( (binary_expression "puVar10 < *(undefined1 **)(iVar7 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar7 + 0x18)" * (cast_expression "(undefined1 **)(iVar7 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n          *puVar10 = (char)uVar18;\n        }" { (expression_statement "*(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;" (assignment_expression "*(undefined1 **)(iVar7 + 0x14) = puVar10 + 1" (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "*puVar10 = (char)uVar18;" (assignment_expression "*puVar10 = (char)uVar18" (pointer_expression "*puVar10" * identifier) = (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }" else (compound_statement "{\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);\n        }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar18 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,uVar18 & 0xff)" ( identifier , (binary_expression "uVar18 & 0xff" identifier & number_literal) ))) ;) }))) (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (expression_statement "uVar27 = uVar18;" (assignment_expression "uVar27 = uVar18" identifier = identifier) ;) (if_statement "if (pbVar8 < fp->_IO_read_end) break;" if (parenthesized_expression "(pbVar8 < fp->_IO_read_end)" ( (binary_expression "pbVar8 < fp->_IO_read_end" identifier < (field_expression "fp->_IO_read_end" identifier -> field_identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00012390:\n        uVar18 = (*(code *)PTR___uflow_0002b264)(fp);" statement_identifier : (expression_statement "uVar18 = (*(code *)PTR___uflow_0002b264)(fp);" (assignment_expression "uVar18 = (*(code *)PTR___uflow_0002b264)(fp)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(fp)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;)) (expression_statement "uVar19 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar19 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar17 = (uint)(byte)puVar3[-0x4fb8];" (assignment_expression "uVar17 = (uint)(byte)puVar3[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar18 == uVar19) goto LAB_000123b4;" if (parenthesized_expression "(uVar18 == uVar19)" ( (binary_expression "uVar18 == uVar19" identifier == identifier) )) (goto_statement "goto LAB_000123b4;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_000123b4:\n    bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "uVar11 = uVar17;" (assignment_expression "uVar11 = uVar17" identifier = identifier) ;) (expression_statement "uVar17 = uVar19;" (assignment_expression "uVar17 = uVar19" identifier = identifier) ;) (labeled_statement "LAB_000123b8:\n    if (uVar11 != uVar19) break;" statement_identifier : (if_statement "if (uVar11 != uVar19) break;" if (parenthesized_expression "(uVar11 != uVar19)" ( (binary_expression "uVar11 != uVar19" identifier != identifier) )) (break_statement "break;" break ;))) (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < fp->_IO_read_end) {\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }\n    else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" if (parenthesized_expression "(pbVar8 < fp->_IO_read_end)" ( (binary_expression "pbVar8 < fp->_IO_read_end" identifier < (field_expression "fp->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n      fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n      uVar18 = (uint)*pbVar8;\n    }" { (expression_statement "fp->_IO_read_ptr = (char *)(pbVar8 + 1);" (assignment_expression "fp->_IO_read_ptr = (char *)(pbVar8 + 1)" (field_expression "fp->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar18 = (uint)*pbVar8;" (assignment_expression "uVar18 = (uint)*pbVar8" identifier = (binary_expression "(uint)*pbVar8" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" else (compound_statement "{\n      uVar18 = (*(code *)PTR___uflow_0002b264)(fp);\n      if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" { (expression_statement "uVar18 = (*(code *)PTR___uflow_0002b264)(fp);" (assignment_expression "uVar18 = (*(code *)PTR___uflow_0002b264)(fp)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(fp)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;) (if_statement "if (uVar18 == 0xffffffff) {\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }" if (parenthesized_expression "(uVar18 == 0xffffffff)" ( (binary_expression "uVar18 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar11 = (uint)(byte)puVar3[-0x4fb8];\n        uVar19 = (uint)(byte)puVar3[-0x4ca3];\n        goto LAB_0001241c;\n      }" { (expression_statement "uVar11 = (uint)(byte)puVar3[-0x4fb8];" (assignment_expression "uVar11 = (uint)(byte)puVar3[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])))) ;) (expression_statement "uVar19 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar19 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_0001241c;" goto statement_identifier ;) })) }))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar18,fp);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar18,fp)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar18,fp)" ( identifier , identifier ))) ;) (expression_statement "uVar19 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar19 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar18 = uVar22;" (assignment_expression "uVar18 = uVar22" identifier = identifier) ;) (if_statement "if (uVar17 != uVar19) {\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" if (parenthesized_expression "(uVar17 != uVar19)" ( (binary_expression "uVar17 != uVar19" identifier != identifier) )) (compound_statement "{\n      bVar20 = puVar3[-0x4fb8];\nLAB_00012404:\n      uVar11 = (uint)bVar20;\n      if (uVar17 == uVar11) goto LAB_0001266c;\n      if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" { (expression_statement "bVar20 = puVar3[-0x4fb8];" (assignment_expression "bVar20 = puVar3[-0x4fb8]" identifier = (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00012404:\n      uVar11 = (uint)bVar20;" statement_identifier : (expression_statement "uVar11 = (uint)bVar20;" (assignment_expression "uVar11 = (uint)bVar20" identifier = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar17 == uVar11) goto LAB_0001266c;" if (parenthesized_expression "(uVar17 == uVar11)" ( (binary_expression "uVar17 == uVar11" identifier == identifier) )) (goto_statement "goto LAB_0001266c;" goto statement_identifier ;)) (if_statement "if (uVar17 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar17 = 0xffffffff;\n        if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }\n        puVar10 = *(undefined1 **)(iVar7 + 0x14);\n        if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;\n        *puVar10 = (char)uVar11;\njoined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );\n      }" { (labeled_statement "LAB_0001241c:\n        if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" statement_identifier : (if_statement "if ((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)) {\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" if (parenthesized_expression "((((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1))" ( (binary_expression "(((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)) && (uVar22 == 1)" (parenthesized_expression "(((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0))" ( (binary_expression "((!bVar1) && (puVar3[-0x4ca1] != '\0')) && (uVar24 == 0)" (parenthesized_expression "((!bVar1) && (puVar3[-0x4ca1] != '\0'))" ( (binary_expression "(!bVar1) && (puVar3[-0x4ca1] != '\0')" (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) && (parenthesized_expression "(puVar3[-0x4ca1] != '\0')" ( (binary_expression "puVar3[-0x4ca1] != '\0'" (subscript_expression "puVar3[-0x4ca1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(uVar22 == 1)" ( (binary_expression "uVar22 == 1" identifier == number_literal) ))) )) (compound_statement "{\n          uVar17 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" { (expression_statement "uVar17 = 0xffffffff;" (assignment_expression "uVar17 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto joined_r0x00012528;" goto statement_identifier ;) }))) (labeled_statement "LAB_000124f8:\n        uVar17 = 0xffffffff;" statement_identifier : (expression_statement "uVar17 = 0xffffffff;" (assignment_expression "uVar17 = 0xffffffff" identifier = number_literal) ;)) (if_statement "if (uVar11 == uVar27) {\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }\n        else {\n          iVar7 = *(int *)puVar6;\n        }" if (parenthesized_expression "(uVar11 == uVar27)" ( (binary_expression "uVar11 == uVar27" identifier == identifier) )) (compound_statement "{\n          if (uVar19 != uVar11) goto joined_r0x00012528;\n          iVar7 = *(int *)puVar6;\n        }" { (if_statement "if (uVar19 != uVar11) goto joined_r0x00012528;" if (parenthesized_expression "(uVar19 != uVar11)" ( (binary_expression "uVar19 != uVar11" identifier != identifier) )) (goto_statement "goto joined_r0x00012528;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)puVar6;" (assignment_expression "iVar7 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          iVar7 = *(int *)puVar6;\n        }" else (compound_statement "{\n          iVar7 = *(int *)puVar6;\n        }" { (expression_statement "iVar7 = *(int *)puVar6;" (assignment_expression "iVar7 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "puVar10 = *(undefined1 **)(iVar7 + 0x14);" (assignment_expression "puVar10 = *(undefined1 **)(iVar7 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined1 **)(iVar7 + 0x18) <= puVar10) goto LAB_000126a4;" if (parenthesized_expression "(*(undefined1 **)(iVar7 + 0x18) <= puVar10)" ( (binary_expression "*(undefined1 **)(iVar7 + 0x18) <= puVar10" (pointer_expression "*(undefined1 **)(iVar7 + 0x18)" * (cast_expression "(undefined1 **)(iVar7 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000126a4;" goto statement_identifier ;)) (labeled_statement "LAB_00012518:\n        *(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;" statement_identifier : (expression_statement "*(undefined1 **)(iVar7 + 0x14) = puVar10 + 1;" (assignment_expression "*(undefined1 **)(iVar7 + 0x14) = puVar10 + 1" (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar10 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar10 = (char)uVar11;" (assignment_expression "*puVar10 = (char)uVar11" (pointer_expression "*puVar10" * identifier) = (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "joined_r0x00012528:\n        do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );" statement_identifier : (do_statement "do {\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        } while( true );" do (compound_statement "{\n          uVar11 = uVar17;\n          if (uVar11 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);\n          iVar7 = *(int *)puVar6;\nLAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);\n          uVar17 = uVar11;\n          if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);\n        }" { (expression_statement "uVar11 = uVar17;" (assignment_expression "uVar11 = uVar17" identifier = identifier) ;) (if_statement "if (uVar11 == 0xffffffff) goto LAB_000126bc;" if (parenthesized_expression "(uVar11 == 0xffffffff)" ( (binary_expression "uVar11 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_000126bc;" goto statement_identifier ;)) (do_statement "do {\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          } while (uVar22 == 1);" do (compound_statement "{\n            bVar1 = false;\n            *(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;\n            uVar17 = uVar11;\n            if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }\n            puVar9 = *(uint **)(puVar2 + -0x4c94);\n            uVar24 = 0;\n            uVar18 = *puVar9;\n            uVar22 = 1;\n            uVar27 = uVar17;\n            if (uVar18 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;\n            if (uVar17 != uVar11) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }\n          }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5;" (assignment_expression "*(undefined4 *)(puVar2 + -0x4c94) = *(undefined4 *)puVar5" (pointer_expression "*(undefined4 *)(puVar2 + -0x4c94)" * (cast_expression "(undefined4 *)(puVar2 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar17 = uVar11;" (assignment_expression "uVar17 = uVar11" identifier = identifier) ;) (if_statement "if (cVar25 != cVar26) {\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }" if (parenthesized_expression "(cVar25 != cVar26)" ( (binary_expression "cVar25 != cVar26" identifier != identifier) )) (compound_statement "{\n              uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);\n            }" { (expression_statement "uVar22 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar22 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (do_statement "do {\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              } while (cVar25 != cVar26);" do (compound_statement "{\n                do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);\n                bVar20 = puVar3[-0x4fb8];\n                uVar17 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];\n              }" { (do_statement "do {\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                } while (puVar3[-0x4ca1] != '\0');" do (compound_statement "{\n                  sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);\n                  if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }\n                  if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }\n                  iVar23 = sVar12 + -1;\n                  uVar22 = (uint)(byte)puVar3[-0x4ca3];\n                  iVar7 = *(int *)(puVar3 + -0x4c98);\n                  if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                }" { (expression_statement "sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp);" (assignment_expression "sVar12 = getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp)" identifier = (call_expression "getndelim2(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp)" identifier (argument_list "(lineptr,linesize,0,0xffffffff,uVar22,\n                                      (uint)(byte)puVar3[-0x4fb8],fp)" ( identifier , identifier , number_literal , number_literal , identifier , (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ]))) , identifier )))) ;) (if_statement "if (sVar12 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }" if (parenthesized_expression "(sVar12 < 0)" ( (binary_expression "sVar12 < 0" identifier < number_literal) )) (compound_statement "{\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));\n                    uVar17 = fp->_flags;\n                    *(undefined4 *)(puVar3 + -0x4c98) = 0;\n                    if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }\n                    goto LAB_000126c0;\n                  }" { (expression_statement "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98));" (call_expression "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar3 + -0x4c98))" (parenthesized_expression "(*(code *)PTR_free_0002b300)" ( (pointer_expression "*(code *)PTR_free_0002b300" * (cast_expression "(code *)PTR_free_0002b300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar3 + -0x4c98))" ( (pointer_expression "*(undefined4 *)(puVar3 + -0x4c98)" * (cast_expression "(undefined4 *)(puVar3 + -0x4c98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x4c98)" ( (binary_expression "puVar3 + -0x4c98" identifier + number_literal) )))) ))) ;) (expression_statement "uVar17 = fp->_flags;" (assignment_expression "uVar17 = fp->_flags" identifier = (field_expression "fp->_flags" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar3 + -0x4c98) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + -0x4c98) = 0" (pointer_expression "*(undefined4 *)(puVar3 + -0x4c98)" * (cast_expression "(undefined4 *)(puVar3 + -0x4c98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x4c98)" ( (binary_expression "puVar3 + -0x4c98" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((uVar17 & 0x30) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }" if (parenthesized_expression "((uVar17 & 0x30) == 0)" ( (binary_expression "(uVar17 & 0x30) == 0" (parenthesized_expression "(uVar17 & 0x30)" ( (binary_expression "uVar17 & 0x30" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      xalloc_die();\n                    }" { comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_000126c0;" goto statement_identifier ;) })) (if_statement "if (sVar12 == 0) {\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }" if (parenthesized_expression "(sVar12 == 0)" ( (binary_expression "sVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return (_Bool)uVar15;\n                  }" { (expression_statement "uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);" (assignment_expression "uVar15 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" identifier = (call_expression "(*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" (parenthesized_expression "(*(code *)PTR___assert_fail_0002b214)" ( (pointer_expression "*(code *)PTR___assert_fail_0002b214" * (cast_expression "(code *)PTR___assert_fail_0002b214" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" ( (binary_expression "PTR_DAT_0002b108 + -0x6be0" identifier + number_literal) , (binary_expression "PTR_DAT_0002b108 + -0x6bec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0002b108 + -0x6210" identifier + number_literal) )))) ;) (return_statement "return (_Bool)uVar15;" return (cast_expression "(_Bool)uVar15" ( (type_descriptor "_Bool" type_identifier) ) identifier) ;) })) (expression_statement "iVar23 = sVar12 + -1;" (assignment_expression "iVar23 = sVar12 + -1" identifier = (binary_expression "sVar12 + -1" identifier + number_literal)) ;) (expression_statement "uVar22 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar22 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "iVar7 = *(int *)(puVar3 + -0x4c98);" (assignment_expression "iVar7 = *(int *)(puVar3 + -0x4c98)" identifier = (pointer_expression "*(int *)(puVar3 + -0x4c98)" * (cast_expression "(int *)(puVar3 + -0x4c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x4c98)" ( (binary_expression "puVar3 + -0x4c98" identifier + number_literal) ))))) ;) (if_statement "if (*(byte *)(iVar7 + iVar23) == uVar22) {\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" if (parenthesized_expression "(*(byte *)(iVar7 + iVar23) == uVar22)" ( (binary_expression "*(byte *)(iVar7 + iVar23) == uVar22" (pointer_expression "*(byte *)(iVar7 + iVar23)" * (cast_expression "(byte *)(iVar7 + iVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar23)" ( (binary_expression "iVar7 + iVar23" identifier + identifier) )))) == identifier) )) (compound_statement "{\n                    puVar9 = *(uint **)(puVar2 + -0x4c94);\n                    if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }\nLAB_000127a8:\n                    uVar24 = 0;\n                    if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" { (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (if_statement "if ((*puVar9 == 0) && (puVar9[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }" if (parenthesized_expression "((*puVar9 == 0) && (puVar9[1] < 2))" ( (binary_expression "(*puVar9 == 0) && (puVar9[1] < 2)" (parenthesized_expression "(*puVar9 == 0)" ( (binary_expression "*puVar9 == 0" (pointer_expression "*puVar9" * identifier) == number_literal) )) && (parenthesized_expression "(puVar9[1] < 2)" ( (binary_expression "puVar9[1] < 2" (subscript_expression "puVar9[1]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);\n                      if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }\n                    }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,iVar23,*(undefined4 *)puVar6)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,1,iVar23,*(undefined4 *)puVar6)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (if_statement "if (puVar3[-0x4ca3] == puVar3[-0x4fb8]) {\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }\n                      else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }" if (parenthesized_expression "(puVar3[-0x4ca3] == puVar3[-0x4fb8])" ( (binary_expression "puVar3[-0x4ca3] == puVar3[-0x4fb8]" (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ]) == (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])) )) (compound_statement "{\n                        pbVar8 = (byte *)fp->_IO_read_ptr;\n                        if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }\n                        bVar1 = true;\n                        (*(code *)PTR_ungetc_0002b288)(uVar17,fp);\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                      }" { (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < fp->_IO_read_end) {\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }\n                        else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }" if (parenthesized_expression "(pbVar8 < fp->_IO_read_end)" ( (binary_expression "pbVar8 < fp->_IO_read_end" identifier < (field_expression "fp->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n                          fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                          uVar17 = (uint)*pbVar8;\n                        }" { (expression_statement "fp->_IO_read_ptr = (char *)(pbVar8 + 1);" (assignment_expression "fp->_IO_read_ptr = (char *)(pbVar8 + 1)" (field_expression "fp->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar8;" (assignment_expression "uVar17 = (uint)*pbVar8" identifier = (binary_expression "(uint)*pbVar8" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }" else (compound_statement "{\n                          uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n                          if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }\n                        }" { (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(fp);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(fp)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(fp)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;) (if_statement "if (uVar17 == 0xffffffff) {\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                            puVar9 = *(uint **)(puVar2 + -0x4c94);\n                            goto LAB_000127a8;\n                          }" { (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000127a8;" goto statement_identifier ;) })) }))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar17,fp);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar17,fp)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17,fp)" ( identifier , identifier ))) ;) (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }" else (compound_statement "{\n                        puVar9 = *(uint **)(puVar2 + -0x4c94);\n                        bVar1 = true;\n                      }" { (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }))) })) (labeled_statement "LAB_000127a8:\n                    uVar24 = 0;" statement_identifier : (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;)) (if_statement "if ((puVar9[2] == 0) && (puVar9[3] < 2)) {\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }\n                    else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }" if (parenthesized_expression "((puVar9[2] == 0) && (puVar9[3] < 2))" ( (binary_expression "(puVar9[2] == 0) && (puVar9[3] < 2)" (parenthesized_expression "(puVar9[2] == 0)" ( (binary_expression "puVar9[2] == 0" (subscript_expression "puVar9[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(puVar9[3] < 2)" ( (binary_expression "puVar9[3] < 2" (subscript_expression "puVar9[3]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n                      puVar9 = puVar9 + 4;\n                      *(uint **)(puVar2 + -0x4c94) = puVar9;\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }" { (expression_statement "puVar9 = puVar9 + 4;" (assignment_expression "puVar9 = puVar9 + 4" identifier = (binary_expression "puVar9 + 4" identifier + number_literal)) ;) (expression_statement "*(uint **)(puVar2 + -0x4c94) = puVar9;" (assignment_expression "*(uint **)(puVar2 + -0x4c94) = puVar9" (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = 2;" (assignment_expression "uVar22 = 2" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }" else (compound_statement "{\n                      uVar22 = 2;\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar22 = 2;" (assignment_expression "uVar22 = 2" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_000122c8;" goto statement_identifier ;) })) }) while (parenthesized_expression "(puVar3[-0x4ca1] != '\0')" ( (binary_expression "puVar3[-0x4ca1] != '\0'" (subscript_expression "puVar3[-0x4ca1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar7,1,sVar12,*(undefined4 *)puVar6)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,1,sVar12,*(undefined4 *)puVar6)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "bVar20 = puVar3[-0x4fb8];" (assignment_expression "bVar20 = puVar3[-0x4fb8]" identifier = (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = (uint)bVar20;" (assignment_expression "uVar17 = (uint)bVar20" identifier = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17) {\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }" if (parenthesized_expression "((int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17)" ( (binary_expression "(int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23) != uVar17" (cast_expression "(int)*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*(int *)(puVar3 + -0x4c98) + iVar23)" * (cast_expression "(char *)(*(int *)(puVar3 + -0x4c98) + iVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar3 + -0x4c98) + iVar23)" ( (binary_expression "*(int *)(puVar3 + -0x4c98) + iVar23" (pointer_expression "*(int *)(puVar3 + -0x4c98)" * (cast_expression "(int *)(puVar3 + -0x4c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x4c98)" ( (binary_expression "puVar3 + -0x4c98" identifier + number_literal) )))) + identifier) ))))) != identifier) )) (compound_statement "{\n                  iVar7 = *(int *)puVar6;\n                  pbVar8 = *(byte **)(iVar7 + 0x14);\n                  if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }\n                }" { (expression_statement "iVar7 = *(int *)puVar6;" (assignment_expression "iVar7 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = *(byte **)(iVar7 + 0x14);" (assignment_expression "pbVar8 = *(byte **)(iVar7 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar7 + 0x14)" * (cast_expression "(byte **)(iVar7 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar8 < *(byte **)(iVar7 + 0x18)) {\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }" if (parenthesized_expression "(pbVar8 < *(byte **)(iVar7 + 0x18))" ( (binary_expression "pbVar8 < *(byte **)(iVar7 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar7 + 0x18)" * (cast_expression "(byte **)(iVar7 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                    *(byte **)(iVar7 + 0x14) = pbVar8 + 1;\n                    *pbVar8 = bVar20;\n                  }" { (expression_statement "*(byte **)(iVar7 + 0x14) = pbVar8 + 1;" (assignment_expression "*(byte **)(iVar7 + 0x14) = pbVar8 + 1" (pointer_expression "*(byte **)(iVar7 + 0x14)" * (cast_expression "(byte **)(iVar7 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar8 = bVar20;" (assignment_expression "*pbVar8 = bVar20" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }) (else_clause "else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }" else (compound_statement "{\n                    (*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);\n                    uVar17 = (uint)(byte)puVar3[-0x4fb8];\n                  }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar17);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar17)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,uVar17)" ( identifier , identifier ))) ;) (expression_statement "uVar17 = (uint)(byte)puVar3[-0x4fb8];" (assignment_expression "uVar17 = (uint)(byte)puVar3[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])))) ;) }))) })) (labeled_statement "LAB_00012454:\n                uVar22 = (uint)(byte)puVar3[-0x4ca3];" statement_identifier : (expression_statement "uVar22 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar22 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;)) }) while (parenthesized_expression "(cVar25 != cVar26)" ( (binary_expression "cVar25 != cVar26" identifier != identifier) )) ;) })) (expression_statement "puVar9 = *(uint **)(puVar2 + -0x4c94);" (assignment_expression "puVar9 = *(uint **)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar2 + -0x4c94)" * (cast_expression "(uint **)(puVar2 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = *puVar9;" (assignment_expression "uVar18 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (expression_statement "uVar27 = uVar17;" (assignment_expression "uVar27 = uVar17" identifier = identifier) ;) (if_statement "if (uVar18 == 0) goto LAB_000122d8;" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000122d8;" goto statement_identifier ;)) (labeled_statement "LAB_000124b0:\n            while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }" statement_identifier : (while_statement "while( true ) {\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar27 = uVar17;\n              pbVar8 = (byte *)fp->_IO_read_ptr;\n              if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }\n              uVar19 = (uint)(byte)puVar3[-0x4ca3];\n              uVar11 = (uint)(byte)puVar3[-0x4fb8];\n              if (uVar19 == uVar17) goto LAB_000123b8;\n              if (uVar17 == uVar11) break;\n              if (uVar17 == 0xffffffff) goto LAB_0001241c;\n            }" { (expression_statement "uVar27 = uVar17;" (assignment_expression "uVar27 = uVar17" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)fp->_IO_read_ptr;" (assignment_expression "pbVar8 = (byte *)fp->_IO_read_ptr" identifier = (cast_expression "(byte *)fp->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fp->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < fp->_IO_read_end) {\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }\n              else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }" if (parenthesized_expression "(pbVar8 < fp->_IO_read_end)" ( (binary_expression "pbVar8 < fp->_IO_read_end" identifier < (field_expression "fp->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n                fp->_IO_read_ptr = (char *)(pbVar8 + 1);\n                uVar17 = (uint)*pbVar8;\n              }" { (expression_statement "fp->_IO_read_ptr = (char *)(pbVar8 + 1);" (assignment_expression "fp->_IO_read_ptr = (char *)(pbVar8 + 1)" (field_expression "fp->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar8;" (assignment_expression "uVar17 = (uint)*pbVar8" identifier = (binary_expression "(uint)*pbVar8" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }" else (compound_statement "{\n                uVar17 = (*(code *)PTR___uflow_0002b264)(fp);\n              }" { (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(fp);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(fp)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(fp)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;) }))) (expression_statement "uVar19 = (uint)(byte)puVar3[-0x4ca3];" (assignment_expression "uVar19 = (uint)(byte)puVar3[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = (uint)(byte)puVar3[-0x4fb8];" (assignment_expression "uVar11 = (uint)(byte)puVar3[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar3[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar19 == uVar17) goto LAB_000123b8;" if (parenthesized_expression "(uVar19 == uVar17)" ( (binary_expression "uVar19 == uVar17" identifier == identifier) )) (goto_statement "goto LAB_000123b8;" goto statement_identifier ;)) (if_statement "if (uVar17 == uVar11) break;" if (parenthesized_expression "(uVar17 == uVar11)" ( (binary_expression "uVar17 == uVar11" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (uVar17 == 0xffffffff) goto LAB_0001241c;" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001241c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0001260c:\n            if (uVar11 != uVar19) goto LAB_00012614;" statement_identifier : (if_statement "if (uVar11 != uVar19) goto LAB_00012614;" if (parenthesized_expression "(uVar11 != uVar19)" ( (binary_expression "uVar11 != uVar19" identifier != identifier) )) (goto_statement "goto LAB_00012614;" goto statement_identifier ;))) (if_statement "if (uVar17 != uVar11) goto LAB_000122b8;" if (parenthesized_expression "(uVar17 != uVar11)" ( (binary_expression "uVar17 != uVar11" identifier != identifier) )) (goto_statement "goto LAB_000122b8;" goto statement_identifier ;)) (labeled_statement "LAB_0001266c:\n            if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }" statement_identifier : (if_statement "if (((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)) {\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }" if (parenthesized_expression "(((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0))" ( (binary_expression "((bVar1) || (puVar3[-0x4ca1] == '\0')) || (uVar24 != 0)" (parenthesized_expression "((bVar1) || (puVar3[-0x4ca1] == '\0'))" ( (binary_expression "(bVar1) || (puVar3[-0x4ca1] == '\0')" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(puVar3[-0x4ca1] == '\0')" ( (binary_expression "puVar3[-0x4ca1] == '\0'" (subscript_expression "puVar3[-0x4ca1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              iVar7 = *(int *)puVar6;\n              goto LAB_00012690;\n            }" { (expression_statement "iVar7 = *(int *)puVar6;" (assignment_expression "iVar7 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_00012690;" goto statement_identifier ;) }))) }) while (parenthesized_expression "(uVar22 == 1)" ( (binary_expression "uVar22 == 1" identifier == number_literal) )) ;) (expression_statement "iVar7 = *(int *)puVar6;" (assignment_expression "iVar7 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00012690:\n          puVar10 = *(undefined1 **)(iVar7 + 0x14);" statement_identifier : (expression_statement "puVar10 = *(undefined1 **)(iVar7 + 0x14);" (assignment_expression "puVar10 = *(undefined1 **)(iVar7 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar7 + 0x14)" * (cast_expression "(undefined1 **)(iVar7 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "uVar17 = uVar11;" (assignment_expression "uVar17 = uVar11" identifier = identifier) ;) (if_statement "if (puVar10 < *(undefined1 **)(iVar7 + 0x18)) goto LAB_00012518;" if (parenthesized_expression "(puVar10 < *(undefined1 **)(iVar7 + 0x18))" ( (binary_expression "puVar10 < *(undefined1 **)(iVar7 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar7 + 0x18)" * (cast_expression "(undefined1 **)(iVar7 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00012518;" goto statement_identifier ;)) (labeled_statement "LAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar11);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar7,uVar11)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,uVar11)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (goto_statement "goto LAB_000122b8;" goto statement_identifier ;) })) (labeled_statement "LAB_0001261c:\n    iVar7 = *(int *)(puVar2 + -0x4c94);" statement_identifier : (expression_statement "iVar7 = *(int *)(puVar2 + -0x4c94);" (assignment_expression "iVar7 = *(int *)(puVar2 + -0x4c94)" identifier = (pointer_expression "*(int *)(puVar2 + -0x4c94)" * (cast_expression "(int *)(puVar2 + -0x4c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) ))))) ;)) (expression_statement "uVar22 = uVar18 + 1;" (assignment_expression "uVar22 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "uVar24 = (uVar22 < uVar18) + uVar24;" (assignment_expression "uVar24 = (uVar22 < uVar18) + uVar24" identifier = (binary_expression "(uVar22 < uVar18) + uVar24" (parenthesized_expression "(uVar22 < uVar18)" ( (binary_expression "uVar22 < uVar18" identifier < identifier) )) + identifier)) ;) (if_statement "if ((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))) {\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }" if (parenthesized_expression "((*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22))))" ( (binary_expression "(*(uint *)(iVar7 + 8) < uVar24) ||\n       ((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))" (parenthesized_expression "(*(uint *)(iVar7 + 8) < uVar24)" ( (binary_expression "*(uint *)(iVar7 + 8) < uVar24" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) < identifier) )) || (parenthesized_expression "((*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)))" ( (parenthesized_expression "(*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22))" ( (binary_expression "*(uint *)(iVar7 + 8) == uVar24 && (*(uint *)(iVar7 + 0xc) < uVar22)" (binary_expression "*(uint *)(iVar7 + 8) == uVar24" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) == identifier) && (parenthesized_expression "(*(uint *)(iVar7 + 0xc) < uVar22)" ( (binary_expression "*(uint *)(iVar7 + 0xc) < uVar22" (pointer_expression "*(uint *)(iVar7 + 0xc)" * (cast_expression "(uint *)(iVar7 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) < identifier) ))) )) ))) )) (compound_statement "{\n      *(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;\n    }" { (expression_statement "*(int *)(puVar2 + -0x4c94) = iVar7 + 0x10;" (assignment_expression "*(int *)(puVar2 + -0x4c94) = iVar7 + 0x10" (pointer_expression "*(int *)(puVar2 + -0x4c94)" * (cast_expression "(int *)(puVar2 + -0x4c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c94)" ( (binary_expression "puVar2 + -0x4c94" identifier + number_literal) )))) = (binary_expression "iVar7 + 0x10" identifier + number_literal)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_00012614:\n  bVar20 = puVar3[-0x4fb8];" statement_identifier : (expression_statement "bVar20 = puVar3[-0x4fb8];" (assignment_expression "bVar20 = puVar3[-0x4fb8]" identifier = (subscript_expression "puVar3[-0x4fb8]" identifier [ number_literal ])) ;)) (expression_statement "uVar18 = uVar22;" (assignment_expression "uVar18 = uVar22" identifier = identifier) ;) (if_statement "if (uVar17 == uVar19) goto LAB_0001261c;" if (parenthesized_expression "(uVar17 == uVar19)" ( (binary_expression "uVar17 == uVar19" identifier == identifier) )) (goto_statement "goto LAB_0001261c;" goto statement_identifier ;)) (goto_statement "goto LAB_00012404;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_00012170(undefined4 param_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}\n\n" (function_definition "undefined4 FUN_00012170(undefined4 param_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}" type_identifier (function_declarator "FUN_00012170(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "char cVar21;" primitive_type identifier ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "char cVar27;" primitive_type identifier ;) (declaration "char cVar28;" primitive_type identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (expression_statement "puVar3 = PTR_DAT_0002b108;" (assignment_expression "puVar3 = PTR_DAT_0002b108" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160)" identifier = (call_expression "(*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" ( (pointer_expression "*(code *)PTR_strcmp_0002b31c" * (cast_expression "(code *)PTR_strcmp_0002b31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_DAT_0002b108 + -0x6160)" ( identifier , (binary_expression "PTR_DAT_0002b108 + -0x6160" identifier + number_literal) )))) ;) (if_statement "if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }" { (expression_statement "PTR_DAT_0002b0f8[-0x4cae] = 1;" (assignment_expression "PTR_DAT_0002b0f8[-0x4cae] = 1" (subscript_expression "PTR_DAT_0002b0f8[-0x4cae]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30 = *(uint **)PTR_stdin_0002b298;" (assignment_expression "puVar30 = *(uint **)PTR_stdin_0002b298" identifier = (pointer_expression "*(uint **)PTR_stdin_0002b298" * (cast_expression "(uint **)PTR_stdin_0002b298" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" else (compound_statement "{\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" { (expression_statement "puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);" (assignment_expression "puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" identifier = (cast_expression "(uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" (parenthesized_expression "(*(code *)PTR_fopen64_0002b23c)" ( (pointer_expression "*(code *)PTR_fopen64_0002b23c" * (cast_expression "(code *)PTR_fopen64_0002b23c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_DAT_0002b108 + -0x6270)" ( identifier , (binary_expression "PTR_DAT_0002b108 + -0x6270" identifier + number_literal) ))))) ;) (if_statement "if (puVar30 == (uint *)0x0) goto LAB_00012840;" if (parenthesized_expression "(puVar30 == (uint *)0x0)" ( (binary_expression "puVar30 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012840;" goto statement_identifier ;)) }))) (expression_statement "fadvise(puVar30,2);" (call_expression "fadvise(puVar30,2)" identifier (argument_list "(puVar30,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar2 = PTR_stdout_0002b278;" (assignment_expression "puVar2 = PTR_stdout_0002b278" identifier = identifier) ;) (expression_statement "puVar4 = PTR_frp_0002b110;" (assignment_expression "puVar4 = PTR_frp_0002b110" identifier = identifier) ;) (expression_statement "puVar23 = PTR_DAT_0002b0f8;" (assignment_expression "puVar23 = PTR_DAT_0002b0f8" identifier = identifier) ;) (if_statement "if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1)" ( (binary_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1" (pointer_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" * (cast_expression "(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4ca0)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4ca0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" * (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_frp_0002b110" * (cast_expression "(undefined4 *)PTR_frp_0002b110" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );" statement_identifier : (do_statement "do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );" do (compound_statement "{\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    }" { (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;" if (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" ( (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_000129f4;" goto statement_identifier ;)) (labeled_statement "LAB_00012934:\n      bVar20 = puVar23[-0x4fb8];" statement_identifier : (expression_statement "bVar20 = puVar23[-0x4fb8];" (assignment_expression "bVar20 = puVar23[-0x4fb8]" identifier = (subscript_expression "puVar23[-0x4fb8]" identifier [ number_literal ])) ;)) (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar29 = (uint)*pbVar7;" (assignment_expression "uVar29 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" identifier = identifier) ;) (if_statement "if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(uVar29 != bVar20)" ( (binary_expression "uVar29 != bVar20" identifier != identifier) )) (compound_statement "{\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" { (do_statement "do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );" do (compound_statement "{\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        }" { (expression_statement "uVar16 = uVar26 + 1;" (assignment_expression "uVar16 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "uVar24 = (uVar16 < uVar26) + uVar24;" (assignment_expression "uVar24 = (uVar16 < uVar26) + uVar24" identifier = (binary_expression "(uVar16 < uVar26) + uVar24" (parenthesized_expression "(uVar16 < uVar26)" ( (binary_expression "uVar16 < uVar26" identifier < identifier) )) + identifier)) ;) (if_statement "if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }" if (parenthesized_expression "((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16))))" ( (binary_expression "(puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))" (parenthesized_expression "(puVar10[2] < uVar24)" ( (binary_expression "puVar10[2] < uVar24" (subscript_expression "puVar10[2]" identifier [ number_literal ]) < identifier) )) || (parenthesized_expression "((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))" ( (parenthesized_expression "(puVar10[2] == uVar24 && (puVar10[3] < uVar16))" ( (binary_expression "puVar10[2] == uVar24 && (puVar10[3] < uVar16)" (binary_expression "puVar10[2] == uVar24" (subscript_expression "puVar10[2]" identifier [ number_literal ]) == identifier) && (parenthesized_expression "(puVar10[3] < uVar16)" ( (binary_expression "puVar10[3] < uVar16" (subscript_expression "puVar10[3]" identifier [ number_literal ]) < identifier) ))) )) ))) )) (compound_statement "{\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }" { (expression_statement "puVar10 = puVar10 + 4;" (assignment_expression "puVar10 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "*(uint **)(puVar23 + -0x4c94) = puVar10;" (assignment_expression "*(uint **)(puVar23 + -0x4c94) = puVar10" (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar26 = *puVar10;" (assignment_expression "uVar26 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (if_statement "if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;" if (parenthesized_expression "((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]))))" ( (binary_expression "(uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))" (parenthesized_expression "(uVar24 < uVar26)" ( (binary_expression "uVar24 < uVar26" identifier < identifier) )) || (parenthesized_expression "((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))" ( (parenthesized_expression "(cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]))" ( (comma_expression "cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (assignment_expression "cVar28 = puVar23[-0x4ca4]" identifier = (subscript_expression "puVar23[-0x4ca4]" identifier [ number_literal ])) , (binary_expression "uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (binary_expression "uVar26 == uVar24" identifier == identifier) && (parenthesized_expression "(cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" ( (comma_expression "cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]" (assignment_expression "cVar28 = puVar23[-0x4ca4]" identifier = (subscript_expression "puVar23[-0x4ca4]" identifier [ number_literal ])) , (binary_expression "uVar16 < puVar10[1]" identifier < (subscript_expression "puVar10[1]" identifier [ number_literal ]))) )))) )) ))) )) (goto_statement "goto LAB_0001291c;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" if (parenthesized_expression "(cVar28 == '\0')" ( (binary_expression "cVar28 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }" { (labeled_statement "LAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);" statement_identifier : (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "cVar28 = cVar27;" (assignment_expression "cVar28 = cVar27" identifier = identifier) ;) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }" if (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" ( (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }" { (labeled_statement "LAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar29 & 0xff)" ( identifier , (binary_expression "uVar29 & 0xff" identifier & number_literal) ))) ;)) (expression_statement "cVar27 = cVar28;" (assignment_expression "cVar27 = cVar28" identifier = identifier) ;) (goto_statement "goto LAB_0001291c;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" else (compound_statement "{\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" { (if_statement "if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }" if (parenthesized_expression "(cVar27 != '\0')" ( (binary_expression "cVar27 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }" { (if_statement "if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }" if (parenthesized_expression "((uVar24 == uVar26) && (uVar16 == puVar10[1]))" ( (binary_expression "(uVar24 == uVar26) && (uVar16 == puVar10[1])" (parenthesized_expression "(uVar24 == uVar26)" ( (binary_expression "uVar24 == uVar26" identifier == identifier) )) && (parenthesized_expression "(uVar16 == puVar10[1])" ( (binary_expression "uVar16 == puVar10[1]" identifier == (subscript_expression "puVar10[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6)" ( (pointer_expression "*(undefined4 *)(puVar23 + -0x4cac)" * (cast_expression "(undefined4 *)(puVar23 + -0x4cac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4cac)" ( (binary_expression "puVar23 + -0x4cac" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(puVar23 + -0x4ca8)" * (cast_expression "(undefined4 *)(puVar23 + -0x4ca8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4ca8)" ( (binary_expression "puVar23 + -0x4ca8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto LAB_000129bc;" goto statement_identifier ;) })) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "cVar27 = cVar28;" (assignment_expression "cVar27 = cVar28" identifier = identifier) ;) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;" if (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" ( (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00012ab8;" goto statement_identifier ;)) }))) (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "*puVar11 = (char)uVar29;" (assignment_expression "*puVar11 = (char)uVar29" (pointer_expression "*puVar11" * identifier) = (cast_expression "(char)uVar29" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00012934;" goto statement_identifier ;)) (labeled_statement "LAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);" statement_identifier : (expression_statement "uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;)) (expression_statement "bVar20 = puVar23[-0x4fb8];" (assignment_expression "bVar20 = puVar23[-0x4fb8]" identifier = (subscript_expression "puVar23[-0x4fb8]" identifier [ number_literal ])) ;) (if_statement "if (uVar29 == bVar20) break;" if (parenthesized_expression "(uVar29 == bVar20)" ( (binary_expression "uVar29 == bVar20" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" identifier = identifier) ;) (if_statement "if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }" if (parenthesized_expression "(uVar29 == 0xffffffff)" ( (binary_expression "uVar29 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }" { (if_statement "if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;" if (parenthesized_expression "(uVar24 == 0 && uVar16 == 0)" ( (binary_expression "uVar24 == 0 && uVar16 == 0" (binary_expression "uVar24 == 0" identifier == number_literal) && (binary_expression "uVar16 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_000126bc;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)PTR_stdout_0002b278;" (assignment_expression "iVar6 = *(int *)PTR_stdout_0002b278" identifier = (pointer_expression "*(int *)PTR_stdout_0002b278" * (cast_expression "(int *)PTR_stdout_0002b278" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" if (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" ( (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar6 + 0x18)" * (cast_expression "(byte **)(iVar6 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }" { (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" * identifier) = identifier) ;) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,(uint)bVar20)" ( identifier , (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) }))) (goto_statement "goto LAB_000126c0;" goto statement_identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" if (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" ( (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar6 + 0x18)" * (cast_expression "(byte **)(iVar6 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }" { (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" * identifier) = identifier) ;) }) (else_clause "else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" else (compound_statement "{\n        (*(code *)PTR___overflow_0002b24c)();\n      }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)();" (call_expression "(*(code *)PTR___overflow_0002b24c)()" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4" (pointer_expression "*(undefined4 *)(puVar23 + -0x4c94)" * (cast_expression "(undefined4 *)(puVar23 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar4" * (cast_expression "(undefined4 *)puVar4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pbVar15 = (byte *)puVar30[1];" (assignment_expression "pbVar15 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar7 = (byte *)puVar30[2];" (assignment_expression "pbVar7 = (byte *)puVar30[2]" identifier = (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" * (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" ( (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_frp_0002b110" * (cast_expression "(undefined4 *)PTR_frp_0002b110" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "(pbVar15 < pbVar7)" ( (binary_expression "pbVar15 < pbVar7" identifier < identifier) )) (compound_statement "{\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }" { (expression_statement "puVar30[1] = (uint)(pbVar15 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar15 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar15 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar15 + 1)" ( (binary_expression "pbVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar16 = (uint)*pbVar15;" (assignment_expression "uVar16 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" else (compound_statement "{\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" { (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;) (if_statement "if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }" { (labeled_statement "LAB_000126bc:\n      uVar16 = *puVar30;" statement_identifier : (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;)) (labeled_statement "LAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" statement_identifier : (if_statement "if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" if (parenthesized_expression "((uVar16 & 0x20) != 0)" ( (binary_expression "(uVar16 & 0x20) != 0" (parenthesized_expression "(uVar16 & 0x20)" ( (binary_expression "uVar16 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" { (labeled_statement "LAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" statement_identifier : (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002b284)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0002b284)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002b284)" ( (pointer_expression "*(code *)PTR___errno_location_0002b284" * (cast_expression "(code *)PTR___errno_location_0002b284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar22 = *puVar13;" (assignment_expression "uVar22 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar14 = quotearg_n_style_colon(0,3,param_1);" (assignment_expression "uVar14 = quotearg_n_style_colon(0,3,param_1)" identifier = (call_expression "quotearg_n_style_colon(0,3,param_1)" identifier (argument_list "(0,3,param_1)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "(*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);" (call_expression "(*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14)" (parenthesized_expression "(*(code *)PTR_error_0002b2c0)" ( (pointer_expression "*(code *)PTR_error_0002b2c0" * (cast_expression "(code *)PTR_error_0002b2c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14)" ( number_literal , identifier , (binary_expression "PTR_DAT_0002b108 + -0x6054" identifier + number_literal) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) }))) (expression_statement "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160)" identifier = (call_expression "(*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" ( (pointer_expression "*(code *)PTR_strcmp_0002b31c" * (cast_expression "(code *)PTR_strcmp_0002b31c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,puVar3 + -0x6160)" ( identifier , (binary_expression "puVar3 + -0x6160" identifier + number_literal) )))) ;) (if_statement "if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }" { (expression_statement "(*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);" (call_expression "(*(code *)PTR_clearerr_unlocked_0002b254)(puVar30)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0002b254)" ( (pointer_expression "*(code *)PTR_clearerr_unlocked_0002b254" * (cast_expression "(code *)PTR_clearerr_unlocked_0002b254" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier ))) ;) }) (else_clause "else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" else (compound_statement "{\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" { (expression_statement "iVar6 = rpl_fclose(puVar30);" (assignment_expression "iVar6 = rpl_fclose(puVar30)" identifier = (call_expression "rpl_fclose(puVar30)" identifier (argument_list "(puVar30)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) goto LAB_00012840;" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00012840;" goto statement_identifier ;)) }))) (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,puVar30)" ( identifier , identifier ))) ;) (expression_statement "puVar5 = PTR_stdout_0002b278;" (assignment_expression "puVar5 = PTR_stdout_0002b278" identifier = identifier) ;) (expression_statement "puVar2 = PTR_DAT_0002b0f8;" (assignment_expression "puVar2 = PTR_DAT_0002b0f8" identifier = identifier) ;) (expression_statement "cVar27 = '\x01';" (assignment_expression "cVar27 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }" if (parenthesized_expression "((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2))" ( (binary_expression "(**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)" (parenthesized_expression "(**(int **)(puVar23 + -0x4c94) == 0)" ( (binary_expression "**(int **)(puVar23 + -0x4c94) == 0" (pointer_expression "**(int **)(puVar23 + -0x4c94)" * (pointer_expression "*(int **)(puVar23 + -0x4c94)" * (cast_expression "(int **)(puVar23 + -0x4c94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) == number_literal) )) && (parenthesized_expression "((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)" ( (binary_expression "(uint)(*(int **)(puVar23 + -0x4c94))[1] < 2" (subscript_expression "(uint)(*(int **)(puVar23 + -0x4c94))[1]" (call_expression "(uint)(*(int **)(puVar23 + -0x4c94))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int **)(puVar23 + -0x4c94))" ( (pointer_expression "*(int **)(puVar23 + -0x4c94)" * (cast_expression "(int **)(puVar23 + -0x4c94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) ))) [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n    cVar27 = '\0';\n  }" { (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "cVar28 = PTR_DAT_0002b0f8[-0x4ca1];" (assignment_expression "cVar28 = PTR_DAT_0002b0f8[-0x4ca1]" identifier = (subscript_expression "PTR_DAT_0002b0f8[-0x4ca1]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;" (assignment_expression "puVar8 = PTR_DAT_0002b0f8 + -0x4c9c" identifier = (binary_expression "PTR_DAT_0002b0f8 + -0x4c9c" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR_DAT_0002b0f8 + -0x4c98;" (assignment_expression "puVar9 = PTR_DAT_0002b0f8 + -0x4c98" identifier = (binary_expression "PTR_DAT_0002b0f8 + -0x4c98" identifier + number_literal)) ;) (labeled_statement "LAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );" do (compound_statement "{\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  }" { (if_statement "if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (if_statement "if (uVar24 == 1) goto LAB_00012454;" if (parenthesized_expression "(uVar24 == 1)" ( (binary_expression "uVar24 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00012454;" goto statement_identifier ;)) }) (else_clause "else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" else (compound_statement "{\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000122c8:\n    uVar17 = *puVar10;" statement_identifier : (expression_statement "uVar17 = *puVar10;" (assignment_expression "uVar17 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;)) (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" identifier = identifier) ;) (if_statement "if (uVar26 < uVar17) goto LAB_000124b0;" if (parenthesized_expression "(uVar26 < uVar17)" ( (binary_expression "uVar26 < uVar17" identifier < identifier) )) (goto_statement "goto LAB_000124b0;" goto statement_identifier ;)) (labeled_statement "LAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;" statement_identifier : (if_statement "if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;" if (parenthesized_expression "((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1]))" ( (binary_expression "(uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])" (parenthesized_expression "(uVar17 == uVar26)" ( (binary_expression "uVar17 == uVar26" identifier == identifier) )) && (parenthesized_expression "(uVar16 = uVar29, uVar24 < puVar10[1])" ( (comma_expression "uVar16 = uVar29, uVar24 < puVar10[1]" (assignment_expression "uVar16 = uVar29" identifier = identifier) , (binary_expression "uVar24 < puVar10[1]" identifier < (subscript_expression "puVar10[1]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_000124b0;" goto statement_identifier ;))) (if_statement "if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5)" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x4cac)" * (cast_expression "(undefined4 *)(puVar2 + -0x4cac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4cac)" ( (binary_expression "puVar2 + -0x4cac" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(puVar2 + -0x4ca8)" * (cast_expression "(undefined4 *)(puVar2 + -0x4ca8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4ca8)" ( (binary_expression "puVar2 + -0x4ca8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;" if (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" ( (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_00012390;" goto statement_identifier ;)) (while_statement "while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }" { (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar7;" (assignment_expression "uVar17 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar17 == uVar18) break;" if (parenthesized_expression "(uVar17 == uVar18)" ( (binary_expression "uVar17 == uVar18" identifier == identifier) )) (break_statement "break;" break ;)) (while_statement "while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }" { (if_statement "if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }" if (parenthesized_expression "(uVar17 == uVar16)" ( (binary_expression "uVar17 == uVar16" identifier == identifier) )) (compound_statement "{\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_0001260c;" goto statement_identifier ;) })) (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" identifier = identifier) ;) (if_statement "if (uVar17 == 0xffffffff) goto LAB_000124f8;" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_000124f8;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" if (parenthesized_expression "(puVar11 < *(undefined1 **)(iVar6 + 0x18))" ( (binary_expression "puVar11 < *(undefined1 **)(iVar6 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }" { (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "*puVar11 = (char)uVar17;" (assignment_expression "*puVar11 = (char)uVar17" (pointer_expression "*puVar11" * identifier) = (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" else (compound_statement "{\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) }))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar29 = uVar17;" (assignment_expression "uVar29 = uVar17" identifier = identifier) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) break;" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" statement_identifier : (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;)) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar17 == uVar18) goto LAB_000123b4;" if (parenthesized_expression "(uVar17 == uVar18)" ( (binary_expression "uVar17 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_000123b4;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_000123b4:\n    bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" identifier = identifier) ;) (expression_statement "uVar16 = uVar18;" (assignment_expression "uVar16 = uVar18" identifier = identifier) ;) (labeled_statement "LAB_000123b8:\n    if (uVar12 != uVar18) break;" statement_identifier : (if_statement "if (uVar12 != uVar18) break;" if (parenthesized_expression "(uVar12 != uVar18)" ( (binary_expression "uVar12 != uVar18" identifier != identifier) )) (break_statement "break;" break ;))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (compound_statement "{\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }" { (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar17 = (uint)*pbVar7;" (assignment_expression "uVar17 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" else (compound_statement "{\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" { (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;) (if_statement "if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }" if (parenthesized_expression "(uVar17 == 0xffffffff)" ( (binary_expression "uVar17 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }" { (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (goto_statement "goto LAB_0001241c;" goto statement_identifier ;) })) }))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar17,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17,puVar30)" ( identifier , identifier ))) ;) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" identifier = identifier) ;) (if_statement "if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" if (parenthesized_expression "(uVar16 != uVar18)" ( (binary_expression "uVar16 != uVar18" identifier != identifier) )) (compound_statement "{\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" { (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00012404:\n      uVar12 = (uint)bVar20;" statement_identifier : (expression_statement "uVar12 = (uint)bVar20;" (assignment_expression "uVar12 = (uint)bVar20" identifier = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar16 == uVar12) goto LAB_0001266c;" if (parenthesized_expression "(uVar16 == uVar12)" ( (binary_expression "uVar16 == uVar12" identifier == identifier) )) (goto_statement "goto LAB_0001266c;" goto statement_identifier ;)) (if_statement "if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }" { (labeled_statement "LAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" statement_identifier : (if_statement "if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" if (parenthesized_expression "((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1))" ( (binary_expression "(((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)" (parenthesized_expression "(((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0))" ( (binary_expression "((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)" (parenthesized_expression "((!bVar1) && (puVar2[-0x4ca1] != '\0'))" ( (binary_expression "(!bVar1) && (puVar2[-0x4ca1] != '\0')" (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) && (parenthesized_expression "(puVar2[-0x4ca1] != '\0')" ( (binary_expression "puVar2[-0x4ca1] != '\0'" (subscript_expression "puVar2[-0x4ca1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(uVar24 == 1)" ( (binary_expression "uVar24 == 1" identifier == number_literal) ))) )) (compound_statement "{\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" { (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto joined_r0x00012528;" goto statement_identifier ;) }))) (labeled_statement "LAB_000124f8:\n        uVar16 = 0xffffffff;" statement_identifier : (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;)) (if_statement "if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }" if (parenthesized_expression "(uVar12 == uVar29)" ( (binary_expression "uVar12 == uVar29" identifier == identifier) )) (compound_statement "{\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }" { (if_statement "if (uVar18 != uVar12) goto joined_r0x00012528;" if (parenthesized_expression "(uVar18 != uVar12)" ( (binary_expression "uVar18 != uVar12" identifier != identifier) )) (goto_statement "goto joined_r0x00012528;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          iVar6 = *(int *)puVar5;\n        }" else (compound_statement "{\n          iVar6 = *(int *)puVar5;\n        }" { (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;" if (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" ( (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000126a4;" goto statement_identifier ;)) (labeled_statement "LAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" statement_identifier : (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar11 = (char)uVar12;" (assignment_expression "*puVar11 = (char)uVar12" (pointer_expression "*puVar11" * identifier) = (cast_expression "(char)uVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "joined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );" statement_identifier : (do_statement "do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );" do (compound_statement "{\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        }" { (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" identifier = identifier) ;) (if_statement "if (uVar12 == 0xffffffff) goto LAB_000126bc;" if (parenthesized_expression "(uVar12 == 0xffffffff)" ( (binary_expression "uVar12 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_000126bc;" goto statement_identifier ;)) (do_statement "do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);" do (compound_statement "{\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4" (pointer_expression "*(undefined4 *)(puVar23 + -0x4c94)" * (cast_expression "(undefined4 *)(puVar23 + -0x4c94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar4" * (cast_expression "(undefined4 *)puVar4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" identifier = identifier) ;) (if_statement "if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }" if (parenthesized_expression "(cVar27 != cVar28)" ( (binary_expression "cVar27 != cVar28" identifier != identifier) )) (compound_statement "{\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }" { (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" identifier = (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])) ;) (do_statement "do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);" do (compound_statement "{\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              }" { (do_statement "do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');" do (compound_statement "{\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                }" { (expression_statement "iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);" (assignment_expression "iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" identifier = (call_expression "getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" identifier (argument_list "(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" ( identifier , identifier , number_literal , number_literal , identifier , (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" { (expression_statement "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));" (call_expression "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98))" (parenthesized_expression "(*(code *)PTR_free_0002b300)" ( (pointer_expression "*(code *)PTR_free_0002b300" * (cast_expression "(code *)PTR_free_0002b300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x4c98))" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x4c98)" * (cast_expression "(undefined4 *)(puVar2 + -0x4c98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) )))) ))) ;) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x4c98) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x4c98) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x4c98)" * (cast_expression "(undefined4 *)(puVar2 + -0x4c98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((uVar16 & 0x30) != 0) goto LAB_000126c0;" if (parenthesized_expression "((uVar16 & 0x30) != 0)" ( (binary_expression "(uVar16 & 0x30) != 0" (parenthesized_expression "(uVar16 & 0x30)" ( (binary_expression "uVar16 & 0x30" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000126c0;" goto statement_identifier ;)) (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar2;" (assignment_expression "puVar23 = puVar2" identifier = identifier) ;) (labeled_statement "LAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" statement_identifier : (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;)) (if_statement "if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" else (compound_statement "{\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" { (labeled_statement "LAB_00012ae4:\n                      bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" ( (pointer_expression "*(code *)PTR_ungetc_0002b288" * (cast_expression "(code *)PTR_ungetc_0002b288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,puVar30)" ( identifier , identifier ))) ;) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000127a8:\n                    uVar26 = 0;" statement_identifier : (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;)) (if_statement "if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" if (parenthesized_expression "((puVar10[2] == 0) && (puVar10[3] < 2))" ( (binary_expression "(puVar10[2] == 0) && (puVar10[3] < 2)" (parenthesized_expression "(puVar10[2] == 0)" ( (binary_expression "puVar10[2] == 0" (subscript_expression "puVar10[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(puVar10[3] < 2)" ( (binary_expression "puVar10[3] < 2" (subscript_expression "puVar10[3]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" { (expression_statement "puVar10 = puVar10 + 4;" (assignment_expression "puVar10 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "*(uint **)(puVar23 + -0x4c94) = puVar10;" (assignment_expression "*(uint **)(puVar23 + -0x4c94) = puVar10" (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" else (compound_statement "{\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" { (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_000122c8;" goto statement_identifier ;) })) (if_statement "if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }" { (expression_statement "uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);" (assignment_expression "uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" identifier = (call_expression "(*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" (parenthesized_expression "(*(code *)PTR___assert_fail_0002b214)" ( (pointer_expression "*(code *)PTR___assert_fail_0002b214" * (cast_expression "(code *)PTR___assert_fail_0002b214" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" ( (binary_expression "PTR_DAT_0002b108 + -0x6be0" identifier + number_literal) , (binary_expression "PTR_DAT_0002b108 + -0x6bec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0002b108 + -0x6210" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "iVar25 = iVar6 + -1;" (assignment_expression "iVar25 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" identifier = (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *(int *)(puVar2 + -0x4c98);" (assignment_expression "iVar19 = *(int *)(puVar2 + -0x4c98)" identifier = (pointer_expression "*(int *)(puVar2 + -0x4c98)" * (cast_expression "(int *)(puVar2 + -0x4c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }" if (parenthesized_expression "(*(char *)(iVar19 + iVar25) == cVar21)" ( (binary_expression "*(char *)(iVar19 + iVar25) == cVar21" (pointer_expression "*(char *)(iVar19 + iVar25)" * (cast_expression "(char *)(iVar19 + iVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar25)" ( (binary_expression "iVar19 + iVar25" identifier + identifier) )))) == identifier) )) (compound_statement "{\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }" { (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (if_statement "if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }" if (parenthesized_expression "((*puVar10 == 0) && (puVar10[1] < 2))" ( (binary_expression "(*puVar10 == 0) && (puVar10[1] < 2)" (parenthesized_expression "(*puVar10 == 0)" ( (binary_expression "*puVar10 == 0" (pointer_expression "*puVar10" * identifier) == number_literal) )) && (parenthesized_expression "(puVar10[1] < 2)" ( (binary_expression "puVar10[1] < 2" (subscript_expression "puVar10[1]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }" { (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar19,1,iVar25,*(undefined4 *)puVar5)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (if_statement "if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }" if (parenthesized_expression "(puVar2[-0x4ca3] == puVar2[-0x4fb8])" ( (binary_expression "puVar2[-0x4ca3] == puVar2[-0x4fb8]" (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ]) == (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) )) (compound_statement "{\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }" { (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;" if (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" ( (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_00012b6c;" goto statement_identifier ;)) (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar16 = (uint)*pbVar7;" (assignment_expression "uVar16 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_00012ae4;" goto statement_identifier ;) })) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (goto_statement "goto LAB_000127a8;" goto statement_identifier ;) })) }) while (parenthesized_expression "(puVar2[-0x4ca1] != '\0')" ( (binary_expression "puVar2[-0x4ca1] != '\0'" (subscript_expression "puVar2[-0x4ca1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" * (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar19,1,iVar6,*(undefined4 *)puVar5)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = (uint)bVar20;" (assignment_expression "uVar16 = (uint)bVar20" identifier = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }" if (parenthesized_expression "((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16)" ( (binary_expression "(int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16" (cast_expression "(int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" * (cast_expression "(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar2 + -0x4c98) + iVar25)" ( (binary_expression "*(int *)(puVar2 + -0x4c98) + iVar25" (pointer_expression "*(int *)(puVar2 + -0x4c98)" * (cast_expression "(int *)(puVar2 + -0x4c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x4c98)" ( (binary_expression "puVar2 + -0x4c98" identifier + number_literal) )))) + identifier) ))))) != identifier) )) (compound_statement "{\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }" { (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" if (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" ( (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" identifier < (pointer_expression "*(byte **)(iVar6 + 0x18)" * (cast_expression "(byte **)(iVar6 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }" { (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" * (cast_expression "(byte **)(iVar6 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" * identifier) = identifier) ;) }) (else_clause "else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" else (compound_statement "{\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" { (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar16)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar16)" ( identifier , identifier ))) ;) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) }))) })) (labeled_statement "LAB_00012454:\n                cVar21 = puVar2[-0x4ca3];" statement_identifier : (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" identifier = (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])) ;)) }) while (parenthesized_expression "(cVar27 != cVar28)" ( (binary_expression "cVar27 != cVar28" identifier != identifier) )) ;) })) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(uint **)(puVar23 + -0x4c94)" * (cast_expression "(uint **)(puVar23 + -0x4c94)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = *puVar10;" (assignment_expression "uVar17 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" identifier = identifier) ;) (if_statement "if (uVar17 == 0) goto LAB_000122d8;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000122d8;" goto statement_identifier ;)) (labeled_statement "LAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" statement_identifier : (while_statement "while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" { (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" identifier = (cast_expression "(byte *)puVar30[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (if_statement "if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" if (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" ( (binary_expression "pbVar7 < (byte *)puVar30[2]" identifier < (cast_expression "(byte *)puVar30[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }" { (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" identifier [ number_literal ]) = (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar16 = (uint)*pbVar7;" (assignment_expression "uVar16 = (uint)*pbVar7" identifier = (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" else (compound_statement "{\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" { (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" identifier = (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" ( (pointer_expression "*(code *)PTR___uflow_0002b264" * (cast_expression "(code *)PTR___uflow_0002b264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier )))) ;) }))) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4ca3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4ca3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4ca3]" identifier [ number_literal ])))) ;) (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" identifier = (cast_expression "(uint)(byte)puVar2[-0x4fb8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar2[-0x4fb8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])))) ;) (if_statement "if (uVar18 == uVar16) goto LAB_000123b8;" if (parenthesized_expression "(uVar18 == uVar16)" ( (binary_expression "uVar18 == uVar16" identifier == identifier) )) (goto_statement "goto LAB_000123b8;" goto statement_identifier ;)) (if_statement "if (uVar16 == uVar12) break;" if (parenthesized_expression "(uVar16 == uVar12)" ( (binary_expression "uVar16 == uVar12" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (uVar16 == 0xffffffff) goto LAB_0001241c;" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001241c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;" statement_identifier : (if_statement "if (uVar12 != uVar18) goto LAB_00012614;" if (parenthesized_expression "(uVar12 != uVar18)" ( (binary_expression "uVar12 != uVar18" identifier != identifier) )) (goto_statement "goto LAB_00012614;" goto statement_identifier ;))) (if_statement "if (uVar16 != uVar12) goto LAB_000122b8;" if (parenthesized_expression "(uVar16 != uVar12)" ( (binary_expression "uVar16 != uVar12" identifier != identifier) )) (goto_statement "goto LAB_000122b8;" goto statement_identifier ;)) (labeled_statement "LAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" statement_identifier : (if_statement "if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" if (parenthesized_expression "(((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0))" ( (binary_expression "((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)" (parenthesized_expression "((bVar1) || (puVar2[-0x4ca1] == '\0'))" ( (binary_expression "(bVar1) || (puVar2[-0x4ca1] == '\0')" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(puVar2[-0x4ca1] == '\0')" ( (binary_expression "puVar2[-0x4ca1] == '\0'" (subscript_expression "puVar2[-0x4ca1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" { (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_00012690;" goto statement_identifier ;) }))) }) while (parenthesized_expression "(uVar24 == 1)" ( (binary_expression "uVar24 == 1" identifier == number_literal) )) ;) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);" statement_identifier : (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" * (cast_expression "(undefined1 **)(iVar6 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" identifier = identifier) ;) (if_statement "if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;" if (parenthesized_expression "(puVar11 < *(undefined1 **)(iVar6 + 0x18))" ( (binary_expression "puVar11 < *(undefined1 **)(iVar6 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" * (cast_expression "(undefined1 **)(iVar6 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00012518;" goto statement_identifier ;)) (labeled_statement "LAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar12)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" ( (pointer_expression "*(code *)PTR___overflow_0002b24c" * (cast_expression "(code *)PTR___overflow_0002b24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,uVar12)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (goto_statement "goto LAB_000122b8;" goto statement_identifier ;) })) (labeled_statement "LAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);" statement_identifier : (expression_statement "iVar6 = *(int *)(puVar23 + -0x4c94);" (assignment_expression "iVar6 = *(int *)(puVar23 + -0x4c94)" identifier = (pointer_expression "*(int *)(puVar23 + -0x4c94)" * (cast_expression "(int *)(puVar23 + -0x4c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) ))))) ;)) (expression_statement "uVar24 = uVar17 + 1;" (assignment_expression "uVar24 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = (uVar24 < uVar17) + uVar26;" (assignment_expression "uVar26 = (uVar24 < uVar17) + uVar26" identifier = (binary_expression "(uVar24 < uVar17) + uVar26" (parenthesized_expression "(uVar24 < uVar17)" ( (binary_expression "uVar24 < uVar17" identifier < identifier) )) + identifier)) ;) (if_statement "if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }" if (parenthesized_expression "((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24))))" ( (binary_expression "(*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))" (parenthesized_expression "(*(uint *)(iVar6 + 8) < uVar26)" ( (binary_expression "*(uint *)(iVar6 + 8) < uVar26" (pointer_expression "*(uint *)(iVar6 + 8)" * (cast_expression "(uint *)(iVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) < identifier) )) || (parenthesized_expression "((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))" ( (parenthesized_expression "(*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24))" ( (binary_expression "*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)" (binary_expression "*(uint *)(iVar6 + 8) == uVar26" (pointer_expression "*(uint *)(iVar6 + 8)" * (cast_expression "(uint *)(iVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) == identifier) && (parenthesized_expression "(*(uint *)(iVar6 + 0xc) < uVar24)" ( (binary_expression "*(uint *)(iVar6 + 0xc) < uVar24" (pointer_expression "*(uint *)(iVar6 + 0xc)" * (cast_expression "(uint *)(iVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) < identifier) ))) )) ))) )) (compound_statement "{\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }" { (expression_statement "*(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;" (assignment_expression "*(int *)(puVar23 + -0x4c94) = iVar6 + 0x10" (pointer_expression "*(int *)(puVar23 + -0x4c94)" * (cast_expression "(int *)(puVar23 + -0x4c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x4c94)" ( (binary_expression "puVar23 + -0x4c94" identifier + number_literal) )))) = (binary_expression "iVar6 + 0x10" identifier + number_literal)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_00012614:\n  bVar20 = puVar2[-0x4fb8];" statement_identifier : (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" identifier = (subscript_expression "puVar2[-0x4fb8]" identifier [ number_literal ])) ;)) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" identifier = identifier) ;) (if_statement "if (uVar16 == uVar18) goto LAB_0001261c;" if (parenthesized_expression "(uVar16 == uVar18)" ( (binary_expression "uVar16 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_0001261c;" goto statement_identifier ;)) (goto_statement "goto LAB_00012404;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT < (subscript_expression IDENT [ LIT ]))) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (return_statement return LIT ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (return_statement return LIT ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) [ LIT ]) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < (subscript_expression IDENT [ LIT ]))) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 *)) ) (subscript_expression IDENT [ LIT ]))) )) (break_statement break ;)) (labeled_statement statement_identifier : (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 = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) != IDENT) )) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (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 IDENT != IDENT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (goto_statement goto statement_identifier ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 , IDENT ))) ;)) }) while (parenthesized_expression ( BOOL )) ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })) }) while (parenthesized_expression ( BOOL )) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_00012170(undefined4 param_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}" (type_identifier "undefined4") (function_declarator "FUN_00012170(undefined4 param_1)" (identifier "FUN_00012170") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  uint *puVar10;\n  undefined1 *puVar11;\n  uint uVar12;\n  undefined4 *puVar13;\n  undefined4 uVar14;\n  byte *pbVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte bVar20;\n  char cVar21;\n  undefined4 uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  int iVar25;\n  uint uVar26;\n  char cVar27;\n  char cVar28;\n  uint uVar29;\n  uint *puVar30;\n  \n  puVar3 = PTR_DAT_0002b108;\n  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);\n  if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }\n  fadvise(puVar30,2);\n  puVar2 = PTR_stdout_0002b278;\n  puVar4 = PTR_frp_0002b110;\n  puVar23 = PTR_DAT_0002b0f8;\n  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }\n  pbVar15 = (byte *)puVar30[1];\n  pbVar7 = (byte *)puVar30[2];\n  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n  if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }\n  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n  puVar5 = PTR_stdout_0002b278;\n  puVar2 = PTR_DAT_0002b0f8;\n  cVar27 = '\x01';\n  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }\n  uVar26 = 0;\n  uVar24 = 1;\n  bVar1 = false;\n  uVar16 = 0;\n  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];\n  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;\n  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;\nLAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );\nLAB_00012614:\n  bVar20 = puVar2[-0x4fb8];\n  uVar17 = uVar24;\n  if (uVar16 == uVar18) goto LAB_0001261c;\n  goto LAB_00012404;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined1 *puVar11;" (type_identifier "undefined1") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "byte bVar20;" (type_identifier "byte") (identifier "bVar20") (; ";")) (declaration "char cVar21;" (primitive_type "char") (identifier "cVar21") (; ";")) (declaration "undefined4 uVar22;" (type_identifier "undefined4") (identifier "uVar22") (; ";")) (declaration "undefined *puVar23;" (type_identifier "undefined") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "char cVar27;" (primitive_type "char") (identifier "cVar27") (; ";")) (declaration "char cVar28;" (primitive_type "char") (identifier "cVar28") (; ";")) (declaration "uint uVar29;" (type_identifier "uint") (identifier "uVar29") (; ";")) (declaration "uint *puVar30;" (type_identifier "uint") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (expression_statement "puVar3 = PTR_DAT_0002b108;" (assignment_expression "puVar3 = PTR_DAT_0002b108" (identifier "puVar3") (= "=") (identifier "PTR_DAT_0002b108")) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0002b31c" (* "*") (cast_expression "(code *)PTR_strcmp_0002b31c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0002b31c"))) () ")")) (argument_list "(param_1,PTR_DAT_0002b108 + -0x6160)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_DAT_0002b108 + -0x6160" (identifier "PTR_DAT_0002b108") (+ "+") (number_literal "-0x6160")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }\n  else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    PTR_DAT_0002b0f8[-0x4cae] = 1;\n    puVar30 = *(uint **)PTR_stdin_0002b298;\n  }" ({ "{") (expression_statement "PTR_DAT_0002b0f8[-0x4cae] = 1;" (assignment_expression "PTR_DAT_0002b0f8[-0x4cae] = 1" (subscript_expression "PTR_DAT_0002b0f8[-0x4cae]" (identifier "PTR_DAT_0002b0f8") ([ "[") (number_literal "-0x4cae") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar30 = *(uint **)PTR_stdin_0002b298;" (assignment_expression "puVar30 = *(uint **)PTR_stdin_0002b298" (identifier "puVar30") (= "=") (pointer_expression "*(uint **)PTR_stdin_0002b298" (* "*") (cast_expression "(uint **)PTR_stdin_0002b298" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdin_0002b298")))) (; ";")) (} "}")) (else_clause "else {\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" (else "else") (compound_statement "{\n    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);\n    if (puVar30 == (uint *)0x0) goto LAB_00012840;\n  }" ({ "{") (expression_statement "puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);" (assignment_expression "puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" (identifier "puVar30") (= "=") (cast_expression "(uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270)" (parenthesized_expression "(*(code *)PTR_fopen64_0002b23c)" (( "(") (pointer_expression "*(code *)PTR_fopen64_0002b23c" (* "*") (cast_expression "(code *)PTR_fopen64_0002b23c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fopen64_0002b23c"))) () ")")) (argument_list "(param_1,PTR_DAT_0002b108 + -0x6270)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_DAT_0002b108 + -0x6270" (identifier "PTR_DAT_0002b108") (+ "+") (number_literal "-0x6270")) () ")"))))) (; ";")) (if_statement "if (puVar30 == (uint *)0x0) goto LAB_00012840;" (if "if") (parenthesized_expression "(puVar30 == (uint *)0x0)" (( "(") (binary_expression "puVar30 == (uint *)0x0" (identifier "puVar30") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012840;" (goto "goto") (statement_identifier "LAB_00012840") (; ";"))) (} "}")))) (expression_statement "fadvise(puVar30,2);" (call_expression "fadvise(puVar30,2)" (identifier "fadvise") (argument_list "(puVar30,2)" (( "(") (identifier "puVar30") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_stdout_0002b278;" (assignment_expression "puVar2 = PTR_stdout_0002b278" (identifier "puVar2") (= "=") (identifier "PTR_stdout_0002b278")) (; ";")) (expression_statement "puVar4 = PTR_frp_0002b110;" (assignment_expression "puVar4 = PTR_frp_0002b110" (identifier "puVar4") (= "=") (identifier "PTR_frp_0002b110")) (; ";")) (expression_statement "puVar23 = PTR_DAT_0002b0f8;" (assignment_expression "puVar23 = PTR_DAT_0002b0f8" (identifier "puVar23") (= "=") (identifier "PTR_DAT_0002b0f8")) (; ";")) (if_statement "if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1)" (( "(") (binary_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1" (pointer_expression "*(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" (* "*") (cast_expression "(int *)(PTR_DAT_0002b0f8 + -0x4ca0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4ca0)" (( "(") (binary_expression "PTR_DAT_0002b0f8 + -0x4ca0" (identifier "PTR_DAT_0002b0f8") (+ "+") (number_literal "-0x4ca0")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    uVar24 = 0;\n    uVar16 = 0;\n    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;\n    cVar27 = '\0';\nLAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );\n  }" ({ "{") (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" (( "(") (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" (identifier "PTR_DAT_0002b0f8") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_frp_0002b110" (* "*") (cast_expression "(undefined4 *)PTR_frp_0002b110" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_frp_0002b110")))) (; ";")) (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" (identifier "cVar27") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (labeled_statement "LAB_0001291c:\n    do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );" (statement_identifier "LAB_0001291c") (: ":") (do_statement "do {\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    } while( true );" (do "do") (compound_statement "{\n      pbVar7 = (byte *)puVar30[1];\n      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;\nLAB_00012934:\n      bVar20 = puVar23[-0x4fb8];\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar29 = (uint)*pbVar7;\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      uVar26 = uVar16;\n      if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }\n      iVar6 = *(int *)puVar2;\n      pbVar7 = *(byte **)(iVar6 + 0x14);\n      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }\n      uVar24 = 0;\n      uVar16 = 0;\n      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n      cVar27 = '\0';\n    }" ({ "{") (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;" (if "if") (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" (( "(") (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]"))) (<= "<=") (identifier "pbVar7")) () ")")) (goto_statement "goto LAB_000129f4;" (goto "goto") (statement_identifier "LAB_000129f4") (; ";"))) (labeled_statement "LAB_00012934:\n      bVar20 = puVar23[-0x4fb8];" (statement_identifier "LAB_00012934") (: ":") (expression_statement "bVar20 = puVar23[-0x4fb8];" (assignment_expression "bVar20 = puVar23[-0x4fb8]" (identifier "bVar20") (= "=") (subscript_expression "puVar23[-0x4fb8]" (identifier "puVar23") ([ "[") (number_literal "-0x4fb8") (] "]"))) (; ";"))) (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar7 + 1)" (( "(") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar29 = (uint)*pbVar7;" (assignment_expression "uVar29 = (uint)*pbVar7" (identifier "uVar29") (= "=") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" (identifier "uVar26") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar29 != bVar20) {\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" (if "if") (parenthesized_expression "(uVar29 != bVar20)" (( "(") (binary_expression "uVar29 != bVar20" (identifier "uVar29") (!= "!=") (identifier "bVar20")) () ")")) (compound_statement "{\n        do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );\n      }" ({ "{") (do_statement "do {\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        } while( true );" (do "do") (compound_statement "{\n          uVar16 = uVar26 + 1;\n          uVar24 = (uVar16 < uVar26) + uVar24;\n          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }\n          uVar26 = *puVar10;\n          if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;\n          iVar6 = *(int *)puVar2;\n          if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar29;\n          pbVar7 = (byte *)puVar30[1];\n          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;\nLAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);\n          bVar20 = puVar23[-0x4fb8];\n          if (uVar29 == bVar20) break;\n          puVar10 = *(uint **)(puVar23 + -0x4c94);\n          uVar26 = uVar16;\n          if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }\n        }" ({ "{") (expression_statement "uVar16 = uVar26 + 1;" (assignment_expression "uVar16 = uVar26 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar26 + 1" (identifier "uVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar24 = (uVar16 < uVar26) + uVar24;" (assignment_expression "uVar24 = (uVar16 < uVar26) + uVar24" (identifier "uVar24") (= "=") (binary_expression "(uVar16 < uVar26) + uVar24" (parenthesized_expression "(uVar16 < uVar26)" (( "(") (binary_expression "uVar16 < uVar26" (identifier "uVar16") (< "<") (identifier "uVar26")) () ")")) (+ "+") (identifier "uVar24"))) (; ";")) (if_statement "if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }" (if "if") (parenthesized_expression "((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16))))" (( "(") (binary_expression "(puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))" (parenthesized_expression "(puVar10[2] < uVar24)" (( "(") (binary_expression "puVar10[2] < uVar24" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (< "<") (identifier "uVar24")) () ")")) (|| "||") (parenthesized_expression "((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))" (( "(") (parenthesized_expression "(puVar10[2] == uVar24 && (puVar10[3] < uVar16))" (( "(") (binary_expression "puVar10[2] == uVar24 && (puVar10[3] < uVar16)" (binary_expression "puVar10[2] == uVar24" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (== "==") (identifier "uVar24")) (&& "&&") (parenthesized_expression "(puVar10[3] < uVar16)" (( "(") (binary_expression "puVar10[3] < uVar16" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (< "<") (identifier "uVar16")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            puVar10 = puVar10 + 4;\n            *(uint **)(puVar23 + -0x4c94) = puVar10;\n          }" ({ "{") (expression_statement "puVar10 = puVar10 + 4;" (assignment_expression "puVar10 = puVar10 + 4" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(uint **)(puVar23 + -0x4c94) = puVar10;" (assignment_expression "*(uint **)(puVar23 + -0x4c94) = puVar10" (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (identifier "puVar10")) (; ";")) (} "}"))) (expression_statement "uVar26 = *puVar10;" (assignment_expression "uVar26 = *puVar10" (identifier "uVar26") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (if_statement "if ((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;" (if "if") (parenthesized_expression "((uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]))))" (( "(") (binary_expression "(uVar24 < uVar26) ||\n             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))" (parenthesized_expression "(uVar24 < uVar26)" (( "(") (binary_expression "uVar24 < uVar26" (identifier "uVar24") (< "<") (identifier "uVar26")) () ")")) (|| "||") (parenthesized_expression "((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))" (( "(") (parenthesized_expression "(cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]))" (( "(") (comma_expression "cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (assignment_expression "cVar28 = puVar23[-0x4ca4]" (identifier "cVar28") (= "=") (subscript_expression "puVar23[-0x4ca4]" (identifier "puVar23") ([ "[") (number_literal "-0x4ca4") (] "]"))) (, ",") (binary_expression "uVar26 == uVar24 &&\n              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (binary_expression "uVar26 == uVar24" (identifier "uVar26") (== "==") (identifier "uVar24")) (&& "&&") (parenthesized_expression "(cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])" (( "(") (comma_expression "cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1]" (assignment_expression "cVar28 = puVar23[-0x4ca4]" (identifier "cVar28") (= "=") (subscript_expression "puVar23[-0x4ca4]" (identifier "puVar23") ([ "[") (number_literal "-0x4ca4") (] "]"))) (, ",") (binary_expression "uVar16 < puVar10[1]" (identifier "uVar16") (< "<") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")))) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0001291c;" (goto "goto") (statement_identifier "LAB_0001291c") (; ";"))) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";")) (if_statement "if (cVar28 == '\0') {\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }\n          else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" (if "if") (parenthesized_expression "(cVar28 == '\0')" (( "(") (binary_expression "cVar28 == '\0'" (identifier "cVar28") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar28 = cVar27;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }\n          }" ({ "{") (labeled_statement "LAB_000129bc:\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);" (statement_identifier "LAB_000129bc") (: ":") (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (expression_statement "cVar28 = cVar27;" (assignment_expression "cVar28 = cVar27" (identifier "cVar28") (= "=") (identifier "cVar27")) (; ";")) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }" (if "if") (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" (( "(") (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) (<= "<=") (identifier "puVar11")) () ")")) (compound_statement "{\nLAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);\n              cVar27 = cVar28;\n              goto LAB_0001291c;\n            }" ({ "{") (labeled_statement "LAB_00012ab8:\n              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);" (statement_identifier "LAB_00012ab8") (: ":") (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002b24c" (* "*") (cast_expression "(code *)PTR___overflow_0002b24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002b24c"))) () ")")) (argument_list "(iVar6,uVar29 & 0xff)" (( "(") (identifier "iVar6") (, ",") (binary_expression "uVar29 & 0xff" (identifier "uVar29") (& "&") (number_literal "0xff")) () ")"))) (; ";"))) (expression_statement "cVar27 = cVar28;" (assignment_expression "cVar27 = cVar28" (identifier "cVar27") (= "=") (identifier "cVar28")) (; ";")) (goto_statement "goto LAB_0001291c;" (goto "goto") (statement_identifier "LAB_0001291c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" (else "else") (compound_statement "{\n            if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }\n            puVar11 = *(undefined1 **)(iVar6 + 0x14);\n            cVar27 = cVar28;\n            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;\n          }" ({ "{") (if_statement "if (cVar27 != '\0') {\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }" (if "if") (parenthesized_expression "(cVar27 != '\0')" (( "(") (binary_expression "cVar27 != '\0'" (identifier "cVar27") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }\n              goto LAB_000129bc;\n            }" ({ "{") (if_statement "if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }" (if "if") (parenthesized_expression "((uVar24 == uVar26) && (uVar16 == puVar10[1]))" (( "(") (binary_expression "(uVar24 == uVar26) && (uVar16 == puVar10[1])" (parenthesized_expression "(uVar24 == uVar26)" (( "(") (binary_expression "uVar24 == uVar26" (identifier "uVar24") (== "==") (identifier "uVar26")) () ")")) (&& "&&") (parenthesized_expression "(uVar16 == puVar10[1])" (( "(") (binary_expression "uVar16 == puVar10[1]" (identifier "uVar16") (== "==") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) () ")"))) () ")")) (compound_statement "{\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);\n                iVar6 = *(int *)puVar2;\n              }" ({ "{") (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0002b2ec"))) () ")")) (argument_list "(*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),\n                           iVar6)" (( "(") (pointer_expression "*(undefined4 *)(puVar23 + -0x4cac)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x4cac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x4cac)" (( "(") (binary_expression "puVar23 + -0x4cac" (identifier "puVar23") (+ "+") (number_literal "-0x4cac")) () ")")))) (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(puVar23 + -0x4ca8)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x4ca8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x4ca8)" (( "(") (binary_expression "puVar23 + -0x4ca8" (identifier "puVar23") (+ "+") (number_literal "-0x4ca8")) () ")")))) (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";")) (} "}"))) (goto_statement "goto LAB_000129bc;" (goto "goto") (statement_identifier "LAB_000129bc") (; ";")) (} "}"))) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "cVar27 = cVar28;" (assignment_expression "cVar27 = cVar28" (identifier "cVar27") (= "=") (identifier "cVar28")) (; ";")) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;" (if "if") (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" (( "(") (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) (<= "<=") (identifier "puVar11")) () ")")) (goto_statement "goto LAB_00012ab8;" (goto "goto") (statement_identifier "LAB_00012ab8") (; ";"))) (} "}")))) (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar11 = (char)uVar29;" (assignment_expression "*puVar11 = (char)uVar29" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (cast_expression "(char)uVar29" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar29"))) (; ";")) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;" (if "if") (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" (( "(") (binary_expression "pbVar7 < (byte *)puVar30[2]" (identifier "pbVar7") (< "<") (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]")))) () ")")) (goto_statement "goto LAB_00012934;" (goto "goto") (statement_identifier "LAB_00012934") (; ";"))) (labeled_statement "LAB_000129f4:\n          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);" (statement_identifier "LAB_000129f4") (: ":") (expression_statement "uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30)" (identifier "uVar29") (= "=") (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" (( "(") (pointer_expression "*(code *)PTR___uflow_0002b264" (* "*") (cast_expression "(code *)PTR___uflow_0002b264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_0002b264"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";"))) (expression_statement "bVar20 = puVar23[-0x4fb8];" (assignment_expression "bVar20 = puVar23[-0x4fb8]" (identifier "bVar20") (= "=") (subscript_expression "puVar23[-0x4fb8]" (identifier "puVar23") ([ "[") (number_literal "-0x4fb8") (] "]"))) (; ";")) (if_statement "if (uVar29 == bVar20) break;" (if "if") (parenthesized_expression "(uVar29 == bVar20)" (( "(") (binary_expression "uVar29 == bVar20" (identifier "uVar29") (== "==") (identifier "bVar20")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" (identifier "uVar26") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar29 == 0xffffffff) {\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }" (if "if") (parenthesized_expression "(uVar29 == 0xffffffff)" (( "(") (binary_expression "uVar29 == 0xffffffff" (identifier "uVar29") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;\n            iVar6 = *(int *)PTR_stdout_0002b278;\n            pbVar7 = *(byte **)(iVar6 + 0x14);\n            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }\n            goto LAB_000126c0;\n          }" ({ "{") (if_statement "if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;" (if "if") (parenthesized_expression "(uVar24 == 0 && uVar16 == 0)" (( "(") (binary_expression "uVar24 == 0 && uVar16 == 0" (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uVar16 == 0" (identifier "uVar16") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_000126bc;" (goto "goto") (statement_identifier "LAB_000126bc") (; ";"))) (expression_statement "iVar6 = *(int *)PTR_stdout_0002b278;" (assignment_expression "iVar6 = *(int *)PTR_stdout_0002b278" (identifier "iVar6") (= "=") (pointer_expression "*(int *)PTR_stdout_0002b278" (* "*") (cast_expression "(int *)PTR_stdout_0002b278" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_0002b278")))) (; ";")) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)(iVar6 + 0x14)" (* "*") (cast_expression "(byte **)(iVar6 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }\n            else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" (if "if") (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" (( "(") (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" (identifier "pbVar7") (< "<") (pointer_expression "*(byte **)(iVar6 + 0x18)" (* "*") (cast_expression "(byte **)(iVar6 + 0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n              *pbVar7 = bVar20;\n              uVar16 = *puVar30;\n            }" ({ "{") (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" (* "*") (cast_expression "(byte **)(iVar6 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (= "=") (identifier "bVar20")) (; ";")) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" (identifier "uVar16") (= "=") (pointer_expression "*puVar30" (* "*") (identifier "puVar30"))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);\n              uVar16 = *puVar30;\n            }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002b24c" (* "*") (cast_expression "(code *)PTR___overflow_0002b24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002b24c"))) () ")")) (argument_list "(iVar6,(uint)bVar20)" (( "(") (identifier "iVar6") (, ",") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) () ")"))) (; ";")) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" (identifier "uVar16") (= "=") (pointer_expression "*puVar30" (* "*") (identifier "puVar30"))) (; ";")) (} "}")))) (goto_statement "goto LAB_000126c0;" (goto "goto") (statement_identifier "LAB_000126c0") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)puVar2;" (assignment_expression "iVar6 = *(int *)puVar2" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";")) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)(iVar6 + 0x14)" (* "*") (cast_expression "(byte **)(iVar6 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }\n      else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" (if "if") (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" (( "(") (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" (identifier "pbVar7") (< "<") (pointer_expression "*(byte **)(iVar6 + 0x18)" (* "*") (cast_expression "(byte **)(iVar6 + 0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n        *pbVar7 = bVar20;\n      }" ({ "{") (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" (* "*") (cast_expression "(byte **)(iVar6 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (= "=") (identifier "bVar20")) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR___overflow_0002b24c)();\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR___overflow_0002b24c)();\n      }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0002b24c)();" (call_expression "(*(code *)PTR___overflow_0002b24c)()" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002b24c" (* "*") (cast_expression "(code *)PTR___overflow_0002b24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002b24c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4" (pointer_expression "*(undefined4 *)(puVar23 + -0x4c94)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x4c94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)puVar4" (* "*") (cast_expression "(undefined4 *)puVar4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" (identifier "cVar27") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "pbVar15 = (byte *)puVar30[1];" (assignment_expression "pbVar15 = (byte *)puVar30[1]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pbVar7 = (byte *)puVar30[2];" (assignment_expression "pbVar7 = (byte *)puVar30[2]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110" (pointer_expression "*(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002b0f8 + -0x4c94)" (( "(") (binary_expression "PTR_DAT_0002b0f8 + -0x4c94" (identifier "PTR_DAT_0002b0f8") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_frp_0002b110" (* "*") (cast_expression "(undefined4 *)PTR_frp_0002b110" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_frp_0002b110")))) (; ";")) (if_statement "if (pbVar15 < pbVar7) {\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }\n  else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(pbVar15 < pbVar7)" (( "(") (binary_expression "pbVar15 < pbVar7" (identifier "pbVar15") (< "<") (identifier "pbVar7")) () ")")) (compound_statement "{\n    puVar30[1] = (uint)(pbVar15 + 1);\n    uVar16 = (uint)*pbVar15;\n  }" ({ "{") (expression_statement "puVar30[1] = (uint)(pbVar15 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar15 + 1)" (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pbVar15 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar15 + 1)" (( "(") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar16 = (uint)*pbVar15;" (assignment_expression "uVar16 = (uint)*pbVar15" (identifier "uVar16") (= "=") (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar15"))) (; ";")) (} "}")) (else_clause "else {\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" (else "else") (compound_statement "{\n    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n    if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }\n  }" ({ "{") (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" (identifier "uVar16") (= "=") (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" (( "(") (pointer_expression "*(code *)PTR___uflow_0002b264" (* "*") (cast_expression "(code *)PTR___uflow_0002b264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_0002b264"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";")) (if_statement "if (uVar16 == 0xffffffff) {\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }" (if "if") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_000126bc:\n      uVar16 = *puVar30;\nLAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }\n      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);\n      if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }\n      return 1;\n    }" ({ "{") (labeled_statement "LAB_000126bc:\n      uVar16 = *puVar30;" (statement_identifier "LAB_000126bc") (: ":") (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" (identifier "uVar16") (= "=") (pointer_expression "*puVar30" (* "*") (identifier "puVar30"))) (; ";"))) (labeled_statement "LAB_000126c0:\n      if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" (statement_identifier "LAB_000126c0") (: ":") (if_statement "if ((uVar16 & 0x20) != 0) {\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" (if "if") (parenthesized_expression "((uVar16 & 0x20) != 0)" (( "(") (binary_expression "(uVar16 & 0x20) != 0" (parenthesized_expression "(uVar16 & 0x20)" (( "(") (binary_expression "uVar16 & 0x20" (identifier "uVar16") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();\n        uVar22 = *puVar13;\n        uVar14 = quotearg_n_style_colon(0,3,param_1);\n        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);\n        return 0;\n      }" ({ "{") (labeled_statement "LAB_00012840:\n        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" (statement_identifier "LAB_00012840") (: ":") (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)()" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0002b284)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0002b284)()" (parenthesized_expression "(*(code *)PTR___errno_location_0002b284)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0002b284" (* "*") (cast_expression "(code *)PTR___errno_location_0002b284" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0002b284"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "uVar22 = *puVar13;" (assignment_expression "uVar22 = *puVar13" (identifier "uVar22") (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "uVar14 = quotearg_n_style_colon(0,3,param_1);" (assignment_expression "uVar14 = quotearg_n_style_colon(0,3,param_1)" (identifier "uVar14") (= "=") (call_expression "quotearg_n_style_colon(0,3,param_1)" (identifier "quotearg_n_style_colon") (argument_list "(0,3,param_1)" (( "(") (number_literal "0") (, ",") (number_literal "3") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);" (call_expression "(*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14)" (parenthesized_expression "(*(code *)PTR_error_0002b2c0)" (( "(") (pointer_expression "*(code *)PTR_error_0002b2c0" (* "*") (cast_expression "(code *)PTR_error_0002b2c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_0002b2c0"))) () ")")) (argument_list "(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14)" (( "(") (number_literal "0") (, ",") (identifier "uVar22") (, ",") (binary_expression "PTR_DAT_0002b108 + -0x6054" (identifier "PTR_DAT_0002b108") (+ "+") (number_literal "-0x6054")) (, ",") (identifier "uVar14") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (expression_statement "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160)" (parenthesized_expression "(*(code *)PTR_strcmp_0002b31c)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0002b31c" (* "*") (cast_expression "(code *)PTR_strcmp_0002b31c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0002b31c"))) () ")")) (argument_list "(param_1,puVar3 + -0x6160)" (( "(") (identifier "param_1") (, ",") (binary_expression "puVar3 + -0x6160" (identifier "puVar3") (+ "+") (number_literal "-0x6160")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }\n      else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);\n      }" ({ "{") (expression_statement "(*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);" (call_expression "(*(code *)PTR_clearerr_unlocked_0002b254)(puVar30)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0002b254)" (( "(") (pointer_expression "*(code *)PTR_clearerr_unlocked_0002b254" (* "*") (cast_expression "(code *)PTR_clearerr_unlocked_0002b254" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_clearerr_unlocked_0002b254"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" (else "else") (compound_statement "{\n        iVar6 = rpl_fclose(puVar30);\n        if (iVar6 == -1) goto LAB_00012840;\n      }" ({ "{") (expression_statement "iVar6 = rpl_fclose(puVar30);" (assignment_expression "iVar6 = rpl_fclose(puVar30)" (identifier "iVar6") (= "=") (call_expression "rpl_fclose(puVar30)" (identifier "rpl_fclose") (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";")) (if_statement "if (iVar6 == -1) goto LAB_00012840;" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00012840;" (goto "goto") (statement_identifier "LAB_00012840") (; ";"))) (} "}")))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" (( "(") (pointer_expression "*(code *)PTR_ungetc_0002b288" (* "*") (cast_expression "(code *)PTR_ungetc_0002b288" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ungetc_0002b288"))) () ")")) (argument_list "(uVar16,puVar30)" (( "(") (identifier "uVar16") (, ",") (identifier "puVar30") () ")"))) (; ";")) (expression_statement "puVar5 = PTR_stdout_0002b278;" (assignment_expression "puVar5 = PTR_stdout_0002b278" (identifier "puVar5") (= "=") (identifier "PTR_stdout_0002b278")) (; ";")) (expression_statement "puVar2 = PTR_DAT_0002b0f8;" (assignment_expression "puVar2 = PTR_DAT_0002b0f8" (identifier "puVar2") (= "=") (identifier "PTR_DAT_0002b0f8")) (; ";")) (expression_statement "cVar27 = '\x01';" (assignment_expression "cVar27 = '\x01'" (identifier "cVar27") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (if_statement "if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {\n    cVar27 = '\0';\n  }" (if "if") (parenthesized_expression "((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2))" (( "(") (binary_expression "(**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)" (parenthesized_expression "(**(int **)(puVar23 + -0x4c94) == 0)" (( "(") (binary_expression "**(int **)(puVar23 + -0x4c94) == 0" (pointer_expression "**(int **)(puVar23 + -0x4c94)" (* "*") (pointer_expression "*(int **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(int **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)" (( "(") (binary_expression "(uint)(*(int **)(puVar23 + -0x4c94))[1] < 2" (subscript_expression "(uint)(*(int **)(puVar23 + -0x4c94))[1]" (call_expression "(uint)(*(int **)(puVar23 + -0x4c94))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int **)(puVar23 + -0x4c94))" (( "(") (pointer_expression "*(int **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(int **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")")))) () ")"))) ([ "[") (number_literal "1") (] "]")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n    cVar27 = '\0';\n  }" ({ "{") (expression_statement "cVar27 = '\0';" (assignment_expression "cVar27 = '\0'" (identifier "cVar27") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar28 = PTR_DAT_0002b0f8[-0x4ca1];" (assignment_expression "cVar28 = PTR_DAT_0002b0f8[-0x4ca1]" (identifier "cVar28") (= "=") (subscript_expression "PTR_DAT_0002b0f8[-0x4ca1]" (identifier "PTR_DAT_0002b0f8") ([ "[") (number_literal "-0x4ca1") (] "]"))) (; ";")) (expression_statement "puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;" (assignment_expression "puVar8 = PTR_DAT_0002b0f8 + -0x4c9c" (identifier "puVar8") (= "=") (binary_expression "PTR_DAT_0002b0f8 + -0x4c9c" (identifier "PTR_DAT_0002b0f8") (+ "+") (number_literal "-0x4c9c"))) (; ";")) (expression_statement "puVar9 = PTR_DAT_0002b0f8 + -0x4c98;" (assignment_expression "puVar9 = PTR_DAT_0002b0f8 + -0x4c98" (identifier "puVar9") (= "=") (binary_expression "PTR_DAT_0002b0f8 + -0x4c98" (identifier "PTR_DAT_0002b0f8") (+ "+") (number_literal "-0x4c98"))) (; ";")) (labeled_statement "LAB_000122b8:\n  do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );" (statement_identifier "LAB_000122b8") (: ":") (do_statement "do {\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }\nLAB_000122c8:\n    uVar17 = *puVar10;\n    uVar29 = uVar16;\n    if (uVar26 < uVar17) goto LAB_000124b0;\nLAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;\n    if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }\n    pbVar7 = (byte *)puVar30[1];\n    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;\n    while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }\nLAB_000123b4:\n    bVar1 = true;\n    uVar12 = uVar16;\n    uVar16 = uVar18;\nLAB_000123b8:\n    if (uVar12 != uVar18) break;\n    pbVar7 = (byte *)puVar30[1];\n    if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }\n    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);\n    uVar18 = (uint)(byte)puVar2[-0x4ca3];\n    uVar17 = uVar24;\n    if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }\nLAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);\n    uVar24 = uVar17 + 1;\n    uVar26 = (uVar24 < uVar17) + uVar26;\n    if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }\n  }" ({ "{") (if_statement "if (uVar26 == 0) {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }\n    else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" (if "if") (parenthesized_expression "(uVar26 == 0)" (( "(") (binary_expression "uVar26 == 0" (identifier "uVar26") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n      if (uVar24 == 1) goto LAB_00012454;\n    }" ({ "{") (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (if_statement "if (uVar24 == 1) goto LAB_00012454;" (if "if") (parenthesized_expression "(uVar24 == 1)" (( "(") (binary_expression "uVar24 == 1" (identifier "uVar24") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00012454;" (goto "goto") (statement_identifier "LAB_00012454") (; ";"))) (} "}")) (else_clause "else {\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" (else "else") (compound_statement "{\n      puVar10 = *(uint **)(puVar23 + -0x4c94);\n    }" ({ "{") (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (} "}")))) (labeled_statement "LAB_000122c8:\n    uVar17 = *puVar10;" (statement_identifier "LAB_000122c8") (: ":") (expression_statement "uVar17 = *puVar10;" (assignment_expression "uVar17 = *puVar10" (identifier "uVar17") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";"))) (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" (identifier "uVar29") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar26 < uVar17) goto LAB_000124b0;" (if "if") (parenthesized_expression "(uVar26 < uVar17)" (( "(") (binary_expression "uVar26 < uVar17" (identifier "uVar26") (< "<") (identifier "uVar17")) () ")")) (goto_statement "goto LAB_000124b0;" (goto "goto") (statement_identifier "LAB_000124b0") (; ";"))) (labeled_statement "LAB_000122d8:\n    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;" (statement_identifier "LAB_000122d8") (: ":") (if_statement "if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;" (if "if") (parenthesized_expression "((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1]))" (( "(") (binary_expression "(uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])" (parenthesized_expression "(uVar17 == uVar26)" (( "(") (binary_expression "uVar17 == uVar26" (identifier "uVar17") (== "==") (identifier "uVar26")) () ")")) (&& "&&") (parenthesized_expression "(uVar16 = uVar29, uVar24 < puVar10[1])" (( "(") (comma_expression "uVar16 = uVar29, uVar24 < puVar10[1]" (assignment_expression "uVar16 = uVar29" (identifier "uVar16") (= "=") (identifier "uVar29")) (, ",") (binary_expression "uVar24 < puVar10[1]" (identifier "uVar24") (< "<") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")))) () ")"))) () ")")) (goto_statement "goto LAB_000124b0;" (goto "goto") (statement_identifier "LAB_000124b0") (; ";")))) (if_statement "if (bVar1) {\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      (*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);\n    }" ({ "{") (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)\n                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0002b2ec"))) () ")")) (argument_list "(*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),\n                 *(undefined4 *)puVar5)" (( "(") (pointer_expression "*(undefined4 *)(puVar2 + -0x4cac)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x4cac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x4cac)" (( "(") (binary_expression "puVar2 + -0x4cac" (identifier "puVar2") (+ "+") (number_literal "-0x4cac")) () ")")))) (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(puVar2 + -0x4ca8)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x4ca8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x4ca8)" (( "(") (binary_expression "puVar2 + -0x4ca8" (identifier "puVar2") (+ "+") (number_literal "-0x4ca8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)puVar5" (* "*") (cast_expression "(undefined4 *)puVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;" (if "if") (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" (( "(") (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]"))) (<= "<=") (identifier "pbVar7")) () ")")) (goto_statement "goto LAB_00012390;" (goto "goto") (statement_identifier "LAB_00012390") (; ";"))) (while_statement "while( true ) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n      uVar18 = (uint)(byte)puVar2[-0x4ca3];\n      uVar16 = (uint)(byte)puVar2[-0x4fb8];\n      if (uVar17 == uVar18) break;\n      while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }\n    }" ({ "{") (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar7 + 1)" (( "(") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar17 = (uint)*pbVar7;" (assignment_expression "uVar17 = (uint)*pbVar7" (identifier "uVar17") (= "=") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))))) (; ";")) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" (identifier "uVar16") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))))) (; ";")) (if_statement "if (uVar17 == uVar18) break;" (if "if") (parenthesized_expression "(uVar17 == uVar18)" (( "(") (binary_expression "uVar17 == uVar18" (identifier "uVar17") (== "==") (identifier "uVar18")) () ")")) (break_statement "break;" (break "break") (; ";"))) (while_statement "while( true ) {\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }\n        uVar12 = uVar16;\n        if (uVar17 == 0xffffffff) goto LAB_000124f8;\n        iVar6 = *(int *)puVar5;\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }\n        pbVar7 = (byte *)puVar30[1];\n        uVar29 = uVar17;\n        if (pbVar7 < (byte *)puVar30[2]) break;\nLAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        uVar16 = (uint)(byte)puVar2[-0x4fb8];\n        if (uVar17 == uVar18) goto LAB_000123b4;\n      }" ({ "{") (if_statement "if (uVar17 == uVar16) {\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }" (if "if") (parenthesized_expression "(uVar17 == uVar16)" (( "(") (binary_expression "uVar17 == uVar16" (identifier "uVar17") (== "==") (identifier "uVar16")) () ")")) (compound_statement "{\n          bVar1 = true;\n          uVar18 = (uint)(byte)puVar2[-0x4ca3];\n          uVar12 = (uint)(byte)puVar2[-0x4fb8];\n          goto LAB_0001260c;\n        }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))))) (; ";")) (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" (identifier "uVar12") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))))) (; ";")) (goto_statement "goto LAB_0001260c;" (goto "goto") (statement_identifier "LAB_0001260c") (; ";")) (} "}"))) (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" (identifier "uVar12") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar17 == 0xffffffff) goto LAB_000124f8;" (if "if") (parenthesized_expression "(uVar17 == 0xffffffff)" (( "(") (binary_expression "uVar17 == 0xffffffff" (identifier "uVar17") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_000124f8;" (goto "goto") (statement_identifier "LAB_000124f8") (; ";"))) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }\n        else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" (if "if") (parenthesized_expression "(puVar11 < *(undefined1 **)(iVar6 + 0x18))" (( "(") (binary_expression "puVar11 < *(undefined1 **)(iVar6 + 0x18)" (identifier "puVar11") (< "<") (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n          *puVar11 = (char)uVar17;\n        }" ({ "{") (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar11 = (char)uVar17;" (assignment_expression "*puVar11 = (char)uVar17" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17"))) (; ";")) (} "}")) (else_clause "else {\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" (else "else") (compound_statement "{\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);\n        }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002b24c" (* "*") (cast_expression "(code *)PTR___overflow_0002b24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002b24c"))) () ")")) (argument_list "(iVar6,uVar17 & 0xff)" (( "(") (identifier "iVar6") (, ",") (binary_expression "uVar17 & 0xff" (identifier "uVar17") (& "&") (number_literal "0xff")) () ")"))) (; ";")) (} "}")))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar29 = uVar17;" (assignment_expression "uVar29 = uVar17" (identifier "uVar29") (= "=") (identifier "uVar17")) (; ";")) (if_statement "if (pbVar7 < (byte *)puVar30[2]) break;" (if "if") (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" (( "(") (binary_expression "pbVar7 < (byte *)puVar30[2]" (identifier "pbVar7") (< "<") (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00012390:\n        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (statement_identifier "LAB_00012390") (: ":") (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30)" (identifier "uVar17") (= "=") (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" (( "(") (pointer_expression "*(code *)PTR___uflow_0002b264" (* "*") (cast_expression "(code *)PTR___uflow_0002b264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_0002b264"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";"))) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))))) (; ";")) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" (identifier "uVar16") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))))) (; ";")) (if_statement "if (uVar17 == uVar18) goto LAB_000123b4;" (if "if") (parenthesized_expression "(uVar17 == uVar18)" (( "(") (binary_expression "uVar17 == uVar18" (identifier "uVar17") (== "==") (identifier "uVar18")) () ")")) (goto_statement "goto LAB_000123b4;" (goto "goto") (statement_identifier "LAB_000123b4") (; ";"))) (} "}"))) (} "}"))) (labeled_statement "LAB_000123b4:\n    bVar1 = true;" (statement_identifier "LAB_000123b4") (: ":") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";"))) (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" (identifier "uVar12") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "uVar16 = uVar18;" (assignment_expression "uVar16 = uVar18" (identifier "uVar16") (= "=") (identifier "uVar18")) (; ";")) (labeled_statement "LAB_000123b8:\n    if (uVar12 != uVar18) break;" (statement_identifier "LAB_000123b8") (: ":") (if_statement "if (uVar12 != uVar18) break;" (if "if") (parenthesized_expression "(uVar12 != uVar18)" (( "(") (binary_expression "uVar12 != uVar18" (identifier "uVar12") (!= "!=") (identifier "uVar18")) () ")")) (break_statement "break;" (break "break") (; ";")))) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (pbVar7 < (byte *)puVar30[2]) {\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }\n    else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" (if "if") (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" (( "(") (binary_expression "pbVar7 < (byte *)puVar30[2]" (identifier "pbVar7") (< "<") (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n      puVar30[1] = (uint)(pbVar7 + 1);\n      uVar17 = (uint)*pbVar7;\n    }" ({ "{") (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar7 + 1)" (( "(") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar17 = (uint)*pbVar7;" (assignment_expression "uVar17 = (uint)*pbVar7" (identifier "uVar17") (= "=") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) (; ";")) (} "}")) (else_clause "else {\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" (else "else") (compound_statement "{\n      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);\n      if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }\n    }" ({ "{") (expression_statement "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30)" (identifier "uVar17") (= "=") (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" (( "(") (pointer_expression "*(code *)PTR___uflow_0002b264" (* "*") (cast_expression "(code *)PTR___uflow_0002b264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_0002b264"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";")) (if_statement "if (uVar17 == 0xffffffff) {\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }" (if "if") (parenthesized_expression "(uVar17 == 0xffffffff)" (( "(") (binary_expression "uVar17 == 0xffffffff" (identifier "uVar17") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        uVar12 = (uint)(byte)puVar2[-0x4fb8];\n        uVar18 = (uint)(byte)puVar2[-0x4ca3];\n        goto LAB_0001241c;\n      }" ({ "{") (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" (identifier "uVar12") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))))) (; ";")) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))))) (; ";")) (goto_statement "goto LAB_0001241c;" (goto "goto") (statement_identifier "LAB_0001241c") (; ";")) (} "}"))) (} "}")))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar17,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" (( "(") (pointer_expression "*(code *)PTR_ungetc_0002b288" (* "*") (cast_expression "(code *)PTR_ungetc_0002b288" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ungetc_0002b288"))) () ")")) (argument_list "(uVar17,puVar30)" (( "(") (identifier "uVar17") (, ",") (identifier "puVar30") () ")"))) (; ";")) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))))) (; ";")) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" (identifier "uVar17") (= "=") (identifier "uVar24")) (; ";")) (if_statement "if (uVar16 != uVar18) {\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" (if "if") (parenthesized_expression "(uVar16 != uVar18)" (( "(") (binary_expression "uVar16 != uVar18" (identifier "uVar16") (!= "!=") (identifier "uVar18")) () ")")) (compound_statement "{\n      bVar20 = puVar2[-0x4fb8];\nLAB_00012404:\n      uVar12 = (uint)bVar20;\n      if (uVar16 == uVar12) goto LAB_0001266c;\n      if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }\n      goto LAB_000122b8;\n    }" ({ "{") (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" (identifier "bVar20") (= "=") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))) (; ";")) (labeled_statement "LAB_00012404:\n      uVar12 = (uint)bVar20;" (statement_identifier "LAB_00012404") (: ":") (expression_statement "uVar12 = (uint)bVar20;" (assignment_expression "uVar12 = (uint)bVar20" (identifier "uVar12") (= "=") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20"))) (; ";"))) (if_statement "if (uVar16 == uVar12) goto LAB_0001266c;" (if "if") (parenthesized_expression "(uVar16 == uVar12)" (( "(") (binary_expression "uVar16 == uVar12" (identifier "uVar16") (== "==") (identifier "uVar12")) () ")")) (goto_statement "goto LAB_0001266c;" (goto "goto") (statement_identifier "LAB_0001266c") (; ";"))) (if_statement "if (uVar16 == 0xffffffff) {\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }" (if "if") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }\nLAB_000124f8:\n        uVar16 = 0xffffffff;\n        if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }\n        puVar11 = *(undefined1 **)(iVar6 + 0x14);\n        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;\nLAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;\n        *puVar11 = (char)uVar12;\njoined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );\n      }" ({ "{") (labeled_statement "LAB_0001241c:\n        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" (statement_identifier "LAB_0001241c") (: ":") (if_statement "if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" (if "if") (parenthesized_expression "((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1))" (( "(") (binary_expression "(((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)" (parenthesized_expression "(((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0))" (( "(") (binary_expression "((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)" (parenthesized_expression "((!bVar1) && (puVar2[-0x4ca1] != '\0'))" (( "(") (binary_expression "(!bVar1) && (puVar2[-0x4ca1] != '\0')" (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (&& "&&") (parenthesized_expression "(puVar2[-0x4ca1] != '\0')" (( "(") (binary_expression "puVar2[-0x4ca1] != '\0'" (subscript_expression "puVar2[-0x4ca1]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar26 == 0)" (( "(") (binary_expression "uVar26 == 0" (identifier "uVar26") (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar24 == 1)" (( "(") (binary_expression "uVar24 == 1" (identifier "uVar24") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n          uVar16 = 0xffffffff;\n          goto joined_r0x00012528;\n        }" ({ "{") (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" (identifier "uVar16") (= "=") (number_literal "0xffffffff")) (; ";")) (goto_statement "goto joined_r0x00012528;" (goto "goto") (statement_identifier "joined_r0x00012528") (; ";")) (} "}")))) (labeled_statement "LAB_000124f8:\n        uVar16 = 0xffffffff;" (statement_identifier "LAB_000124f8") (: ":") (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" (identifier "uVar16") (= "=") (number_literal "0xffffffff")) (; ";"))) (if_statement "if (uVar12 == uVar29) {\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }\n        else {\n          iVar6 = *(int *)puVar5;\n        }" (if "if") (parenthesized_expression "(uVar12 == uVar29)" (( "(") (binary_expression "uVar12 == uVar29" (identifier "uVar12") (== "==") (identifier "uVar29")) () ")")) (compound_statement "{\n          if (uVar18 != uVar12) goto joined_r0x00012528;\n          iVar6 = *(int *)puVar5;\n        }" ({ "{") (if_statement "if (uVar18 != uVar12) goto joined_r0x00012528;" (if "if") (parenthesized_expression "(uVar18 != uVar12)" (( "(") (binary_expression "uVar18 != uVar12" (identifier "uVar18") (!= "!=") (identifier "uVar12")) () ")")) (goto_statement "goto joined_r0x00012528;" (goto "goto") (statement_identifier "joined_r0x00012528") (; ";"))) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (} "}")) (else_clause "else {\n          iVar6 = *(int *)puVar5;\n        }" (else "else") (compound_statement "{\n          iVar6 = *(int *)puVar5;\n        }" ({ "{") (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (} "}")))) (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;" (if "if") (parenthesized_expression "(*(undefined1 **)(iVar6 + 0x18) <= puVar11)" (( "(") (binary_expression "*(undefined1 **)(iVar6 + 0x18) <= puVar11" (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) (<= "<=") (identifier "puVar11")) () ")")) (goto_statement "goto LAB_000126a4;" (goto "goto") (statement_identifier "LAB_000126a4") (; ";"))) (labeled_statement "LAB_00012518:\n        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (statement_identifier "LAB_00012518") (: ":") (expression_statement "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;" (assignment_expression "*(undefined1 **)(iVar6 + 0x14) = puVar11 + 1" (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*puVar11 = (char)uVar12;" (assignment_expression "*puVar11 = (char)uVar12" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (cast_expression "(char)uVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar12"))) (; ";")) (labeled_statement "joined_r0x00012528:\n        do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );" (statement_identifier "joined_r0x00012528") (: ":") (do_statement "do {\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        } while( true );" (do "do") (compound_statement "{\n          uVar12 = uVar16;\n          if (uVar12 == 0xffffffff) goto LAB_000126bc;\n          do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);\n          iVar6 = *(int *)puVar5;\nLAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);\n          uVar16 = uVar12;\n          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;\nLAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);\n        }" ({ "{") (expression_statement "uVar12 = uVar16;" (assignment_expression "uVar12 = uVar16" (identifier "uVar12") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar12 == 0xffffffff) goto LAB_000126bc;" (if "if") (parenthesized_expression "(uVar12 == 0xffffffff)" (( "(") (binary_expression "uVar12 == 0xffffffff" (identifier "uVar12") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_000126bc;" (goto "goto") (statement_identifier "LAB_000126bc") (; ";"))) (do_statement "do {\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          } while (uVar24 == 1);" (do "do") (compound_statement "{\n            bVar1 = false;\n            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;\n            uVar16 = uVar12;\n            if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }\n            puVar10 = *(uint **)(puVar23 + -0x4c94);\n            uVar26 = 0;\n            uVar17 = *puVar10;\n            uVar24 = 1;\n            uVar29 = uVar16;\n            if (uVar17 == 0) goto LAB_000122d8;\nLAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }\nLAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;\n            if (uVar16 != uVar12) goto LAB_000122b8;\nLAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }\n          }" ({ "{") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4" (pointer_expression "*(undefined4 *)(puVar23 + -0x4c94)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x4c94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)puVar4" (* "*") (cast_expression "(undefined4 *)puVar4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" (identifier "uVar16") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (cVar27 != cVar28) {\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }" (if "if") (parenthesized_expression "(cVar27 != cVar28)" (( "(") (binary_expression "cVar27 != cVar28" (identifier "cVar27") (!= "!=") (identifier "cVar28")) () ")")) (compound_statement "{\n              cVar21 = puVar2[-0x4ca3];\n              do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);\n            }" ({ "{") (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" (identifier "cVar21") (= "=") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))) (; ";")) (do_statement "do {\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              } while (cVar27 != cVar28);" (do "do") (compound_statement "{\n                do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');\n                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);\n                bVar20 = puVar2[-0x4fb8];\n                uVar16 = (uint)bVar20;\n                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }\nLAB_00012454:\n                cVar21 = puVar2[-0x4ca3];\n              }" ({ "{") (do_statement "do {\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                } while (puVar2[-0x4ca1] != '\0');" (do "do") (compound_statement "{\n                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);\n                  if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }\n                  if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }\n                  iVar25 = iVar6 + -1;\n                  cVar21 = puVar2[-0x4ca3];\n                  iVar19 = *(int *)(puVar2 + -0x4c98);\n                  if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }\n                }" ({ "{") (expression_statement "iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);" (assignment_expression "iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" (identifier "iVar6") (= "=") (call_expression "getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" (identifier "getndelim2") (argument_list "(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30)" (( "(") (identifier "puVar9") (, ",") (identifier "puVar8") (, ",") (number_literal "0") (, ",") (number_literal "0xffffffff") (, ",") (identifier "cVar21") (, ",") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]")) (, ",") (identifier "puVar30") () ")")))) (; ";")) (if_statement "if (iVar6 < 0) {\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" (if "if") (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));\n                    uVar16 = *puVar30;\n                    *(undefined4 *)(puVar2 + -0x4c98) = 0;\n                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;\n                    xalloc_die();\n                    puVar23 = puVar2;\nLAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n                    if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\nLAB_000127a8:\n                    uVar26 = 0;\n                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    goto LAB_000122c8;\n                  }" ({ "{") (expression_statement "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));" (call_expression "(*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98))" (parenthesized_expression "(*(code *)PTR_free_0002b300)" (( "(") (pointer_expression "*(code *)PTR_free_0002b300" (* "*") (cast_expression "(code *)PTR_free_0002b300" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0002b300"))) () ")")) (argument_list "(*(undefined4 *)(puVar2 + -0x4c98))" (( "(") (pointer_expression "*(undefined4 *)(puVar2 + -0x4c98)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x4c98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x4c98)" (( "(") (binary_expression "puVar2 + -0x4c98" (identifier "puVar2") (+ "+") (number_literal "-0x4c98")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar16 = *puVar30;" (assignment_expression "uVar16 = *puVar30" (identifier "uVar16") (= "=") (pointer_expression "*puVar30" (* "*") (identifier "puVar30"))) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + -0x4c98) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x4c98) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x4c98)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x4c98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x4c98)" (( "(") (binary_expression "puVar2 + -0x4c98" (identifier "puVar2") (+ "+") (number_literal "-0x4c98")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar16 & 0x30) != 0) goto LAB_000126c0;" (if "if") (parenthesized_expression "((uVar16 & 0x30) != 0)" (( "(") (binary_expression "(uVar16 & 0x30) != 0" (parenthesized_expression "(uVar16 & 0x30)" (( "(") (binary_expression "uVar16 & 0x30" (identifier "uVar16") (& "&") (number_literal "0x30")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000126c0;" (goto "goto") (statement_identifier "LAB_000126c0") (; ";"))) (expression_statement "xalloc_die();" (call_expression "xalloc_die()" (identifier "xalloc_die") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar23 = puVar2;" (assignment_expression "puVar23 = puVar2" (identifier "puVar23") (= "=") (identifier "puVar2")) (; ";")) (labeled_statement "LAB_00012b6c:\n                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (statement_identifier "LAB_00012b6c") (: ":") (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" (identifier "uVar16") (= "=") (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" (( "(") (pointer_expression "*(code *)PTR___uflow_0002b264" (* "*") (cast_expression "(code *)PTR___uflow_0002b264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_0002b264"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";"))) (if_statement "if (uVar16 == 0xffffffff) {\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }\n                    else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" (if "if") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" ({ "{") (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" (else "else") (compound_statement "{\nLAB_00012ae4:\n                      bVar1 = true;\n                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    }" ({ "{") (labeled_statement "LAB_00012ae4:\n                      bVar1 = true;" (statement_identifier "LAB_00012ae4") (: ":") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";"))) (expression_statement "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);" (call_expression "(*(code *)PTR_ungetc_0002b288)(uVar16,puVar30)" (parenthesized_expression "(*(code *)PTR_ungetc_0002b288)" (( "(") (pointer_expression "*(code *)PTR_ungetc_0002b288" (* "*") (cast_expression "(code *)PTR_ungetc_0002b288" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ungetc_0002b288"))) () ")")) (argument_list "(uVar16,puVar30)" (( "(") (identifier "uVar16") (, ",") (identifier "puVar30") () ")"))) (; ";")) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (} "}")))) (labeled_statement "LAB_000127a8:\n                    uVar26 = 0;" (statement_identifier "LAB_000127a8") (: ":") (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((puVar10[2] == 0) && (puVar10[3] < 2)) {\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }\n                    else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" (if "if") (parenthesized_expression "((puVar10[2] == 0) && (puVar10[3] < 2))" (( "(") (binary_expression "(puVar10[2] == 0) && (puVar10[3] < 2)" (parenthesized_expression "(puVar10[2] == 0)" (( "(") (binary_expression "puVar10[2] == 0" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar10[3] < 2)" (( "(") (binary_expression "puVar10[3] < 2" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                      puVar10 = puVar10 + 4;\n                      *(uint **)(puVar23 + -0x4c94) = puVar10;\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" ({ "{") (expression_statement "puVar10 = puVar10 + 4;" (assignment_expression "puVar10 = puVar10 + 4" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(uint **)(puVar23 + -0x4c94) = puVar10;" (assignment_expression "*(uint **)(puVar23 + -0x4c94) = puVar10" (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" (identifier "uVar24") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" (else "else") (compound_statement "{\n                      uVar24 = 2;\n                      uVar16 = 0;\n                    }" ({ "{") (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" (identifier "uVar24") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_000122c8;" (goto "goto") (statement_identifier "LAB_000122c8") (; ";")) (} "}"))) (if_statement "if (iVar6 == 0) {\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);\n                    return uVar14;\n                  }" ({ "{") (expression_statement "uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210);" (assignment_expression "uVar14 = (*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR___assert_fail_0002b214)\n                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" (parenthesized_expression "(*(code *)PTR___assert_fail_0002b214)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0002b214" (* "*") (cast_expression "(code *)PTR___assert_fail_0002b214" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0002b214"))) () ")")) (argument_list "(PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,\n                                        PTR_DAT_0002b108 + -0x6210)" (( "(") (binary_expression "PTR_DAT_0002b108 + -0x6be0" (identifier "PTR_DAT_0002b108") (+ "+") (number_literal "-0x6be0")) (, ",") (binary_expression "PTR_DAT_0002b108 + -0x6bec" (identifier "PTR_DAT_0002b108") (+ "+") (number_literal "-0x6bec")) (, ",") (number_literal "0x149") (, ",") (binary_expression "PTR_DAT_0002b108 + -0x6210" (identifier "PTR_DAT_0002b108") (+ "+") (number_literal "-0x6210")) () ")")))) (; ";")) (return_statement "return uVar14;" (return "return") (identifier "uVar14") (; ";")) (} "}"))) (expression_statement "iVar25 = iVar6 + -1;" (assignment_expression "iVar25 = iVar6 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" (identifier "cVar21") (= "=") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar2 + -0x4c98);" (assignment_expression "iVar19 = *(int *)(puVar2 + -0x4c98)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar2 + -0x4c98)" (* "*") (cast_expression "(int *)(puVar2 + -0x4c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x4c98)" (( "(") (binary_expression "puVar2 + -0x4c98" (identifier "puVar2") (+ "+") (number_literal "-0x4c98")) () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar19 + iVar25) == cVar21) {\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }" (if "if") (parenthesized_expression "(*(char *)(iVar19 + iVar25) == cVar21)" (( "(") (binary_expression "*(char *)(iVar19 + iVar25) == cVar21" (pointer_expression "*(char *)(iVar19 + iVar25)" (* "*") (cast_expression "(char *)(iVar19 + iVar25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar25)" (( "(") (binary_expression "iVar19 + iVar25" (identifier "iVar19") (+ "+") (identifier "iVar25")) () ")")))) (== "==") (identifier "cVar21")) () ")")) (compound_statement "{\n                    puVar10 = *(uint **)(puVar23 + -0x4c94);\n                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }\n                    goto LAB_000127a8;\n                  }" ({ "{") (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (if_statement "if ((*puVar10 == 0) && (puVar10[1] < 2)) {\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }" (if "if") (parenthesized_expression "((*puVar10 == 0) && (puVar10[1] < 2))" (( "(") (binary_expression "(*puVar10 == 0) && (puVar10[1] < 2)" (parenthesized_expression "(*puVar10 == 0)" (( "(") (binary_expression "*puVar10 == 0" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar10[1] < 2)" (( "(") (binary_expression "puVar10[1] < 2" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;\n                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }\n                      puVar10 = *(uint **)(puVar23 + -0x4c94);\n                      bVar1 = true;\n                    }" ({ "{") (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)\n                      ;" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0002b2ec"))) () ")")) (argument_list "(iVar19,1,iVar25,*(undefined4 *)puVar5)" (( "(") (identifier "iVar19") (, ",") (number_literal "1") (, ",") (identifier "iVar25") (, ",") (pointer_expression "*(undefined4 *)puVar5" (* "*") (cast_expression "(undefined4 *)puVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (if_statement "if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }" (if "if") (parenthesized_expression "(puVar2[-0x4ca3] == puVar2[-0x4fb8])" (( "(") (binary_expression "puVar2[-0x4ca3] == puVar2[-0x4fb8]" (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]")) (== "==") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))) () ")")) (compound_statement "{\n                        pbVar7 = (byte *)puVar30[1];\n                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;\n                        puVar30[1] = (uint)(pbVar7 + 1);\n                        uVar16 = (uint)*pbVar7;\n                        goto LAB_00012ae4;\n                      }" ({ "{") (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;" (if "if") (parenthesized_expression "((byte *)puVar30[2] <= pbVar7)" (( "(") (binary_expression "(byte *)puVar30[2] <= pbVar7" (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]"))) (<= "<=") (identifier "pbVar7")) () ")")) (goto_statement "goto LAB_00012b6c;" (goto "goto") (statement_identifier "LAB_00012b6c") (; ";"))) (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar7 + 1)" (( "(") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar16 = (uint)*pbVar7;" (assignment_expression "uVar16 = (uint)*pbVar7" (identifier "uVar16") (= "=") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) (; ";")) (goto_statement "goto LAB_00012ae4;" (goto "goto") (statement_identifier "LAB_00012ae4") (; ";")) (} "}"))) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (} "}"))) (goto_statement "goto LAB_000127a8;" (goto "goto") (statement_identifier "LAB_000127a8") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(puVar2[-0x4ca1] != '\0')" (( "(") (binary_expression "puVar2[-0x4ca1] != '\0'" (subscript_expression "puVar2[-0x4ca1]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);" (call_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0002b2ec)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0002b2ec" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0002b2ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0002b2ec"))) () ")")) (argument_list "(iVar19,1,iVar6,*(undefined4 *)puVar5)" (( "(") (identifier "iVar19") (, ",") (number_literal "1") (, ",") (identifier "iVar6") (, ",") (pointer_expression "*(undefined4 *)puVar5" (* "*") (cast_expression "(undefined4 *)puVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" (identifier "bVar20") (= "=") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))) (; ";")) (expression_statement "uVar16 = (uint)bVar20;" (assignment_expression "uVar16 = (uint)bVar20" (identifier "uVar16") (= "=") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20"))) (; ";")) (if_statement "if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }" (if "if") (parenthesized_expression "((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16)" (( "(") (binary_expression "(int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16" (cast_expression "(int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" (* "*") (cast_expression "(char *)(*(int *)(puVar2 + -0x4c98) + iVar25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar2 + -0x4c98) + iVar25)" (( "(") (binary_expression "*(int *)(puVar2 + -0x4c98) + iVar25" (pointer_expression "*(int *)(puVar2 + -0x4c98)" (* "*") (cast_expression "(int *)(puVar2 + -0x4c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x4c98)" (( "(") (binary_expression "puVar2 + -0x4c98" (identifier "puVar2") (+ "+") (number_literal "-0x4c98")) () ")")))) (+ "+") (identifier "iVar25")) () ")"))))) (!= "!=") (identifier "uVar16")) () ")")) (compound_statement "{\n                  iVar6 = *(int *)puVar5;\n                  pbVar7 = *(byte **)(iVar6 + 0x14);\n                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }\n                }" ({ "{") (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "pbVar7 = *(byte **)(iVar6 + 0x14);" (assignment_expression "pbVar7 = *(byte **)(iVar6 + 0x14)" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)(iVar6 + 0x14)" (* "*") (cast_expression "(byte **)(iVar6 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (pbVar7 < *(byte **)(iVar6 + 0x18)) {\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }\n                  else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" (if "if") (parenthesized_expression "(pbVar7 < *(byte **)(iVar6 + 0x18))" (( "(") (binary_expression "pbVar7 < *(byte **)(iVar6 + 0x18)" (identifier "pbVar7") (< "<") (pointer_expression "*(byte **)(iVar6 + 0x18)" (* "*") (cast_expression "(byte **)(iVar6 + 0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;\n                    *pbVar7 = bVar20;\n                  }" ({ "{") (expression_statement "*(byte **)(iVar6 + 0x14) = pbVar7 + 1;" (assignment_expression "*(byte **)(iVar6 + 0x14) = pbVar7 + 1" (pointer_expression "*(byte **)(iVar6 + 0x14)" (* "*") (cast_expression "(byte **)(iVar6 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar7 = bVar20;" (assignment_expression "*pbVar7 = bVar20" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (= "=") (identifier "bVar20")) (; ";")) (} "}")) (else_clause "else {\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" (else "else") (compound_statement "{\n                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);\n                    uVar16 = (uint)(byte)puVar2[-0x4fb8];\n                  }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar16)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002b24c" (* "*") (cast_expression "(code *)PTR___overflow_0002b24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002b24c"))) () ")")) (argument_list "(iVar6,uVar16)" (( "(") (identifier "iVar6") (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "uVar16 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar16 = (uint)(byte)puVar2[-0x4fb8]" (identifier "uVar16") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00012454:\n                cVar21 = puVar2[-0x4ca3];" (statement_identifier "LAB_00012454") (: ":") (expression_statement "cVar21 = puVar2[-0x4ca3];" (assignment_expression "cVar21 = puVar2[-0x4ca3]" (identifier "cVar21") (= "=") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(cVar27 != cVar28)" (( "(") (binary_expression "cVar27 != cVar28" (identifier "cVar27") (!= "!=") (identifier "cVar28")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar10 = *(uint **)(puVar23 + -0x4c94);" (assignment_expression "puVar10 = *(uint **)(puVar23 + -0x4c94)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar23 + -0x4c94)" (* "*") (cast_expression "(uint **)(puVar23 + -0x4c94)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";")) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = *puVar10;" (assignment_expression "uVar17 = *puVar10" (identifier "uVar17") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" (identifier "uVar29") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (uVar17 == 0) goto LAB_000122d8;" (if "if") (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000122d8;" (goto "goto") (statement_identifier "LAB_000122d8") (; ";"))) (labeled_statement "LAB_000124b0:\n            while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" (statement_identifier "LAB_000124b0") (: ":") (while_statement "while( true ) {\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              uVar29 = uVar16;\n              pbVar7 = (byte *)puVar30[1];\n              if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }\n              uVar18 = (uint)(byte)puVar2[-0x4ca3];\n              uVar12 = (uint)(byte)puVar2[-0x4fb8];\n              if (uVar18 == uVar16) goto LAB_000123b8;\n              if (uVar16 == uVar12) break;\n              if (uVar16 == 0xffffffff) goto LAB_0001241c;\n            }" ({ "{") (expression_statement "uVar29 = uVar16;" (assignment_expression "uVar29 = uVar16" (identifier "uVar29") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "pbVar7 = (byte *)puVar30[1];" (assignment_expression "pbVar7 = (byte *)puVar30[1]" (identifier "pbVar7") (= "=") (cast_expression "(byte *)puVar30[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (pbVar7 < (byte *)puVar30[2]) {\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }\n              else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" (if "if") (parenthesized_expression "(pbVar7 < (byte *)puVar30[2])" (( "(") (binary_expression "pbVar7 < (byte *)puVar30[2]" (identifier "pbVar7") (< "<") (cast_expression "(byte *)puVar30[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                puVar30[1] = (uint)(pbVar7 + 1);\n                uVar16 = (uint)*pbVar7;\n              }" ({ "{") (expression_statement "puVar30[1] = (uint)(pbVar7 + 1);" (assignment_expression "puVar30[1] = (uint)(pbVar7 + 1)" (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pbVar7 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar7 + 1)" (( "(") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar16 = (uint)*pbVar7;" (assignment_expression "uVar16 = (uint)*pbVar7" (identifier "uVar16") (= "=") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) (; ";")) (} "}")) (else_clause "else {\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" (else "else") (compound_statement "{\n                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);\n              }" ({ "{") (expression_statement "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);" (assignment_expression "uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30)" (identifier "uVar16") (= "=") (call_expression "(*(code *)PTR___uflow_0002b264)(puVar30)" (parenthesized_expression "(*(code *)PTR___uflow_0002b264)" (( "(") (pointer_expression "*(code *)PTR___uflow_0002b264" (* "*") (cast_expression "(code *)PTR___uflow_0002b264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_0002b264"))) () ")")) (argument_list "(puVar30)" (( "(") (identifier "puVar30") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar18 = (uint)(byte)puVar2[-0x4ca3];" (assignment_expression "uVar18 = (uint)(byte)puVar2[-0x4ca3]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4ca3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4ca3]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca3") (] "]"))))) (; ";")) (expression_statement "uVar12 = (uint)(byte)puVar2[-0x4fb8];" (assignment_expression "uVar12 = (uint)(byte)puVar2[-0x4fb8]" (identifier "uVar12") (= "=") (cast_expression "(uint)(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar2[-0x4fb8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))))) (; ";")) (if_statement "if (uVar18 == uVar16) goto LAB_000123b8;" (if "if") (parenthesized_expression "(uVar18 == uVar16)" (( "(") (binary_expression "uVar18 == uVar16" (identifier "uVar18") (== "==") (identifier "uVar16")) () ")")) (goto_statement "goto LAB_000123b8;" (goto "goto") (statement_identifier "LAB_000123b8") (; ";"))) (if_statement "if (uVar16 == uVar12) break;" (if "if") (parenthesized_expression "(uVar16 == uVar12)" (( "(") (binary_expression "uVar16 == uVar12" (identifier "uVar16") (== "==") (identifier "uVar12")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (uVar16 == 0xffffffff) goto LAB_0001241c;" (if "if") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0001241c;" (goto "goto") (statement_identifier "LAB_0001241c") (; ";"))) (} "}")))) (labeled_statement "LAB_0001260c:\n            if (uVar12 != uVar18) goto LAB_00012614;" (statement_identifier "LAB_0001260c") (: ":") (if_statement "if (uVar12 != uVar18) goto LAB_00012614;" (if "if") (parenthesized_expression "(uVar12 != uVar18)" (( "(") (binary_expression "uVar12 != uVar18" (identifier "uVar12") (!= "!=") (identifier "uVar18")) () ")")) (goto_statement "goto LAB_00012614;" (goto "goto") (statement_identifier "LAB_00012614") (; ";")))) (if_statement "if (uVar16 != uVar12) goto LAB_000122b8;" (if "if") (parenthesized_expression "(uVar16 != uVar12)" (( "(") (binary_expression "uVar16 != uVar12" (identifier "uVar16") (!= "!=") (identifier "uVar12")) () ")")) (goto_statement "goto LAB_000122b8;" (goto "goto") (statement_identifier "LAB_000122b8") (; ";"))) (labeled_statement "LAB_0001266c:\n            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" (statement_identifier "LAB_0001266c") (: ":") (if_statement "if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" (if "if") (parenthesized_expression "(((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0))" (( "(") (binary_expression "((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)" (parenthesized_expression "((bVar1) || (puVar2[-0x4ca1] == '\0'))" (( "(") (binary_expression "(bVar1) || (puVar2[-0x4ca1] == '\0')" (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (|| "||") (parenthesized_expression "(puVar2[-0x4ca1] == '\0')" (( "(") (binary_expression "puVar2[-0x4ca1] == '\0'" (subscript_expression "puVar2[-0x4ca1]" (identifier "puVar2") ([ "[") (number_literal "-0x4ca1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar26 != 0)" (( "(") (binary_expression "uVar26 != 0" (identifier "uVar26") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              iVar6 = *(int *)puVar5;\n              goto LAB_00012690;\n            }" ({ "{") (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (goto_statement "goto LAB_00012690;" (goto "goto") (statement_identifier "LAB_00012690") (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(uVar24 == 1)" (( "(") (binary_expression "uVar24 == 1" (identifier "uVar24") (== "==") (number_literal "1")) () ")")) (; ";")) (expression_statement "iVar6 = *(int *)puVar5;" (assignment_expression "iVar6 = *(int *)puVar5" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (labeled_statement "LAB_00012690:\n          puVar11 = *(undefined1 **)(iVar6 + 0x14);" (statement_identifier "LAB_00012690") (: ":") (expression_statement "puVar11 = *(undefined1 **)(iVar6 + 0x14);" (assignment_expression "puVar11 = *(undefined1 **)(iVar6 + 0x14)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined1 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" (identifier "uVar16") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;" (if "if") (parenthesized_expression "(puVar11 < *(undefined1 **)(iVar6 + 0x18))" (( "(") (binary_expression "puVar11 < *(undefined1 **)(iVar6 + 0x18)" (identifier "puVar11") (< "<") (pointer_expression "*(undefined1 **)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (goto_statement "goto LAB_00012518;" (goto "goto") (statement_identifier "LAB_00012518") (; ";"))) (labeled_statement "LAB_000126a4:\n          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);" (statement_identifier "LAB_000126a4") (: ":") (expression_statement "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);" (call_expression "(*(code *)PTR___overflow_0002b24c)(iVar6,uVar12)" (parenthesized_expression "(*(code *)PTR___overflow_0002b24c)" (( "(") (pointer_expression "*(code *)PTR___overflow_0002b24c" (* "*") (cast_expression "(code *)PTR___overflow_0002b24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0002b24c"))) () ")")) (argument_list "(iVar6,uVar12)" (( "(") (identifier "iVar6") (, ",") (identifier "uVar12") () ")"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (goto_statement "goto LAB_000122b8;" (goto "goto") (statement_identifier "LAB_000122b8") (; ";")) (} "}"))) (labeled_statement "LAB_0001261c:\n    iVar6 = *(int *)(puVar23 + -0x4c94);" (statement_identifier "LAB_0001261c") (: ":") (expression_statement "iVar6 = *(int *)(puVar23 + -0x4c94);" (assignment_expression "iVar6 = *(int *)(puVar23 + -0x4c94)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar23 + -0x4c94)" (* "*") (cast_expression "(int *)(puVar23 + -0x4c94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")"))))) (; ";"))) (expression_statement "uVar24 = uVar17 + 1;" (assignment_expression "uVar24 = uVar17 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar26 = (uVar24 < uVar17) + uVar26;" (assignment_expression "uVar26 = (uVar24 < uVar17) + uVar26" (identifier "uVar26") (= "=") (binary_expression "(uVar24 < uVar17) + uVar26" (parenthesized_expression "(uVar24 < uVar17)" (( "(") (binary_expression "uVar24 < uVar17" (identifier "uVar24") (< "<") (identifier "uVar17")) () ")")) (+ "+") (identifier "uVar26"))) (; ";")) (if_statement "if ((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }" (if "if") (parenthesized_expression "((*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24))))" (( "(") (binary_expression "(*(uint *)(iVar6 + 8) < uVar26) ||\n       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))" (parenthesized_expression "(*(uint *)(iVar6 + 8) < uVar26)" (( "(") (binary_expression "*(uint *)(iVar6 + 8) < uVar26" (pointer_expression "*(uint *)(iVar6 + 8)" (* "*") (cast_expression "(uint *)(iVar6 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 8)" (( "(") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")")))) (< "<") (identifier "uVar26")) () ")")) (|| "||") (parenthesized_expression "((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))" (( "(") (parenthesized_expression "(*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24))" (( "(") (binary_expression "*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)" (binary_expression "*(uint *)(iVar6 + 8) == uVar26" (pointer_expression "*(uint *)(iVar6 + 8)" (* "*") (cast_expression "(uint *)(iVar6 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 8)" (( "(") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "uVar26")) (&& "&&") (parenthesized_expression "(*(uint *)(iVar6 + 0xc) < uVar24)" (( "(") (binary_expression "*(uint *)(iVar6 + 0xc) < uVar24" (pointer_expression "*(uint *)(iVar6 + 0xc)" (* "*") (cast_expression "(uint *)(iVar6 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "uVar24")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;\n    }" ({ "{") (expression_statement "*(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;" (assignment_expression "*(int *)(puVar23 + -0x4c94) = iVar6 + 0x10" (pointer_expression "*(int *)(puVar23 + -0x4c94)" (* "*") (cast_expression "(int *)(puVar23 + -0x4c94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x4c94)" (( "(") (binary_expression "puVar23 + -0x4c94" (identifier "puVar23") (+ "+") (number_literal "-0x4c94")) () ")")))) (= "=") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (labeled_statement "LAB_00012614:\n  bVar20 = puVar2[-0x4fb8];" (statement_identifier "LAB_00012614") (: ":") (expression_statement "bVar20 = puVar2[-0x4fb8];" (assignment_expression "bVar20 = puVar2[-0x4fb8]" (identifier "bVar20") (= "=") (subscript_expression "puVar2[-0x4fb8]" (identifier "puVar2") ([ "[") (number_literal "-0x4fb8") (] "]"))) (; ";"))) (expression_statement "uVar17 = uVar24;" (assignment_expression "uVar17 = uVar24" (identifier "uVar17") (= "=") (identifier "uVar24")) (; ";")) (if_statement "if (uVar16 == uVar18) goto LAB_0001261c;" (if "if") (parenthesized_expression "(uVar16 == uVar18)" (( "(") (binary_expression "uVar16 == uVar18" (identifier "uVar16") (== "==") (identifier "uVar18")) () ")")) (goto_statement "goto LAB_0001261c;" (goto "goto") (statement_identifier "LAB_0001261c") (; ";"))) (goto_statement "goto LAB_00012404;" (goto "goto") (statement_identifier "LAB_00012404") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))))) consequence: (goto_statement label: (statement_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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (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) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (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) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (goto_statement label: (statement_identifier))))) condition: (parenthesized_expression (true))))) (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: (type_identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (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)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))) condition: (parenthesized_expression (true)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (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) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (return_statement (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) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (return_statement (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) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (identifier)) 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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (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) (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: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (break_statement)) (labeled_statement label: (statement_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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (true)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (goto_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) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (unary_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_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)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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 (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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) (number_literal) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (true))))) (goto_statement label: (statement_identifier))))) condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence))))) (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) (number_literal) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) right: (identifier))) 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: (type_identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (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) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (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 (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (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: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (goto_statement label: (statement_identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) 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) (identifier)))))) condition: (parenthesized_expression (true)))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) condition: (parenthesized_expression (true)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))

undefined4 MASKED(undefined4 param_1)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  byte *pbVar7;
  undefined *puVar8;
  undefined *puVar9;
  uint *puVar10;
  undefined1 *puVar11;
  uint uVar12;
  undefined4 *puVar13;
  undefined4 uVar14;
  byte *pbVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  int iVar19;
  byte bVar20;
  char cVar21;
  undefined4 uVar22;
  undefined *puVar23;
  uint uVar24;
  int iVar25;
  uint uVar26;
  char cVar27;
  char cVar28;
  uint uVar29;
  uint *puVar30;
  
  puVar3 = PTR_DAT_0002b108;
  iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,PTR_DAT_0002b108 + -0x6160);
  if (iVar6 == 0) {
    PTR_DAT_0002b0f8[-0x4cae] = 1;
    puVar30 = *(uint **)PTR_stdin_0002b298;
  }
  else {
    puVar30 = (uint *)(*(code *)PTR_fopen64_0002b23c)(param_1,PTR_DAT_0002b108 + -0x6270);
    if (puVar30 == (uint *)0x0) goto LAB_00012840;
  }
  fadvise(puVar30,2);
  puVar2 = PTR_stdout_0002b278;
  puVar4 = PTR_frp_0002b110;
  puVar23 = PTR_DAT_0002b0f8;
  if (*(int *)(PTR_DAT_0002b0f8 + -0x4ca0) == 1) {
    uVar24 = 0;
    uVar16 = 0;
    *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;
    cVar27 = '\0';
LAB_0001291c:
    do {
      pbVar7 = (byte *)puVar30[1];
      if ((byte *)puVar30[2] <= pbVar7) goto LAB_000129f4;
LAB_00012934:
      bVar20 = puVar23[-0x4fb8];
      puVar30[1] = (uint)(pbVar7 + 1);
      uVar29 = (uint)*pbVar7;
      puVar10 = *(uint **)(puVar23 + -0x4c94);
      uVar26 = uVar16;
      if (uVar29 != bVar20) {
        do {
          uVar16 = uVar26 + 1;
          uVar24 = (uVar16 < uVar26) + uVar24;
          if ((puVar10[2] < uVar24) || ((puVar10[2] == uVar24 && (puVar10[3] < uVar16)))) {
            puVar10 = puVar10 + 4;
            *(uint **)(puVar23 + -0x4c94) = puVar10;
          }
          uVar26 = *puVar10;
          if ((uVar24 < uVar26) ||
             ((cVar28 = puVar23[-0x4ca4], uVar26 == uVar24 &&
              (cVar28 = puVar23[-0x4ca4], uVar16 < puVar10[1])))) goto LAB_0001291c;
          iVar6 = *(int *)puVar2;
          if (cVar28 == '\0') {
LAB_000129bc:
            puVar11 = *(undefined1 **)(iVar6 + 0x14);
            cVar28 = cVar27;
            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) {
LAB_00012ab8:
              (*(code *)PTR___overflow_0002b24c)(iVar6,uVar29 & 0xff);
              cVar27 = cVar28;
              goto LAB_0001291c;
            }
          }
          else {
            if (cVar27 != '\0') {
              if ((uVar24 == uVar26) && (uVar16 == puVar10[1])) {
                (*(code *)PTR_fwrite_unlocked_0002b2ec)
                          (*(undefined4 *)(puVar23 + -0x4cac),1,*(undefined4 *)(puVar23 + -0x4ca8),
                           iVar6);
                iVar6 = *(int *)puVar2;
              }
              goto LAB_000129bc;
            }
            puVar11 = *(undefined1 **)(iVar6 + 0x14);
            cVar27 = cVar28;
            if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_00012ab8;
          }
          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;
          *puVar11 = (char)uVar29;
          pbVar7 = (byte *)puVar30[1];
          if (pbVar7 < (byte *)puVar30[2]) goto LAB_00012934;
LAB_000129f4:
          uVar29 = (*(code *)PTR___uflow_0002b264)(puVar30);
          bVar20 = puVar23[-0x4fb8];
          if (uVar29 == bVar20) break;
          puVar10 = *(uint **)(puVar23 + -0x4c94);
          uVar26 = uVar16;
          if (uVar29 == 0xffffffff) {
            if (uVar24 == 0 && uVar16 == 0) goto LAB_000126bc;
            iVar6 = *(int *)PTR_stdout_0002b278;
            pbVar7 = *(byte **)(iVar6 + 0x14);
            if (pbVar7 < *(byte **)(iVar6 + 0x18)) {
              *(byte **)(iVar6 + 0x14) = pbVar7 + 1;
              *pbVar7 = bVar20;
              uVar16 = *puVar30;
            }
            else {
              (*(code *)PTR___overflow_0002b24c)(iVar6,(uint)bVar20);
              uVar16 = *puVar30;
            }
            goto LAB_000126c0;
          }
        } while( true );
      }
      iVar6 = *(int *)puVar2;
      pbVar7 = *(byte **)(iVar6 + 0x14);
      if (pbVar7 < *(byte **)(iVar6 + 0x18)) {
        *(byte **)(iVar6 + 0x14) = pbVar7 + 1;
        *pbVar7 = bVar20;
      }
      else {
        (*(code *)PTR___overflow_0002b24c)();
      }
      uVar24 = 0;
      uVar16 = 0;
      *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;
      cVar27 = '\0';
    } while( true );
  }
  pbVar15 = (byte *)puVar30[1];
  pbVar7 = (byte *)puVar30[2];
  *(undefined4 *)(PTR_DAT_0002b0f8 + -0x4c94) = *(undefined4 *)PTR_frp_0002b110;
  if (pbVar15 < pbVar7) {
    puVar30[1] = (uint)(pbVar15 + 1);
    uVar16 = (uint)*pbVar15;
  }
  else {
    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);
    if (uVar16 == 0xffffffff) {
LAB_000126bc:
      uVar16 = *puVar30;
LAB_000126c0:
      if ((uVar16 & 0x20) != 0) {
LAB_00012840:
        puVar13 = (undefined4 *)(*(code *)PTR___errno_location_0002b284)();
        uVar22 = *puVar13;
        uVar14 = quotearg_n_style_colon(0,3,param_1);
        (*(code *)PTR_error_0002b2c0)(0,uVar22,PTR_DAT_0002b108 + -0x6054,uVar14);
        return 0;
      }
      iVar6 = (*(code *)PTR_strcmp_0002b31c)(param_1,puVar3 + -0x6160);
      if (iVar6 == 0) {
        (*(code *)PTR_clearerr_unlocked_0002b254)(puVar30);
      }
      else {
        iVar6 = rpl_fclose(puVar30);
        if (iVar6 == -1) goto LAB_00012840;
      }
      return 1;
    }
  }
  (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);
  puVar5 = PTR_stdout_0002b278;
  puVar2 = PTR_DAT_0002b0f8;
  cVar27 = '\x01';
  if ((**(int **)(puVar23 + -0x4c94) == 0) && ((uint)(*(int **)(puVar23 + -0x4c94))[1] < 2)) {
    cVar27 = '\0';
  }
  uVar26 = 0;
  uVar24 = 1;
  bVar1 = false;
  uVar16 = 0;
  cVar28 = PTR_DAT_0002b0f8[-0x4ca1];
  puVar8 = PTR_DAT_0002b0f8 + -0x4c9c;
  puVar9 = PTR_DAT_0002b0f8 + -0x4c98;
LAB_000122b8:
  do {
    if (uVar26 == 0) {
      puVar10 = *(uint **)(puVar23 + -0x4c94);
      if (uVar24 == 1) goto LAB_00012454;
    }
    else {
      puVar10 = *(uint **)(puVar23 + -0x4c94);
    }
LAB_000122c8:
    uVar17 = *puVar10;
    uVar29 = uVar16;
    if (uVar26 < uVar17) goto LAB_000124b0;
LAB_000122d8:
    if ((uVar17 == uVar26) && (uVar16 = uVar29, uVar24 < puVar10[1])) goto LAB_000124b0;
    if (bVar1) {
      (*(code *)PTR_fwrite_unlocked_0002b2ec)
                (*(undefined4 *)(puVar2 + -0x4cac),1,*(undefined4 *)(puVar2 + -0x4ca8),
                 *(undefined4 *)puVar5);
    }
    pbVar7 = (byte *)puVar30[1];
    if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012390;
    while( true ) {
      puVar30[1] = (uint)(pbVar7 + 1);
      uVar17 = (uint)*pbVar7;
      uVar18 = (uint)(byte)puVar2[-0x4ca3];
      uVar16 = (uint)(byte)puVar2[-0x4fb8];
      if (uVar17 == uVar18) break;
      while( true ) {
        if (uVar17 == uVar16) {
          bVar1 = true;
          uVar18 = (uint)(byte)puVar2[-0x4ca3];
          uVar12 = (uint)(byte)puVar2[-0x4fb8];
          goto LAB_0001260c;
        }
        uVar12 = uVar16;
        if (uVar17 == 0xffffffff) goto LAB_000124f8;
        iVar6 = *(int *)puVar5;
        puVar11 = *(undefined1 **)(iVar6 + 0x14);
        if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) {
          *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;
          *puVar11 = (char)uVar17;
        }
        else {
          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar17 & 0xff);
        }
        pbVar7 = (byte *)puVar30[1];
        uVar29 = uVar17;
        if (pbVar7 < (byte *)puVar30[2]) break;
LAB_00012390:
        uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);
        uVar18 = (uint)(byte)puVar2[-0x4ca3];
        uVar16 = (uint)(byte)puVar2[-0x4fb8];
        if (uVar17 == uVar18) goto LAB_000123b4;
      }
    }
LAB_000123b4:
    bVar1 = true;
    uVar12 = uVar16;
    uVar16 = uVar18;
LAB_000123b8:
    if (uVar12 != uVar18) break;
    pbVar7 = (byte *)puVar30[1];
    if (pbVar7 < (byte *)puVar30[2]) {
      puVar30[1] = (uint)(pbVar7 + 1);
      uVar17 = (uint)*pbVar7;
    }
    else {
      uVar17 = (*(code *)PTR___uflow_0002b264)(puVar30);
      if (uVar17 == 0xffffffff) {
        uVar12 = (uint)(byte)puVar2[-0x4fb8];
        uVar18 = (uint)(byte)puVar2[-0x4ca3];
        goto LAB_0001241c;
      }
    }
    (*(code *)PTR_ungetc_0002b288)(uVar17,puVar30);
    uVar18 = (uint)(byte)puVar2[-0x4ca3];
    uVar17 = uVar24;
    if (uVar16 != uVar18) {
      bVar20 = puVar2[-0x4fb8];
LAB_00012404:
      uVar12 = (uint)bVar20;
      if (uVar16 == uVar12) goto LAB_0001266c;
      if (uVar16 == 0xffffffff) {
LAB_0001241c:
        if ((((!bVar1) && (puVar2[-0x4ca1] != '\0')) && (uVar26 == 0)) && (uVar24 == 1)) {
          uVar16 = 0xffffffff;
          goto joined_r0x00012528;
        }
LAB_000124f8:
        uVar16 = 0xffffffff;
        if (uVar12 == uVar29) {
          if (uVar18 != uVar12) goto joined_r0x00012528;
          iVar6 = *(int *)puVar5;
        }
        else {
          iVar6 = *(int *)puVar5;
        }
        puVar11 = *(undefined1 **)(iVar6 + 0x14);
        if (*(undefined1 **)(iVar6 + 0x18) <= puVar11) goto LAB_000126a4;
LAB_00012518:
        *(undefined1 **)(iVar6 + 0x14) = puVar11 + 1;
        *puVar11 = (char)uVar12;
joined_r0x00012528:
        do {
          uVar12 = uVar16;
          if (uVar12 == 0xffffffff) goto LAB_000126bc;
          do {
            bVar1 = false;
            *(undefined4 *)(puVar23 + -0x4c94) = *(undefined4 *)puVar4;
            uVar16 = uVar12;
            if (cVar27 != cVar28) {
              cVar21 = puVar2[-0x4ca3];
              do {
                do {
                  iVar6 = getndelim2(puVar9,puVar8,0,0xffffffff,cVar21,puVar2[-0x4fb8],puVar30);
                  if (iVar6 < 0) {
                    (*(code *)PTR_free_0002b300)(*(undefined4 *)(puVar2 + -0x4c98));
                    uVar16 = *puVar30;
                    *(undefined4 *)(puVar2 + -0x4c98) = 0;
                    if ((uVar16 & 0x30) != 0) goto LAB_000126c0;
                    xalloc_die();
                    puVar23 = puVar2;
LAB_00012b6c:
                    uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);
                    if (uVar16 == 0xffffffff) {
                      puVar10 = *(uint **)(puVar23 + -0x4c94);
                    }
                    else {
LAB_00012ae4:
                      bVar1 = true;
                      (*(code *)PTR_ungetc_0002b288)(uVar16,puVar30);
                      puVar10 = *(uint **)(puVar23 + -0x4c94);
                    }
LAB_000127a8:
                    uVar26 = 0;
                    if ((puVar10[2] == 0) && (puVar10[3] < 2)) {
                      puVar10 = puVar10 + 4;
                      *(uint **)(puVar23 + -0x4c94) = puVar10;
                      uVar24 = 2;
                      uVar16 = 0;
                    }
                    else {
                      uVar24 = 2;
                      uVar16 = 0;
                    }
                    goto LAB_000122c8;
                  }
                  if (iVar6 == 0) {
                    uVar14 = (*(code *)PTR___assert_fail_0002b214)
                                       (PTR_DAT_0002b108 + -0x6be0,PTR_DAT_0002b108 + -0x6bec,0x149,
                                        PTR_DAT_0002b108 + -0x6210);
                    return uVar14;
                  }
                  iVar25 = iVar6 + -1;
                  cVar21 = puVar2[-0x4ca3];
                  iVar19 = *(int *)(puVar2 + -0x4c98);
                  if (*(char *)(iVar19 + iVar25) == cVar21) {
                    puVar10 = *(uint **)(puVar23 + -0x4c94);
                    if ((*puVar10 == 0) && (puVar10[1] < 2)) {
                      (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar25,*(undefined4 *)puVar5)
                      ;
                      if (puVar2[-0x4ca3] == puVar2[-0x4fb8]) {
                        pbVar7 = (byte *)puVar30[1];
                        if ((byte *)puVar30[2] <= pbVar7) goto LAB_00012b6c;
                        puVar30[1] = (uint)(pbVar7 + 1);
                        uVar16 = (uint)*pbVar7;
                        goto LAB_00012ae4;
                      }
                      puVar10 = *(uint **)(puVar23 + -0x4c94);
                      bVar1 = true;
                    }
                    goto LAB_000127a8;
                  }
                } while (puVar2[-0x4ca1] != '\0');
                (*(code *)PTR_fwrite_unlocked_0002b2ec)(iVar19,1,iVar6,*(undefined4 *)puVar5);
                bVar20 = puVar2[-0x4fb8];
                uVar16 = (uint)bVar20;
                if ((int)*(char *)(*(int *)(puVar2 + -0x4c98) + iVar25) != uVar16) {
                  iVar6 = *(int *)puVar5;
                  pbVar7 = *(byte **)(iVar6 + 0x14);
                  if (pbVar7 < *(byte **)(iVar6 + 0x18)) {
                    *(byte **)(iVar6 + 0x14) = pbVar7 + 1;
                    *pbVar7 = bVar20;
                  }
                  else {
                    (*(code *)PTR___overflow_0002b24c)(iVar6,uVar16);
                    uVar16 = (uint)(byte)puVar2[-0x4fb8];
                  }
                }
LAB_00012454:
                cVar21 = puVar2[-0x4ca3];
              } while (cVar27 != cVar28);
            }
            puVar10 = *(uint **)(puVar23 + -0x4c94);
            uVar26 = 0;
            uVar17 = *puVar10;
            uVar24 = 1;
            uVar29 = uVar16;
            if (uVar17 == 0) goto LAB_000122d8;
LAB_000124b0:
            while( true ) {
              uVar29 = uVar16;
              pbVar7 = (byte *)puVar30[1];
              if (pbVar7 < (byte *)puVar30[2]) {
                puVar30[1] = (uint)(pbVar7 + 1);
                uVar16 = (uint)*pbVar7;
              }
              else {
                uVar16 = (*(code *)PTR___uflow_0002b264)(puVar30);
              }
              uVar18 = (uint)(byte)puVar2[-0x4ca3];
              uVar12 = (uint)(byte)puVar2[-0x4fb8];
              if (uVar18 == uVar16) goto LAB_000123b8;
              if (uVar16 == uVar12) break;
              if (uVar16 == 0xffffffff) goto LAB_0001241c;
            }
LAB_0001260c:
            if (uVar12 != uVar18) goto LAB_00012614;
            if (uVar16 != uVar12) goto LAB_000122b8;
LAB_0001266c:
            if (((bVar1) || (puVar2[-0x4ca1] == '\0')) || (uVar26 != 0)) {
              iVar6 = *(int *)puVar5;
              goto LAB_00012690;
            }
          } while (uVar24 == 1);
          iVar6 = *(int *)puVar5;
LAB_00012690:
          puVar11 = *(undefined1 **)(iVar6 + 0x14);
          uVar16 = uVar12;
          if (puVar11 < *(undefined1 **)(iVar6 + 0x18)) goto LAB_00012518;
LAB_000126a4:
          (*(code *)PTR___overflow_0002b24c)(iVar6,uVar12);
        } while( true );
      }
      goto LAB_000122b8;
    }
LAB_0001261c:
    iVar6 = *(int *)(puVar23 + -0x4c94);
    uVar24 = uVar17 + 1;
    uVar26 = (uVar24 < uVar17) + uVar26;
    if ((*(uint *)(iVar6 + 8) < uVar26) ||
       ((*(uint *)(iVar6 + 8) == uVar26 && (*(uint *)(iVar6 + 0xc) < uVar24)))) {
      *(int *)(puVar23 + -0x4c94) = iVar6 + 0x10;
    }
  } while( true );
LAB_00012614:
  bVar20 = puVar2[-0x4fb8];
  uVar17 = uVar24;
  if (uVar16 == uVar18) goto LAB_0001261c;
  goto LAB_00012404;
}

