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

int __regparm3 print_lines(char *src,int start_line,int nlines)

{
  break_point **ppbVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  SRCFILE *pSVar5;
  SRCFILE *s;
  int iVar6;
  char *pcVar7;
  size_t sVar8;
  ssize_t sVar9;
  BREAKPOINT *pBVar10;
  char *pcVar11;
  int *piVar12;
  ssize_t sVar13;
  char *pcVar14;
  char *pcVar15;
  int in_GS_OFFSET;
  __off64_t _Var16;
  undefined4 uVar17;
  int local_cc;
  char *local_c4;
  int local_c0;
  int local_bc;
  int local_ac;
  char local_a5;
  stat sbuf;
  
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  s = source_find(src);
  if (s != (SRCFILE *)0x0) {
    iVar6 = s->fd;
    if (-1 < iVar6) {
LAB_00045dbe:
      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);
      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {
        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);
        __fprintf_chk(out_fp,1,uVar17,src);
        free(s->line_offset);
        s->line_offset = (int *)0x0;
        s->mtime = sbuf.st_mtim.tv_sec;
        close(s->fd);
        s->fd = -1;
        iVar6 = srcopen(s);
        s->fd = iVar6;
        if (iVar6 < 0) goto LAB_000460e8;
      }
      else {
        iVar6 = s->fd;
      }
      os_setbinmode(iVar6,0);
      if (s->line_offset == (int *)0x0) {
        sVar8 = s->bufsize;
        if (sVar8 == 0) {
          set_loc("awk.h",0x7c5);
                    /* WARNING: Subroutine does not return */
          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);
        }
        pcVar7 = (char *)malloc(sVar8);
        if (pcVar7 == (char *)0x0) {
          set_loc("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar7 = strerror(*piVar12);
          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
                    /* WARNING: Subroutine does not return */
          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);
        }
        local_c0 = s->srclines;
        sVar8 = local_c0 * 4 + 8;
        if (sVar8 == 0) {
          set_loc("awk.h",0x7c5);
                    /* WARNING: Subroutine does not return */
          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);
        }
        piVar12 = (int *)malloc(sVar8);
        if (piVar12 == (int *)0x0) {
          set_loc("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar7 = strerror(*piVar12);
          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
                    /* WARNING: Subroutine does not return */
          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);
        }
        s->line_offset = piVar12;
        local_a5 = '\0';
        *piVar12 = 0;
        local_cc = 0;
        local_ac = 0;
        local_bc = 0;
        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {
          local_a5 = pcVar7[sVar9 + -1];
          pcVar14 = pcVar7 + sVar9;
          pcVar11 = pcVar7;
          if (pcVar7 < pcVar14) {
            do {
              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {
                pcVar11 = pcVar15;
                if (pcVar14 == pcVar15) goto LAB_0004635c;
              }
              local_cc = local_cc + 1;
              if (local_c0 < local_cc) {
                sVar8 = local_c0 * 8 + 8;
                if (sVar8 == 0) {
                  set_loc("awk.h",0x7e9);
                    /* WARNING: Subroutine does not return */
                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);
                }
                piVar12 = (int *)realloc(s->line_offset,sVar8);
                if (piVar12 == (int *)0x0) {
                  set_loc("awk.h",0x7ed);
                  piVar12 = __errno_location();
                  pcVar7 = strerror(*piVar12);
                  pcVar14 = (char *)dcgettext(0,
                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"
                                              ,5);
                    /* WARNING: Subroutine does not return */
                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);
                }
                s->line_offset = piVar12;
                piVar12 = piVar12 + local_c0;
                local_c0 = local_c0 * 2;
              }
              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));
              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;
              if (local_ac < iVar6) {
                local_ac = iVar6;
              }
              piVar12 = piVar12 + 1;
              pcVar11 = pcVar15;
            } while (pcVar14 != pcVar15);
          }
LAB_0004635c:
          local_bc = local_bc + sVar9;
        }
        free(pcVar7);
        if (sVar9 == -1) {
          piVar12 = __errno_location();
          pcVar14 = strerror(*piVar12);
          pcVar7 = s->src;
          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);
          d_error(pcVar11,pcVar7,pcVar14);
          local_c4 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        if (local_bc == 0) {
          pcVar7 = s->src;
          uVar17 = dcgettext(0,0xa8452,5,s);
          __fprintf_chk(out_fp,1,uVar17,pcVar7);
          local_c4 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        iVar6 = local_ac;
        if (local_a5 != '\n') {
          local_cc = local_cc + 1;
          piVar12[1] = local_bc + 1;
          iVar6 = (local_bc + 1) - *piVar12;
          if (iVar6 <= local_ac) {
            iVar6 = local_ac;
          }
        }
        local_ac = iVar6;
        s->maxlen = local_ac;
        s->srclines = local_cc;
      }
      else {
        local_cc = s->srclines;
      }
      if ((start_line < 1) || (local_cc < start_line)) {
        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);
        d_error(pcVar7,start_line,src,local_cc);
        local_c4 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      piVar12 = s->line_offset;
      iVar6 = (local_cc - start_line) + 1;
      if (start_line + -1 + nlines <= local_cc) {
        iVar6 = nlines;
      }
      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);
      if (_Var16 < 0) {
        piVar12 = __errno_location();
        pcVar7 = strerror(*piVar12);
        d_error("%s: %s",src,pcVar7);
        local_c4 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      uVar3 = s->maxlen;
      if (linebuf == (char *)0x0) {
        if (uVar3 + 0x14 == 0) {
          set_loc("awk.h",0x7c5);
                    /* WARNING: Subroutine does not return */
          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);
        }
        pcVar7 = (char *)malloc(uVar3 + 0x14);
        if (pcVar7 == (char *)0x0) {
          set_loc("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar7 = strerror(*piVar12);
          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          uVar17 = 0x244;
LAB_0004669c:
                    /* WARNING: Subroutine does not return */
          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);
        }
LAB_000461dc:
        linebuf_len = s->maxlen;
        linebuf = pcVar7;
      }
      else if (linebuf_len < uVar3) {
        if (uVar3 + 0x14 == 0) {
          set_loc("awk.h",0x7e9);
                    /* WARNING: Subroutine does not return */
          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);
        }
        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);
        if (pcVar7 == (char *)0x0) {
          set_loc("awk.h",0x7ed);
          piVar12 = __errno_location();
          pcVar7 = strerror(*piVar12);
          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)
          ;
          uVar17 = 0x247;
          goto LAB_0004669c;
        }
        goto LAB_000461dc;
      }
      pcVar7 = (char *)(iVar6 + start_line);
      local_c4 = (char *)start_line;
      if (start_line < (int)pcVar7) {
        piVar12 = piVar12 + start_line + 0x40000000;
        do {
          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);
          if (1 < iVar6) {
            pBVar10 = breakpoints.prev;
            if (breakpoints.prev != &breakpoints) {
              do {
                if ((pBVar10->src == src) &&
                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {
                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {
                    uVar17 = 0xa84a0;
                  }
                  else {
                    uVar17 = 0xa848e;
                  }
                  goto LAB_00045ff4;
                }
                ppbVar1 = &pBVar10->prev;
                pBVar10 = *ppbVar1;
              } while (*ppbVar1 != &breakpoints);
            }
            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {
              uVar17 = 0xa8497;
LAB_00045ff4:
              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);
            }
          }
          pcVar14 = linebuf;
          sVar8 = strlen(linebuf);
          pcVar14 = pcVar14 + sVar8;
          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);
          if (sVar9 == -1) {
            piVar12 = __errno_location();
            pcVar7 = strerror(*piVar12);
            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);
            d_error(pcVar14,src,pcVar7);
            local_c4 = (char *)0xffffffff;
            goto LAB_00045f65;
          }
          if (sVar9 == 0) {
            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);
            goto LAB_00045f53;
          }
          sVar13 = sVar9;
          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {
            sVar13 = sVar9 + 1;
            pcVar14[sVar9] = '\n';
          }
          iVar4 = sVar13 - (int)linebuf;
          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);
          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;
          start_line = start_line + 1;
          piVar12 = piVar12 + 1;
          local_c4 = (char *)start_line;
        } while ((char *)start_line != pcVar7);
      }
      pSVar5 = cur_srcfile;
      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {
        close(cur_srcfile->fd);
        cur_srcfile->fd = -1;
      }
      cur_srcfile = pSVar5;
      local_c4 = local_c4 + -1;
      goto LAB_00045f65;
    }
    iVar6 = srcopen(s);
    s->fd = iVar6;
    if (-1 < iVar6) goto LAB_00045dbe;
LAB_000460e8:
    piVar12 = __errno_location();
    start_line = (int)strerror(*piVar12);
    pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);
LAB_00045f53:
    d_error(pcVar7,src,start_line);
  }
LAB_00045f60:
  local_c4 = (char *)0xffffffff;
LAB_00045f65:
  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return (int)local_c4;
}



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

char * __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)

{
  undefined **ppuVar1;
  uint uVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  char *pcVar6;
  size_t sVar7;
  ssize_t sVar8;
  undefined4 uVar9;
  undefined **ppuVar10;
  char *pcVar11;
  int *piVar12;
  void *pvVar13;
  ssize_t sVar14;
  int *piVar15;
  char *pcVar16;
  char *pcVar17;
  int in_GS_OFFSET;
  __off64_t _Var18;
  undefined4 uVar19;
  int local_cc;
  char *local_c4;
  int local_c0;
  char *local_bc;
  int local_ac;
  char local_a5;
  stat64 local_80;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x45d79;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar3 = FUN_00045bc0();
  if (iVar3 != 0) {
    iVar4 = *(int *)(iVar3 + 0x88);
    if (-1 < iVar4) {
LAB_00045dbe:
      iVar4 = __fxstat64(3,iVar4,&local_80);
      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {
        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);
        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);
        free(*(void **)(iVar3 + 0x84));
        *(undefined4 *)(iVar3 + 0x84) = 0;
        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;
        close(*(int *)(iVar3 + 0x88));
        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;
        iVar4 = FUN_000727c0(iVar3);
        *(int *)(iVar3 + 0x88) = iVar4;
        if (iVar4 < 0) goto LAB_000460e8;
      }
      else {
        iVar4 = *(int *)(iVar3 + 0x88);
      }
      FUN_00067400(iVar4,0);
      if (*(int *)(iVar3 + 0x84) == 0) {
        sVar7 = *(size_t *)(iVar3 + 0x7c);
        if (sVar7 == 0) {
          FUN_00074330("awk.h",0x7c5);
          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);
        }
        pcVar6 = (char *)malloc(sVar7);
        if (pcVar6 == (char *)0x0) {
          FUN_00074330("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar16 = strerror(*piVar12);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);
        }
        local_c0 = *(int *)(iVar3 + 0x78);
        sVar7 = local_c0 * 4 + 8;
        if (sVar7 == 0) {
          FUN_00074330("awk.h",0x7c5);
          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);
        }
        piVar12 = (int *)malloc(sVar7);
        if (piVar12 == (int *)0x0) {
          FUN_00074330("awk.h",0x7c9);
          piVar15 = __errno_location();
          pcVar16 = strerror(*piVar15);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);
        }
        *(int **)(iVar3 + 0x84) = piVar12;
        local_a5 = '\0';
        *piVar12 = 0;
        local_cc = 0;
        local_ac = 0;
        local_bc = (char *)0x0;
        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {
          local_a5 = pcVar6[sVar8 + -1];
          pcVar16 = pcVar6 + sVar8;
          pcVar11 = pcVar6;
          if (pcVar6 < pcVar16) {
            do {
              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {
                pcVar11 = pcVar17;
                if (pcVar16 == pcVar17) goto LAB_0004635c;
              }
              local_cc = local_cc + 1;
              if (local_c0 < local_cc) {
                sVar7 = local_c0 * 8 + 8;
                pvVar13 = *(void **)(iVar3 + 0x84);
                if (sVar7 == 0) {
                  FUN_00074330("awk.h",0x7e9);
                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);
                }
                pvVar13 = realloc(pvVar13,sVar7);
                if (pvVar13 == (void *)0x0) {
                  FUN_00074330("awk.h",0x7ed);
                  piVar12 = __errno_location();
                  pcVar11 = strerror(*piVar12);
                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);
                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);
                }
                *(void **)(iVar3 + 0x84) = pvVar13;
                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);
                local_c0 = local_c0 * 2;
              }
              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));
              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;
              if (local_ac < iVar4) {
                local_ac = iVar4;
              }
              piVar12 = piVar12 + 1;
              pcVar11 = pcVar17;
            } while (pcVar16 != pcVar17);
          }
LAB_0004635c:
          local_bc = (char *)((int)local_bc + sVar8);
        }
        free(pcVar6);
        if (sVar8 == -1) {
          piVar12 = __errno_location();
          pcVar6 = strerror(*piVar12);
          uVar9 = *(undefined4 *)(iVar3 + 0xc);
          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);
          FUN_00045b60(uVar19,uVar9,pcVar6);
          local_c4 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        if (local_bc == (char *)0x0) {
          uVar9 = *(undefined4 *)(iVar3 + 0xc);
          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);
          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);
          local_c4 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        iVar4 = local_ac;
        if (local_a5 != '\n') {
          local_cc = local_cc + 1;
          piVar12[1] = (int)local_bc + 1;
          iVar4 = ((int)local_bc + 1) - *piVar12;
          if (iVar4 <= local_ac) {
            iVar4 = local_ac;
          }
        }
        local_ac = iVar4;
        *(int *)(iVar3 + 0x8c) = local_ac;
        *(int *)(iVar3 + 0x78) = local_cc;
      }
      else {
        local_cc = *(int *)(iVar3 + 0x78);
      }
      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {
        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);
        FUN_00045b60(uVar9,param_2,param_1,local_cc);
        local_c4 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      iVar4 = *(int *)(iVar3 + 0x84);
      iVar5 = (local_cc - (int)param_2) + 1;
      if ((int)(param_2 + param_3 + -1) <= local_cc) {
        iVar5 = param_3;
      }
      _Var18 = lseek64(*(int *)(iVar3 + 0x88),
                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);
      pcVar6 = DAT_000df3a4;
      if (_Var18 < 0) {
        piVar12 = __errno_location();
        pcVar6 = strerror(*piVar12);
        FUN_00045b60("%s: %s",param_1,pcVar6);
        local_c4 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      uVar2 = *(uint *)(iVar3 + 0x8c);
      if (DAT_000df3a4 == (char *)0x0) {
        if (uVar2 + 0x14 == 0) {
          FUN_00074330("awk.h",0x7c5);
          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);
        }
        local_bc = (char *)malloc(uVar2 + 0x14);
        if (local_bc == (char *)0x0) {
          FUN_00074330("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar6 = strerror(*piVar12);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          uVar19 = 0x244;
LAB_0004669c:
          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);
        }
LAB_000461dc:
        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);
        DAT_000df3a4 = local_bc;
      }
      else if (DAT_000df3a0 < uVar2) {
        if (uVar2 + 0x14 == 0) {
          FUN_00074330("awk.h",0x7e9);
          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);
        }
        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);
        if (local_bc == (char *)0x0) {
          FUN_00074330("awk.h",0x7ed);
          piVar12 = __errno_location();
          pcVar6 = strerror(*piVar12);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);
          uVar19 = 0x247;
          goto LAB_0004669c;
        }
        goto LAB_000461dc;
      }
      pcVar6 = param_2 + iVar5;
      local_c4 = param_2;
      if ((int)param_2 < (int)pcVar6) {
        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);
        do {
          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);
          if (1 < iVar5) {
            ppuVar10 = (undefined **)PTR_LOOP_000dd624;
            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {
              do {
                if ((ppuVar10[5] == param_1) &&
                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {
                  if ((DAT_000df390 == '\0') ||
                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {
                    pcVar16 = "%-4d:b  ";
                  }
                  else {
                    pcVar16 = "%-4d:b=>";
                  }
                  goto LAB_00045ff4;
                }
                ppuVar1 = ppuVar10 + 1;
                ppuVar10 = (undefined **)*ppuVar1;
              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);
            }
            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))
            {
              pcVar16 = "%-4d  =>";
LAB_00045ff4:
              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);
            }
          }
          pcVar16 = DAT_000df3a4;
          sVar7 = strlen(DAT_000df3a4);
          pcVar16 = pcVar16 + sVar7;
          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);
          if (sVar8 == -1) {
            piVar12 = __errno_location();
            pcVar6 = strerror(*piVar12);
            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);
            FUN_00045b60(uVar9,param_1,pcVar6);
            local_c4 = (char *)0xffffffff;
            goto LAB_00045f65;
          }
          if (sVar8 == 0) {
            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);
            goto LAB_00045f53;
          }
          sVar14 = sVar8;
          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {
            sVar14 = sVar8 + 1;
            pcVar16[sVar8] = '\n';
          }
          iVar4 = sVar14 - (int)DAT_000df3a4;
          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);
          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;
          param_2 = param_2 + 1;
          piVar12 = piVar12 + 1;
          local_c4 = param_2;
        } while (param_2 != pcVar6);
      }
      iVar4 = DAT_000df39c;
      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {
        close(*(int *)(DAT_000df39c + 0x88));
        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;
      }
      DAT_000df39c = iVar4;
      local_c4 = local_c4 + -1;
      goto LAB_00045f65;
    }
    iVar4 = FUN_000727c0(iVar3);
    *(int *)(iVar3 + 0x88) = iVar4;
    if (-1 < iVar4) goto LAB_00045dbe;
LAB_000460e8:
    piVar12 = __errno_location();
    param_2 = strerror(*piVar12);
    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);
LAB_00045f53:
    FUN_00045b60(uVar9,param_1,param_2);
  }
LAB_00045f60:
  local_c4 = (char *)0xffffffff;
LAB_00045f65:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_000a13a0();
  }
  return local_c4;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016f80
ADD EBX,0x96f6b
SUB ESP,0xbc
MOV EDI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0xac],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0x8],EDX
MOV dword ptr [ESP + 0x4],ECX
CALL 0x00045bc0
TEST EAX,EAX
JZ 0x00045f60
MOV EDI,EAX
MOV EAX,dword ptr [EAX + 0x88]
TEST EAX,EAX
JS 0x000461a0
SUB ESP,0x4
LEA EDX,[ESP + 0x50]
PUSH EDX
PUSH EAX
PUSH 0x3
CALL 0x00014070
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00045de5
MOV EAX,dword ptr [ESP + 0x94]
CMP dword ptr [EDI + 0x14],EAX
JL 0x00046070
MOV EAX,dword ptr [EDI + 0x88]
SUB ESP,0x8
PUSH 0x0
PUSH EAX
CALL 0x00067400
MOV EAX,dword ptr [EDI + 0x84]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00046238
MOV EAX,dword ptr [EDI + 0x78]
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JLE 0x000467e8
MOV ESI,dword ptr [ESP]
CMP EAX,ESI
JG 0x000467e8
MOV EBP,dword ptr [ESP + 0x4]
MOV ECX,EAX
LEA EDX,[EAX + EBP*0x1 + -0x1]
MOV EAX,ESI
SUB EAX,ECX
ADD EAX,0x1
CMP EDX,ESI
MOV ESI,dword ptr [EDI + 0x84]
CMOVLE EAX,EBP
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[ECX + 0x3fffffff]
LEA ECX,[EAX*0x4 + 0x0]
MOV dword ptr [ESP],ECX
PUSH 0x0
MOV EAX,dword ptr [ESI + EAX*0x4]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EDI + 0x88]
CALL 0x00014520
ADD ESP,0x10
TEST EDX,EDX
JS 0x0004681a
MOV EDX,dword ptr [EBX + 0x26c0]
MOV EBP,dword ptr [EDI + 0x8c]
TEST EDX,EDX
JZ 0x00046488
CMP EBP,dword ptr [EBX + 0x26bc]
JA 0x000461c0
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x4]
ADD EAX,ECX
CMP ECX,EAX
MOV dword ptr [ESP + 0x10],EAX
JGE 0x000466bc
MOV EAX,dword ptr [ESP]
MOV dword ptr [ESP],EDI
MOV EDI,ECX
LEA ESI,[ESI + EAX*0x1 + 0x4]
LEA EAX,[EBX + 0xfffcb7a5]
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBX + 0x4aac]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0x4ab0]
MOV dword ptr [ESP + 0x1c],EAX
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
PUSH -0x1
PUSH 0x1
PUSH EDX
CALL 0x000146b0
ADD ESP,0x20
CMP dword ptr [ESP + 0x4],0x1
JG 0x00045f90
MOV EDX,dword ptr [EBX + 0x26c0]
SUB ESP,0xc
PUSH EDX
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00014230
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0xc]
ADD EDX,EAX
MOV EAX,dword ptr [ESI]
SUB EAX,dword ptr [ESI + -0x4]
PUSH EAX
PUSH EDX
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x14],EDX
PUSH dword ptr [EAX + 0x88]
CALL 0x000146c0
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00046160
TEST EAX,EAX
JNZ 0x00046010
LEA EAX,[EBX + 0xfffcc3e0]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
PUSH EAX
CALL 0x00045b60
ADD ESP,0x10
MOV ECX,0xffffffff
MOV EDI,dword ptr [ESP + 0xac]
XOR EDI,dword ptr GS:[0x14]
MOV EAX,ECX
JNZ 0x0004684a
ADD ESP,0xbc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0x940]
LEA EDX,[EBX + 0x93c]
CMP EAX,EDX
JZ 0x00046118
MOV EBP,dword ptr [ESP + 0x14]
JMP 0x00045fbb
MOV EAX,dword ptr [EAX + 0x4]
CMP EAX,EDX
JZ 0x00046118
CMP dword ptr [EAX + 0x14],EBP
JNZ 0x00045fb0
MOV ECX,dword ptr [EAX + 0x18]
MOVSX ECX,word ptr [ECX + 0x10]
CMP ECX,EDI
JNZ 0x00045fb0
CMP byte ptr [EBX + 0x26ac],0x0
MOV EDX,dword ptr [EBX + 0x26c0]
JZ 0x00045fea
MOV EAX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x14]
CMP ECX,dword ptr [EAX]
JZ 0x000466ff
SUB ESP,0xc
LEA EAX,[EBX + 0xfffcb7bc]
PUSH EDI
PUSH EAX
PUSH -0x1
PUSH 0x1
PUSH EDX
CALL 0x000146b0
MOV EDX,dword ptr [EBX + 0x26c0]
ADD ESP,0x20
JMP 0x00045ef8
MOV ECX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x8]
CMP dword ptr [ECX + 0x78],EDI
JZ 0x00046508
MOV ECX,dword ptr [EBX + 0x26c0]
SUB EDX,ECX
ADD EDX,EAX
LEA EAX,[EBX + 0x5c9c]
PUSH dword ptr [EAX]
PUSH EDX
MOV dword ptr [ESP + 0x10],EDX
PUSH 0x1
PUSH ECX
CALL 0x00014400
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x8]
CMP EDX,EAX
JNZ 0x00045f60
ADD EDI,0x1
ADD ESI,0x4
CMP EDI,dword ptr [ESP + 0x10]
JZ 0x000466b5
MOV EDX,dword ptr [EBX + 0x26c0]
JMP 0x00045ed2
LEA EAX,[EBX + 0xfffcc370]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
PUSH dword ptr [ESP + 0x24]
PUSH EAX
LEA EAX,[EBX + 0x5c9c]
PUSH 0x1
PUSH dword ptr [EAX]
CALL 0x00014570
ADD ESP,0x14
PUSH dword ptr [EDI + 0x84]
CALL 0x00013e50
MOV EAX,dword ptr [ESP + 0xa4]
MOV dword ptr [EDI + 0x84],0x0
MOV dword ptr [EDI + 0x14],EAX
POP EAX
PUSH dword ptr [EDI + 0x88]
CALL 0x000146d8
MOV dword ptr [EDI + 0x88],0xffffffff
MOV dword ptr [ESP],EDI
CALL 0x000727c0
ADD ESP,0x10
TEST EAX,EAX
MOV dword ptr [EDI + 0x88],EAX
JNS 0x00045deb
CALL 0x00014330
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00014180
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc5258]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
PUSH ESI
JMP 0x00045f53
CMP byte ptr [EBX + 0x26ac],0x0
MOV EDX,dword ptr [EBX + 0x26c0]
JZ 0x00045ef8
LEA EAX,[EBX + 0x4aac]
MOV ECX,dword ptr [ESP + 0x14]
CMP ECX,dword ptr [EAX]
JNZ 0x00045ef8
LEA EAX,[EBX + 0x4ab0]
CMP dword ptr [EAX],EDI
JNZ 0x00045ef8
SUB ESP,0xc
LEA EAX,[EBX + 0xfffcb7b3]
PUSH EDI
JMP 0x00045ff4
MOV dword ptr [ESP],EAX
CALL 0x00014330
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00014180
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc5288]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
PUSH EAX
CALL 0x00045b60
ADD ESP,0x10
MOV ECX,dword ptr [ESP]
JMP 0x00045f65
SUB ESP,0xc
PUSH EDI
CALL 0x000727c0
ADD ESP,0x10
TEST EAX,EAX
MOV dword ptr [EDI + 0x88],EAX
JNS 0x00045dbe
JMP 0x000460e8
ADD EBP,0x14
JZ 0x000461f8
SUB ESP,0x8
PUSH EBP
PUSH EDX
CALL 0x00014130
ADD ESP,0x10
TEST EAX,EAX
MOV EDX,EAX
JZ 0x00046644
MOV EAX,dword ptr [EDI + 0x8c]
MOV dword ptr [EBX + 0x26c0],EDX
MOV dword ptr [EBX + 0x26bc],EAX
JMP 0x00045e92
LEA EAX,[EBX + 0xfffc4704]
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH 0x7e9
PUSH EAX
CALL 0x00074330
LEA EAX,[EBX + 0xfffcb3a8]
ADD ESP,0xc
PUSH 0x247
PUSH EAX
LEA EAX,[EBX + 0xfffc486c]
PUSH EAX
CALL 0x00074d10
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
JMP 0x000461c5
MOV ESI,dword ptr [EDI + 0x7c]
TEST ESI,ESI
JZ 0x0004659f
SUB ESP,0xc
PUSH ESI
CALL 0x00014140
MOV dword ptr [ESP + 0x44],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004671a
MOV EAX,dword ptr [EDI + 0x78]
LEA ESI,[EAX*0x4 + 0x8]
MOV dword ptr [ESP + 0xc],EAX
TEST ESI,ESI
JZ 0x000465d6
SUB ESP,0xc
PUSH ESI
CALL 0x00014140
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
JZ 0x0004677d
LEA EAX,[EBX + 0xfffc4704]
MOV ECX,dword ptr [ESP + 0x34]
MOV dword ptr [EDI + 0x84],EBP
MOV byte ptr [ESP + 0x27],0x0
MOV dword ptr [EBP],0x0
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [ESP + 0x18],EDI
LEA ESI,[ESI]
SUB ESP,0x4
MOV EAX,dword ptr [ESP + 0x1c]
PUSH dword ptr [EAX + 0x7c]
PUSH ECX
MOV dword ptr [ESP + 0x28],ECX
PUSH dword ptr [EAX + 0x88]
CALL 0x000146c0
ADD ESP,0x10
TEST EAX,EAX
MOV EDX,EAX
MOV ECX,dword ptr [ESP + 0x1c]
JLE 0x00046418
MOVZX EAX,byte ptr [ECX + EDX*0x1 + -0x1]
LEA EDI,[ECX + EDX*0x1]
CMP EDI,ECX
MOV byte ptr [ESP + 0x27],AL
JBE 0x0004635c
LEA EAX,[EBX + 0xfffc4894]
MOV dword ptr [ESP + 0x1c],EDX
MOV ESI,ECX
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x30],EAX
JMP 0x00046324
CMP EDI,ESI
JZ 0x00046354
ADD ESI,0x1
CMP byte ptr [ESI + -0x1],0xa
JNZ 0x00046320
ADD dword ptr [ESP],0x1
MOV EAX,dword ptr [ESP]
CMP dword ptr [ESP + 0xc],EAX
JL 0x00046368
MOV EAX,ESI
SUB EAX,ECX
ADD EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EBP + 0x4],EAX
SUB EAX,dword ptr [EBP]
CMP EDX,EAX
CMOVL EDX,EAX
ADD EBP,0x4
CMP EDI,ESI
JNZ 0x00046324
MOV dword ptr [ESP + 0x20],EDX
MOV EDX,dword ptr [ESP + 0x1c]
ADD dword ptr [ESP + 0x10],EDX
JMP 0x000462c8
MOV EAX,dword ptr [ESP + 0xc]
MOV EBP,dword ptr [ESP + 0x18]
LEA EAX,[EAX*0x8 + 0x8]
MOV EBP,dword ptr [EBP + 0x84]
TEST EAX,EAX
MOV dword ptr [ESP + 0x20],EAX
JZ 0x000463d0
MOV dword ptr [ESP + 0x2c],EDX
MOV dword ptr [ESP + 0x28],ECX
SUB ESP,0x8
PUSH dword ptr [ESP + 0x28]
PUSH EBP
CALL 0x00014130
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
MOV ECX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [ESP + 0x2c]
JZ 0x00046528
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX + 0x84],EBP
MOV EAX,dword ptr [ESP + 0xc]
LEA EBP,[EBP + EAX*0x4]
ADD EAX,EAX
MOV dword ptr [ESP + 0xc],EAX
JMP 0x0004633a
MOV dword ptr [ESP + 0x2c],EDX
MOV dword ptr [ESP + 0x28],ECX
SUB ESP,0x8
PUSH 0x7e9
PUSH dword ptr [ESP + 0x44]
CALL 0x00074330
LEA EAX,[EBX + 0xfffcb3a8]
ADD ESP,0xc
PUSH 0x1bf
PUSH EAX
LEA EAX,[EBX + 0xfffc486c]
PUSH EAX
CALL 0x00074d10
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [ESP + 0x28]
JMP 0x00046385
MOV EDI,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0xc],EAX
SUB ESP,0xc
PUSH dword ptr [ESP + 0x40]
CALL 0x00013e50
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
CMP ECX,-0x1
JZ 0x0004687f
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0004684f
CMP byte ptr [ESP + 0x27],0xa
JZ 0x0004646d
MOV EAX,dword ptr [ESP + 0x10]
MOV ESI,dword ptr [ESP + 0x20]
ADD dword ptr [ESP],0x1
ADD EAX,0x1
MOV dword ptr [EBP + 0x4],EAX
SUB EAX,dword ptr [EBP]
CMP ESI,EAX
CMOVGE EAX,ESI
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [EDI + 0x8c],EAX
MOV EAX,dword ptr [ESP]
MOV dword ptr [EDI + 0x78],EAX
JMP 0x00045e0d
ADD EBP,0x14
JZ 0x0004660d
SUB ESP,0xc
PUSH EBP
CALL 0x00014140
ADD ESP,0x10
TEST EAX,EAX
MOV EDX,EAX
JNZ 0x000461dc
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7c9
PUSH EAX
CALL 0x00074330
CALL 0x00014330
POP ECX
PUSH dword ptr [EAX]
CALL 0x00014180
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EBX + 0xfffc48f4]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x10]
PUSH ECX
LEA ECX,[EBX + 0xfffcb791]
PUSH EBP
PUSH ECX
LEA ECX,[EBX + 0xfffcb799]
PUSH ECX
PUSH 0x244
JMP 0x0004669c
CMP byte ptr [EDX + EAX*0x1 + -0x1],0xa
MOV ECX,EAX
JZ 0x00046020
ADD EAX,0x1
MOV byte ptr [EDX + ECX*0x1],0xa
JMP 0x00046020
MOV dword ptr [ESP + 0x2c],ECX
MOV dword ptr [ESP + 0x3c],EDX
SUB ESP,0x8
PUSH 0x7ed
PUSH dword ptr [ESP + 0x44]
CALL 0x00074330
CALL 0x00014330
POP EDX
PUSH dword ptr [EAX]
CALL 0x00014180
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0xc
PUSH 0x5
PUSH dword ptr [ESP + 0x38]
PUSH 0x0
CALL 0x00013f40
MOV ECX,EAX
LEA EAX,[EBX + 0xfffcb75f]
ADD ESP,0xc
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x28]
PUSH EAX
LEA EAX,[EBX + 0xfffcb754]
PUSH EAX
LEA EAX,[EBX + 0xfffcb3a8]
PUSH 0x1bf
PUSH EAX
PUSH ECX
CALL 0x00074d10
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x3c]
MOV ECX,dword ptr [ESP + 0x2c]
JMP 0x000463af
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7c5
PUSH EAX
CALL 0x00074330
LEA EAX,[EBX + 0xfffcb3a8]
ADD ESP,0xc
PUSH 0x1b2
PUSH EAX
LEA EAX,[EBX + 0xfffc48cc]
PUSH EAX
CALL 0x00074d10
ADD ESP,0x10
JMP 0x00046243
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7c5
PUSH EAX
CALL 0x00074330
LEA EAX,[EBX + 0xfffcb3a8]
ADD ESP,0xc
PUSH 0x1b4
PUSH EAX
LEA EAX,[EBX + 0xfffc48cc]
PUSH EAX
CALL 0x00074d10
ADD ESP,0x10
JMP 0x00046271
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7c5
PUSH EAX
CALL 0x00074330
LEA EAX,[EBX + 0xfffcb3a8]
ADD ESP,0xc
PUSH 0x244
PUSH EAX
LEA EAX,[EBX + 0xfffc48cc]
PUSH EAX
CALL 0x00074d10
ADD ESP,0x10
JMP 0x00046491
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7ed
PUSH EAX
CALL 0x00074330
CALL 0x00014330
POP EDX
PUSH dword ptr [EAX]
CALL 0x00014180
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EBX + 0xfffc4894]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x10]
PUSH ECX
LEA ECX,[EBX + 0xfffcb791]
PUSH EBP
PUSH ECX
LEA ECX,[EBX + 0xfffcb799]
PUSH ECX
PUSH 0x247
LEA ECX,[EBX + 0xfffcb3a8]
PUSH ECX
PUSH EAX
CALL 0x00074d10
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x10]
JMP 0x000461dc
MOV dword ptr [ESP + 0x8],EDI
MOV EDI,dword ptr [ESP]
MOV EAX,dword ptr [EBX + 0x26b8]
CMP EAX,EDI
JZ 0x000466f3
MOV EAX,dword ptr [EAX + 0x88]
CMP EAX,-0x1
JZ 0x000466ed
SUB ESP,0xc
PUSH EAX
CALL 0x000146d8
MOV EAX,dword ptr [EBX + 0x26b8]
ADD ESP,0x10
MOV dword ptr [EAX + 0x88],0xffffffff
MOV dword ptr [EBX + 0x26b8],EDI
MOV ECX,dword ptr [ESP + 0x8]
SUB ECX,0x1
JMP 0x00045f65
MOV EAX,dword ptr [ESP + 0x1c]
CMP EDI,dword ptr [EAX]
JNZ 0x00045fea
SUB ESP,0xc
LEA EAX,[EBX + 0xfffcb7aa]
PUSH EDI
JMP 0x00045ff4
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7c9
PUSH EAX
CALL 0x00074330
CALL 0x00014330
POP EBP
PUSH dword ptr [EAX]
CALL 0x00014180
MOV EBP,EAX
LEA EAX,[EBX + 0xfffc48f4]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
LEA EDX,[EBX + 0xfffc8301]
ADD ESP,0xc
PUSH EBP
PUSH ESI
PUSH EDX
LEA EDX,[EBX + 0xfffcb754]
PUSH EDX
LEA EDX,[EBX + 0xfffcb3a8]
PUSH 0x1b2
PUSH EDX
PUSH EAX
CALL 0x00074d10
ADD ESP,0x20
JMP 0x0004625b
LEA EAX,[EBX + 0xfffc4704]
SUB ESP,0x8
PUSH 0x7c9
PUSH EAX
CALL 0x00074330
CALL 0x00014330
POP ECX
PUSH dword ptr [EAX]
CALL 0x00014180
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffc48f4]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x4]
MOV EDX,EAX
LEA EAX,[EBX + 0xfffcb75f]
PUSH ECX
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffcb754]
PUSH EAX
LEA EAX,[EBX + 0xfffcb3a8]
PUSH 0x1b4
PUSH EAX
PUSH EDX
CALL 0x00074d10
ADD ESP,0x20
JMP 0x00046287
LEA EAX,[EBX + 0xfffcc3b0]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x20]
PUSH EAX
CALL 0x00045b60
ADD ESP,0x20
MOV ECX,0xffffffff
JMP 0x00045f65
CALL 0x00014330
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00014180
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xfffcb78a]
PUSH dword ptr [ESP + 0x1c]
PUSH EAX
CALL 0x00045b60
ADD ESP,0x10
MOV ECX,0xffffffff
JMP 0x00045f65
CALL 0x000a13a0
LEA EAX,[EBX + 0xfffcb76e]
MOV ESI,dword ptr [EDI + 0xc]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x5c9c]
PUSH 0x1
PUSH dword ptr [EAX]
CALL 0x00014570
ADD ESP,0x20
OR ECX,0xffffffff
JMP 0x00045f65
MOV dword ptr [ESP],ECX
CALL 0x00014330
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00014180
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc5288]
ADD ESP,0xc
MOV EDI,dword ptr [EDI + 0xc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00045b60
ADD ESP,0x10
MOV ECX,dword ptr [ESP]
JMP 0x00045f65
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)\n\n{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000a13a0();\n  }\n  return local_c4;\n}\n\n" comment (function_definition "char * __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)\n\n{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000a13a0();\n  }\n  return local_c4;\n}" primitive_type (pointer_declarator "* __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_00045d70(undefined *param_1,char *param_2,int param_3)" identifier (parameter_list "(undefined *param_1,char *param_2,int param_3)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) )))) (compound_statement "{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000a13a0();\n  }\n  return local_c4;\n}" { (declaration "undefined **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "ssize_t sVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined **ppuVar10;" type_identifier (pointer_declarator "**ppuVar10" * (pointer_declarator "*ppuVar10" * identifier)) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "void *pvVar13;" primitive_type (pointer_declarator "*pvVar13" * identifier) ;) (declaration "ssize_t sVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "__off64_t _Var18;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "char *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "char *local_bc;" primitive_type (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "char local_a5;" primitive_type identifier ;) (declaration "stat64 local_80;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x45d79;" (assignment_expression "uStack_14 = 0x45d79" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = FUN_00045bc0();" (assignment_expression "iVar3 = FUN_00045bc0()" identifier = (call_expression "FUN_00045bc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }" { (expression_statement "iVar4 = *(int *)(iVar3 + 0x88);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x88)" identifier = (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" { (labeled_statement "LAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);" statement_identifier : (expression_statement "iVar4 = __fxstat64(3,iVar4,&local_80);" (assignment_expression "iVar4 = __fxstat64(3,iVar4,&local_80)" identifier = (call_expression "__fxstat64(3,iVar4,&local_80)" identifier (argument_list "(3,iVar4,&local_80)" ( number_literal , identifier , (pointer_expression "&local_80" & identifier) )))) ;)) (if_statement "if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" if (parenthesized_expression "((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec))" ( (binary_expression "(iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)" ( (binary_expression "*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) < (field_expression "local_80.st_mtim.tv_sec" (field_expression "local_80.st_mtim" identifier . field_identifier) . field_identifier)) ))) )) (compound_statement "{\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }" { (expression_statement "uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);" (assignment_expression "uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" identifier = (call_expression "dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" identifier (argument_list "(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" ( number_literal , (string_literal ""WARNING: source file `%s\' modified since program compilation.\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "__fprintf_chk(DAT_000e2980,1,uVar9,param_1);" (call_expression "__fprintf_chk(DAT_000e2980,1,uVar9,param_1)" identifier (argument_list "(DAT_000e2980,1,uVar9,param_1)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "free(*(void **)(iVar3 + 0x84));" (call_expression "free(*(void **)(iVar3 + 0x84))" identifier (argument_list "(*(void **)(iVar3 + 0x84))" ( (pointer_expression "*(void **)(iVar3 + 0x84)" * (cast_expression "(void **)(iVar3 + 0x84)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x84) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x84) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x84)" * (cast_expression "(undefined4 *)(iVar3 + 0x84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;" (assignment_expression "*(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec" (pointer_expression "*(__time_t *)(iVar3 + 0x14)" * (cast_expression "(__time_t *)(iVar3 + 0x14)" ( (type_descriptor "__time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = (field_expression "local_80.st_mtim.tv_sec" (field_expression "local_80.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "close(*(int *)(iVar3 + 0x88));" (call_expression "close(*(int *)(iVar3 + 0x88))" identifier (argument_list "(*(int *)(iVar3 + 0x88))" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x88) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar3 + 0x88) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar3 + 0x88)" * (cast_expression "(undefined4 *)(iVar3 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000727c0(iVar3);" (assignment_expression "iVar4 = FUN_000727c0(iVar3)" identifier = (call_expression "FUN_000727c0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(int *)(iVar3 + 0x88) = iVar4;" (assignment_expression "*(int *)(iVar3 + 0x88) = iVar4" (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 < 0) goto LAB_000460e8;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000460e8;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" else (compound_statement "{\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" { (expression_statement "iVar4 = *(int *)(iVar3 + 0x88);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x88)" identifier = (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) ))))) ;) }))) (expression_statement "FUN_00067400(iVar4,0);" (call_expression "FUN_00067400(iVar4,0)" identifier (argument_list "(iVar4,0)" ( identifier , number_literal ))) ;) (if_statement "if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0x84) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x84) == 0" (pointer_expression "*(int *)(iVar3 + 0x84)" * (cast_expression "(int *)(iVar3 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }" { (expression_statement "sVar7 = *(size_t *)(iVar3 + 0x7c);" (assignment_expression "sVar7 = *(size_t *)(iVar3 + 0x7c)" identifier = (pointer_expression "*(size_t *)(iVar3 + 0x7c)" * (cast_expression "(size_t *)(iVar3 + 0x7c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x7c)" ( (binary_expression "iVar3 + 0x7c" identifier + number_literal) ))))) ;) (if_statement "if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar6 = (char *)malloc(sVar7);" (assignment_expression "pcVar6 = (char *)malloc(sVar7)" identifier = (cast_expression "(char *)malloc(sVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar7)" identifier (argument_list "(sVar7)" ( identifier ))))) ;) (if_statement "if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar16 = strerror(*piVar12);" (assignment_expression "pcVar16 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16)" identifier (argument_list "(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , (string_literal ""find_lines"" " string_content ") , (string_literal ""buf"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "local_c0 = *(int *)(iVar3 + 0x78);" (assignment_expression "local_c0 = *(int *)(iVar3 + 0x78)" identifier = (pointer_expression "*(int *)(iVar3 + 0x78)" * (cast_expression "(int *)(iVar3 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "sVar7 = local_c0 * 4 + 8;" (assignment_expression "sVar7 = local_c0 * 4 + 8" identifier = (binary_expression "local_c0 * 4 + 8" (binary_expression "local_c0 * 4" identifier * number_literal) + number_literal)) ;) (if_statement "if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "piVar12 = (int *)malloc(sVar7);" (assignment_expression "piVar12 = (int *)malloc(sVar7)" identifier = (cast_expression "(int *)malloc(sVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar7)" identifier (argument_list "(sVar7)" ( identifier ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar16 = strerror(*piVar15);" (assignment_expression "pcVar16 = strerror(*piVar15)" identifier = (call_expression "strerror(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16)" identifier (argument_list "(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , (string_literal ""find_lines"" " string_content ") , (string_literal ""s->line_offset"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "*(int **)(iVar3 + 0x84) = piVar12;" (assignment_expression "*(int **)(iVar3 + 0x84) = piVar12" (pointer_expression "*(int **)(iVar3 + 0x84)" * (cast_expression "(int **)(iVar3 + 0x84)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_a5 = '\0';" (assignment_expression "local_a5 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" * identifier) = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_bc = (char *)0x0;" (assignment_expression "local_bc = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }" while (parenthesized_expression "(sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8)" ( (comma_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8" (assignment_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" identifier = (call_expression "read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" identifier (argument_list "(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) , identifier , (pointer_expression "*(size_t *)(iVar3 + 0x7c)" * (cast_expression "(size_t *)(iVar3 + 0x7c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x7c)" ( (binary_expression "iVar3 + 0x7c" identifier + number_literal) )))) )))) , (binary_expression "0 < sVar8" number_literal < identifier)) )) (compound_statement "{\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }" { (expression_statement "local_a5 = pcVar6[sVar8 + -1];" (assignment_expression "local_a5 = pcVar6[sVar8 + -1]" identifier = (subscript_expression "pcVar6[sVar8 + -1]" identifier [ (binary_expression "sVar8 + -1" identifier + number_literal) ])) ;) (expression_statement "pcVar16 = pcVar6 + sVar8;" (assignment_expression "pcVar16 = pcVar6 + sVar8" identifier = (binary_expression "pcVar6 + sVar8" identifier + identifier)) ;) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" identifier = identifier) ;) (if_statement "if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }" if (parenthesized_expression "(pcVar6 < pcVar16)" ( (binary_expression "pcVar6 < pcVar16" identifier < identifier) )) (compound_statement "{\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }" { (do_statement "do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);" do (compound_statement "{\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            }" { (while_statement "while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }" while (parenthesized_expression "(pcVar17 = pcVar11 + 1, *pcVar11 != '\n')" ( (comma_expression "pcVar17 = pcVar11 + 1, *pcVar11 != '\n'" (assignment_expression "pcVar17 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) , (binary_expression "*pcVar11 != '\n'" (pointer_expression "*pcVar11" * identifier) != (char_literal "'\n'" ' escape_sequence '))) )) (compound_statement "{\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }" { (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" identifier = identifier) ;) (if_statement "if (pcVar16 == pcVar17) goto LAB_0004635c;" if (parenthesized_expression "(pcVar16 == pcVar17)" ( (binary_expression "pcVar16 == pcVar17" identifier == identifier) )) (goto_statement "goto LAB_0004635c;" goto statement_identifier ;)) })) (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (if_statement "if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }" if (parenthesized_expression "(local_c0 < local_cc)" ( (binary_expression "local_c0 < local_cc" identifier < identifier) )) (compound_statement "{\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }" { (expression_statement "sVar7 = local_c0 * 8 + 8;" (assignment_expression "sVar7 = local_c0 * 8 + 8" identifier = (binary_expression "local_c0 * 8 + 8" (binary_expression "local_c0 * 8" identifier * number_literal) + number_literal)) ;) (expression_statement "pvVar13 = *(void **)(iVar3 + 0x84);" (assignment_expression "pvVar13 = *(void **)(iVar3 + 0x84)" identifier = (pointer_expression "*(void **)(iVar3 + 0x84)" * (cast_expression "(void **)(iVar3 + 0x84)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" { (expression_statement "FUN_00074330("awk.h",0x7e9);" (call_expression "FUN_00074330("awk.h",0x7e9)" identifier (argument_list "("awk.h",0x7e9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);" (call_expression "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" identifier (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" ( (string_literal ""%s:%d: erealloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pvVar13 = realloc(pvVar13,sVar7);" (assignment_expression "pvVar13 = realloc(pvVar13,sVar7)" identifier = (call_expression "realloc(pvVar13,sVar7)" identifier (argument_list "(pvVar13,sVar7)" ( identifier , identifier )))) ;) (if_statement "if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }" if (parenthesized_expression "(pvVar13 == (void *)0x0)" ( (binary_expression "pvVar13 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }" { (expression_statement "FUN_00074330("awk.h",0x7ed);" (call_expression "FUN_00074330("awk.h",0x7ed)" identifier (argument_list "("awk.h",0x7ed)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = strerror(*piVar12);" (assignment_expression "pcVar11 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11)" identifier (argument_list "(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , (string_literal ""find_lines"" " string_content ") , (string_literal ""s->line_offset"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "*(void **)(iVar3 + 0x84) = pvVar13;" (assignment_expression "*(void **)(iVar3 + 0x84) = pvVar13" (pointer_expression "*(void **)(iVar3 + 0x84)" * (cast_expression "(void **)(iVar3 + 0x84)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar12 = (int *)((int)pvVar13 + local_c0 * 4);" (assignment_expression "piVar12 = (int *)((int)pvVar13 + local_c0 * 4)" identifier = (cast_expression "(int *)((int)pvVar13 + local_c0 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + local_c0 * 4)" ( (binary_expression "(int)pvVar13 + local_c0 * 4" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_c0 * 4" identifier * number_literal)) )))) ;) (expression_statement "local_c0 = local_c0 * 2;" (assignment_expression "local_c0 = local_c0 * 2" identifier = (binary_expression "local_c0 * 2" identifier * number_literal)) ;) })) (expression_statement "piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));" (assignment_expression "piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6))" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (binary_expression "pcVar17 + ((int)local_bc - (int)pcVar6)" identifier + (parenthesized_expression "((int)local_bc - (int)pcVar6)" ( (binary_expression "(int)local_bc - (int)pcVar6" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;" (assignment_expression "iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12" identifier = (binary_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12" (cast_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (binary_expression "pcVar17 + ((int)local_bc - (int)pcVar6)" identifier + (parenthesized_expression "((int)local_bc - (int)pcVar6)" ( (binary_expression "(int)local_bc - (int)pcVar6" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) - (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }" if (parenthesized_expression "(local_ac < iVar4)" ( (binary_expression "local_ac < iVar4" identifier < identifier) )) (compound_statement "{\n                local_ac = iVar4;\n              }" { (expression_statement "local_ac = iVar4;" (assignment_expression "local_ac = iVar4" identifier = identifier) ;) })) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar16 != pcVar17)" ( (binary_expression "pcVar16 != pcVar17" identifier != identifier) )) ;) })) (labeled_statement "LAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);" statement_identifier : (expression_statement "local_bc = (char *)((int)local_bc + sVar8);" (assignment_expression "local_bc = (char *)((int)local_bc + sVar8)" identifier = (cast_expression "(char *)((int)local_bc + sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + sVar8)" ( (binary_expression "(int)local_bc + sVar8" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;)) })) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (if_statement "if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" if (parenthesized_expression "(sVar8 == -1)" ( (binary_expression "sVar8 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = *(undefined4 *)(iVar3 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(iVar3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5)" identifier = (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" identifier (argument_list "(0,"cannot read source file `%s\': %s",5)" ( number_literal , (string_literal ""cannot read source file `%s\': %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00045b60(uVar19,uVar9,pcVar6);" (call_expression "FUN_00045b60(uVar19,uVar9,pcVar6)" identifier (argument_list "(uVar19,uVar9,pcVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (if_statement "if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" if (parenthesized_expression "(local_bc == (char *)0x0)" ( (binary_expression "local_bc == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" { (expression_statement "uVar9 = *(undefined4 *)(iVar3 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(iVar3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);" (assignment_expression "uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3)" identifier = (call_expression "dcgettext(0,"source file `%s\' is empty.\n",5,iVar3)" identifier (argument_list "(0,"source file `%s\' is empty.\n",5,iVar3)" ( number_literal , (string_literal ""source file `%s\' is empty.\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "__fprintf_chk(DAT_000e2980,1,uVar19,uVar9);" (call_expression "__fprintf_chk(DAT_000e2980,1,uVar19,uVar9)" identifier (argument_list "(DAT_000e2980,1,uVar19,uVar9)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar4 = local_ac;" (assignment_expression "iVar4 = local_ac" identifier = identifier) ;) (if_statement "if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }" if (parenthesized_expression "(local_a5 != '\n')" ( (binary_expression "local_a5 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }" { (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (expression_statement "piVar12[1] = (int)local_bc + 1;" (assignment_expression "piVar12[1] = (int)local_bc + 1" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (binary_expression "(int)local_bc + 1" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "iVar4 = ((int)local_bc + 1) - *piVar12;" (assignment_expression "iVar4 = ((int)local_bc + 1) - *piVar12" identifier = (binary_expression "((int)local_bc + 1) - *piVar12" (parenthesized_expression "((int)local_bc + 1)" ( (binary_expression "(int)local_bc + 1" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }" if (parenthesized_expression "(iVar4 <= local_ac)" ( (binary_expression "iVar4 <= local_ac" identifier <= identifier) )) (compound_statement "{\n            iVar4 = local_ac;\n          }" { (expression_statement "iVar4 = local_ac;" (assignment_expression "iVar4 = local_ac" identifier = identifier) ;) })) })) (expression_statement "local_ac = iVar4;" (assignment_expression "local_ac = iVar4" identifier = identifier) ;) (expression_statement "*(int *)(iVar3 + 0x8c) = local_ac;" (assignment_expression "*(int *)(iVar3 + 0x8c) = local_ac" (pointer_expression "*(int *)(iVar3 + 0x8c)" * (cast_expression "(int *)(iVar3 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x8c)" ( (binary_expression "iVar3 + 0x8c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar3 + 0x78) = local_cc;" (assignment_expression "*(int *)(iVar3 + 0x78) = local_cc" (pointer_expression "*(int *)(iVar3 + 0x78)" * (cast_expression "(int *)(iVar3 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" else (compound_statement "{\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" { (expression_statement "local_cc = *(int *)(iVar3 + 0x78);" (assignment_expression "local_cc = *(int *)(iVar3 + 0x78)" identifier = (pointer_expression "*(int *)(iVar3 + 0x78)" * (cast_expression "(int *)(iVar3 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) ))))) ;) }))) (if_statement "if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" if (parenthesized_expression "(((int)param_2 < 1) || (local_cc < (int)param_2))" ( (binary_expression "((int)param_2 < 1) || (local_cc < (int)param_2)" (parenthesized_expression "((int)param_2 < 1)" ( (binary_expression "(int)param_2 < 1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_cc < (int)param_2)" ( (binary_expression "local_cc < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" { (expression_statement "uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);" (assignment_expression "uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" identifier = (call_expression "dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" identifier (argument_list "(0,"line number %d out of range; `%s\' has %d lines",5)" ( number_literal , (string_literal ""line number %d out of range; `%s\' has %d lines"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00045b60(uVar9,param_2,param_1,local_cc);" (call_expression "FUN_00045b60(uVar9,param_2,param_1,local_cc)" identifier (argument_list "(uVar9,param_2,param_1,local_cc)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar4 = *(int *)(iVar3 + 0x84);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x84)" identifier = (pointer_expression "*(int *)(iVar3 + 0x84)" * (cast_expression "(int *)(iVar3 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (local_cc - (int)param_2) + 1;" (assignment_expression "iVar5 = (local_cc - (int)param_2) + 1" identifier = (binary_expression "(local_cc - (int)param_2) + 1" (parenthesized_expression "(local_cc - (int)param_2)" ( (binary_expression "local_cc - (int)param_2" identifier - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) + number_literal)) ;) (if_statement "if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }" if (parenthesized_expression "((int)(param_2 + param_3 + -1) <= local_cc)" ( (binary_expression "(int)(param_2 + param_3 + -1) <= local_cc" (cast_expression "(int)(param_2 + param_3 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + param_3 + -1)" ( (binary_expression "param_2 + param_3 + -1" (binary_expression "param_2 + param_3" identifier + identifier) + number_literal) ))) <= identifier) )) (compound_statement "{\n        iVar5 = param_3;\n      }" { (expression_statement "iVar5 = param_3;" (assignment_expression "iVar5 = param_3" identifier = identifier) ;) })) (expression_statement "_Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);" (assignment_expression "_Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" identifier = (call_expression "lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" identifier (argument_list "(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) , (binary_expression "(longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" (parenthesized_expression "(longlong)" ( identifier )) * (cast_expression "(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" ( (binary_expression "iVar4 + (int)(param_2 + 0x3fffffff) * 4" identifier + (binary_expression "(int)(param_2 + 0x3fffffff) * 4" (cast_expression "(int)(param_2 + 0x3fffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + 0x3fffffff)" ( (binary_expression "param_2 + 0x3fffffff" identifier + number_literal) ))) * number_literal)) )))) , number_literal )))) ;) (expression_statement "pcVar6 = DAT_000df3a4;" (assignment_expression "pcVar6 = DAT_000df3a4" identifier = identifier) ;) (if_statement "if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" if (parenthesized_expression "(_Var18 < 0)" ( (binary_expression "_Var18 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "FUN_00045b60("%s: %s",param_1,pcVar6);" (call_expression "FUN_00045b60("%s: %s",param_1,pcVar6)" identifier (argument_list "("%s: %s",param_1,pcVar6)" ( (string_literal ""%s: %s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "uVar2 = *(uint *)(iVar3 + 0x8c);" (assignment_expression "uVar2 = *(uint *)(iVar3 + 0x8c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x8c)" * (cast_expression "(uint *)(iVar3 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x8c)" ( (binary_expression "iVar3 + 0x8c" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" if (parenthesized_expression "(DAT_000df3a4 == (char *)0x0)" ( (binary_expression "DAT_000df3a4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }" { (if_statement "if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" if (parenthesized_expression "(uVar2 + 0x14 == 0)" ( (binary_expression "uVar2 + 0x14 == 0" (binary_expression "uVar2 + 0x14" identifier + number_literal) == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x244)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "local_bc = (char *)malloc(uVar2 + 0x14);" (assignment_expression "local_bc = (char *)malloc(uVar2 + 0x14)" identifier = (cast_expression "(char *)malloc(uVar2 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(uVar2 + 0x14)" identifier (argument_list "(uVar2 + 0x14)" ( (binary_expression "uVar2 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }" if (parenthesized_expression "(local_bc == (char *)0x0)" ( (binary_expression "local_bc == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "uVar19 = 0x244;" (assignment_expression "uVar19 = 0x244" identifier = number_literal) ;) (labeled_statement "LAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);" statement_identifier : (expression_statement "FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);" (call_expression "FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6)" identifier (argument_list "(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6)" ( identifier , (string_literal ""debug.c"" " string_content ") , identifier , (string_literal ""print_lines"" " string_content ") , (string_literal ""linebuf"" " string_content ") , (binary_expression "uVar2 + 0x14" identifier + number_literal) , identifier ))) ;)) })) (labeled_statement "LAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);" statement_identifier : (expression_statement "DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);" (assignment_expression "DAT_000df3a0 = *(uint *)(iVar3 + 0x8c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x8c)" * (cast_expression "(uint *)(iVar3 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x8c)" ( (binary_expression "iVar3 + 0x8c" identifier + number_literal) ))))) ;)) (expression_statement "DAT_000df3a4 = local_bc;" (assignment_expression "DAT_000df3a4 = local_bc" identifier = identifier) ;) }) (else_clause "else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" else (if_statement "if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" if (parenthesized_expression "(DAT_000df3a0 < uVar2)" ( (binary_expression "DAT_000df3a0 < uVar2" identifier < identifier) )) (compound_statement "{\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" { (if_statement "if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" if (parenthesized_expression "(uVar2 + 0x14 == 0)" ( (binary_expression "uVar2 + 0x14 == 0" (binary_expression "uVar2 + 0x14" identifier + number_literal) == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7e9);" (call_expression "FUN_00074330("awk.h",0x7e9)" identifier (argument_list "("awk.h",0x7e9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);" (call_expression "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247)" identifier (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x247)" ( (string_literal ""%s:%d: erealloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);" (assignment_expression "local_bc = (char *)realloc(pcVar6,uVar2 + 0x14)" identifier = (cast_expression "(char *)realloc(pcVar6,uVar2 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(pcVar6,uVar2 + 0x14)" identifier (argument_list "(pcVar6,uVar2 + 0x14)" ( identifier , (binary_expression "uVar2 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }" if (parenthesized_expression "(local_bc == (char *)0x0)" ( (binary_expression "local_bc == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }" { (expression_statement "FUN_00074330("awk.h",0x7ed);" (call_expression "FUN_00074330("awk.h",0x7ed)" identifier (argument_list "("awk.h",0x7ed)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "uVar19 = 0x247;" (assignment_expression "uVar19 = 0x247" identifier = number_literal) ;) (goto_statement "goto LAB_0004669c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000461dc;" goto statement_identifier ;) })))) (expression_statement "pcVar6 = param_2 + iVar5;" (assignment_expression "pcVar6 = param_2 + iVar5" identifier = (binary_expression "param_2 + iVar5" identifier + identifier)) ;) (expression_statement "local_c4 = param_2;" (assignment_expression "local_c4 = param_2" identifier = identifier) ;) (if_statement "if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }" if (parenthesized_expression "((int)param_2 < (int)pcVar6)" ( (binary_expression "(int)param_2 < (int)pcVar6" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }" { (expression_statement "piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);" (assignment_expression "piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" identifier = (cast_expression "(int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" ( (binary_expression "iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4" (binary_expression "iVar4 + 4" identifier + number_literal) + (binary_expression "(int)(param_2 + 0x3fffffff) * 4" (cast_expression "(int)(param_2 + 0x3fffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + 0x3fffffff)" ( (binary_expression "param_2 + 0x3fffffff" identifier + number_literal) ))) * number_literal)) )))) ;) (do_statement "do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);" do (compound_statement "{\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        }" { (expression_statement "__sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);" (call_expression "__sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2)" identifier (argument_list "(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2)" ( identifier , number_literal , number_literal , (pointer_expression "&DAT_000a8489" & identifier) , identifier ))) ;) (if_statement "if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }" if (parenthesized_expression "(1 < iVar5)" ( (binary_expression "1 < iVar5" number_literal < identifier) )) (compound_statement "{\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }" { (expression_statement "ppuVar10 = (undefined **)PTR_LOOP_000dd624;" (assignment_expression "ppuVar10 = (undefined **)PTR_LOOP_000dd624" identifier = (cast_expression "(undefined **)PTR_LOOP_000dd624" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }" if (parenthesized_expression "((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620)" ( (binary_expression "(undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620" (cast_expression "(undefined **)PTR_LOOP_000dd624" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&PTR_LOOP_000dd620" & identifier)) )) (compound_statement "{\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }" { (do_statement "do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);" do (compound_statement "{\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              }" { (if_statement "if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }" if (parenthesized_expression "((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2))" ( (binary_expression "(ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)" (parenthesized_expression "(ppuVar10[5] == param_1)" ( (binary_expression "ppuVar10[5] == param_1" (subscript_expression "ppuVar10[5]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)" ( (binary_expression "(char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2" (cast_expression "(char *)(int)*(short *)(ppuVar10[6] + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(ppuVar10[6] + 0x10)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(ppuVar10[6] + 0x10)" * (cast_expression "(short *)(ppuVar10[6] + 0x10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar10[6] + 0x10)" ( (binary_expression "ppuVar10[6] + 0x10" (subscript_expression "ppuVar10[6]" identifier [ number_literal ]) + number_literal) )))))) == identifier) ))) )) (compound_statement "{\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }" { (if_statement "if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }" if (parenthesized_expression "((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794))))" ( (binary_expression "(DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))" (parenthesized_expression "(DAT_000df390 == '\0')" ( (binary_expression "DAT_000df390 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))" ( (parenthesized_expression "(param_1 != DAT_000e1790 || (param_2 != DAT_000e1794))" ( (binary_expression "param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)" (binary_expression "param_1 != DAT_000e1790" identifier != identifier) || (parenthesized_expression "(param_2 != DAT_000e1794)" ( (binary_expression "param_2 != DAT_000e1794" identifier != identifier) ))) )) ))) )) (compound_statement "{\n                    pcVar16 = "%-4d:b  ";\n                  }" { (expression_statement "pcVar16 = "%-4d:b  ";" (assignment_expression "pcVar16 = "%-4d:b  "" identifier = (string_literal ""%-4d:b  "" " string_content ")) ;) }) (else_clause "else {\n                    pcVar16 = "%-4d:b=>";\n                  }" else (compound_statement "{\n                    pcVar16 = "%-4d:b=>";\n                  }" { (expression_statement "pcVar16 = "%-4d:b=>";" (assignment_expression "pcVar16 = "%-4d:b=>"" identifier = (string_literal ""%-4d:b=>"" " string_content ")) ;) }))) (goto_statement "goto LAB_00045ff4;" goto statement_identifier ;) })) (expression_statement "ppuVar1 = ppuVar10 + 1;" (assignment_expression "ppuVar1 = ppuVar10 + 1" identifier = (binary_expression "ppuVar10 + 1" identifier + number_literal)) ;) (expression_statement "ppuVar10 = (undefined **)*ppuVar1;" (assignment_expression "ppuVar10 = (undefined **)*ppuVar1" identifier = (cast_expression "(undefined **)*ppuVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar1" * identifier))) ;) }) while (parenthesized_expression "((undefined **)*ppuVar1 != &PTR_LOOP_000dd620)" ( (binary_expression "(undefined **)*ppuVar1 != &PTR_LOOP_000dd620" (cast_expression "(undefined **)*ppuVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar1" * identifier)) != (pointer_expression "&PTR_LOOP_000dd620" & identifier)) )) ;) })) (if_statement "if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }" if (parenthesized_expression "(((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))" ( (binary_expression "((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2)" (parenthesized_expression "((DAT_000df390 != '\0') && (param_1 == DAT_000e1790))" ( (binary_expression "(DAT_000df390 != '\0') && (param_1 == DAT_000e1790)" (parenthesized_expression "(DAT_000df390 != '\0')" ( (binary_expression "DAT_000df390 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1 == DAT_000e1790)" ( (binary_expression "param_1 == DAT_000e1790" identifier == identifier) ))) )) && (parenthesized_expression "(DAT_000e1794 == param_2)" ( (binary_expression "DAT_000e1794 == param_2" identifier == identifier) ))) )) (compound_statement "{\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }" { (expression_statement "pcVar16 = "%-4d  =>";" (assignment_expression "pcVar16 = "%-4d  =>"" identifier = (string_literal ""%-4d  =>"" " string_content ")) ;) (labeled_statement "LAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);" statement_identifier : (expression_statement "__sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);" (call_expression "__sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2)" identifier (argument_list "(DAT_000df3a4,1,0xffffffff,pcVar16,param_2)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;)) })) })) (expression_statement "pcVar16 = DAT_000df3a4;" (assignment_expression "pcVar16 = DAT_000df3a4" identifier = identifier) ;) (expression_statement "sVar7 = strlen(DAT_000df3a4);" (assignment_expression "sVar7 = strlen(DAT_000df3a4)" identifier = (call_expression "strlen(DAT_000df3a4)" identifier (argument_list "(DAT_000df3a4)" ( identifier )))) ;) (expression_statement "pcVar16 = pcVar16 + sVar7;" (assignment_expression "pcVar16 = pcVar16 + sVar7" identifier = (binary_expression "pcVar16 + sVar7" identifier + identifier)) ;) (expression_statement "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);" (assignment_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" identifier = (call_expression "read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" identifier (argument_list "(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) , identifier , (binary_expression "*piVar12 - piVar12[-1]" (pointer_expression "*piVar12" * identifier) - (subscript_expression "piVar12[-1]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" if (parenthesized_expression "(sVar8 == -1)" ( (binary_expression "sVar8 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5)" identifier = (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" identifier (argument_list "(0,"cannot read source file `%s\': %s",5)" ( number_literal , (string_literal ""cannot read source file `%s\': %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00045b60(uVar9,param_1,pcVar6);" (call_expression "FUN_00045b60(uVar9,param_1,pcVar6)" identifier (argument_list "(uVar9,param_1,pcVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (if_statement "if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" { (expression_statement "uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);" (assignment_expression "uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" identifier = (call_expression "dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" identifier (argument_list "(0,"unexpected eof while reading file `%s\', line %d",5)" ( number_literal , (string_literal ""unexpected eof while reading file `%s\', line %d"" " string_content escape_sequence string_content ") , number_literal )))) ;) (goto_statement "goto LAB_00045f53;" goto statement_identifier ;) })) (expression_statement "sVar14 = sVar8;" (assignment_expression "sVar14 = sVar8" identifier = identifier) ;) (if_statement "if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }" if (parenthesized_expression "((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n'))" ( (binary_expression "(*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')" (parenthesized_expression "(*(char **)(iVar3 + 0x78) == param_2)" ( (binary_expression "*(char **)(iVar3 + 0x78) == param_2" (pointer_expression "*(char **)(iVar3 + 0x78)" * (cast_expression "(char **)(iVar3 + 0x78)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) )))) == identifier) )) && (parenthesized_expression "(pcVar16[sVar8 + -1] != '\n')" ( (binary_expression "pcVar16[sVar8 + -1] != '\n'" (subscript_expression "pcVar16[sVar8 + -1]" identifier [ (binary_expression "sVar8 + -1" identifier + number_literal) ]) != (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }" { (expression_statement "sVar14 = sVar8 + 1;" (assignment_expression "sVar14 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar16[sVar8] = '\n';" (assignment_expression "pcVar16[sVar8] = '\n'" (subscript_expression "pcVar16[sVar8]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) })) (expression_statement "iVar4 = sVar14 - (int)DAT_000df3a4;" (assignment_expression "iVar4 = sVar14 - (int)DAT_000df3a4" identifier = (binary_expression "sVar14 - (int)DAT_000df3a4" identifier - (cast_expression "(int)DAT_000df3a4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);" (assignment_expression "pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" identifier = (cast_expression "(char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" identifier (argument_list "(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" ( identifier , number_literal , (cast_expression "(size_t)(pcVar16 + iVar4)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(pcVar16 + iVar4)" ( (binary_expression "pcVar16 + iVar4" identifier + identifier) ))) , identifier ))))) ;) (if_statement "if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;" if (parenthesized_expression "(pcVar16 + iVar4 != pcVar11)" ( (binary_expression "pcVar16 + iVar4 != pcVar11" (binary_expression "pcVar16 + iVar4" identifier + identifier) != identifier) )) (goto_statement "goto LAB_00045f60;" goto statement_identifier ;)) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "local_c4 = param_2;" (assignment_expression "local_c4 = param_2" identifier = identifier) ;) }) while (parenthesized_expression "(param_2 != pcVar6)" ( (binary_expression "param_2 != pcVar6" identifier != identifier) )) ;) })) (expression_statement "iVar4 = DAT_000df39c;" (assignment_expression "iVar4 = DAT_000df39c" identifier = identifier) ;) (if_statement "if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }" if (parenthesized_expression "((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1))" ( (binary_expression "(DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)" (parenthesized_expression "(DAT_000df39c != iVar3)" ( (binary_expression "DAT_000df39c != iVar3" identifier != identifier) )) && (parenthesized_expression "(iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)" ( (comma_expression "iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1" (assignment_expression "iVar4 = iVar3" identifier = identifier) , (binary_expression "*(int *)(DAT_000df39c + 0x88) != -1" (pointer_expression "*(int *)(DAT_000df39c + 0x88)" * (cast_expression "(int *)(DAT_000df39c + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000df39c + 0x88)" ( (binary_expression "DAT_000df39c + 0x88" identifier + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }" { (expression_statement "close(*(int *)(DAT_000df39c + 0x88));" (call_expression "close(*(int *)(DAT_000df39c + 0x88))" identifier (argument_list "(*(int *)(DAT_000df39c + 0x88))" ( (pointer_expression "*(int *)(DAT_000df39c + 0x88)" * (cast_expression "(int *)(DAT_000df39c + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000df39c + 0x88)" ( (binary_expression "DAT_000df39c + 0x88" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;" (assignment_expression "*(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff" (pointer_expression "*(undefined4 *)(DAT_000df39c + 0x88)" * (cast_expression "(undefined4 *)(DAT_000df39c + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000df39c + 0x88)" ( (binary_expression "DAT_000df39c + 0x88" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "DAT_000df39c = iVar4;" (assignment_expression "DAT_000df39c = iVar4" identifier = identifier) ;) (expression_statement "local_c4 = local_c4 + -1;" (assignment_expression "local_c4 = local_c4 + -1" identifier = (binary_expression "local_c4 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar4 = FUN_000727c0(iVar3);" (assignment_expression "iVar4 = FUN_000727c0(iVar3)" identifier = (call_expression "FUN_000727c0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(int *)(iVar3 + 0x88) = iVar4;" (assignment_expression "*(int *)(iVar3 + 0x88) = iVar4" (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (-1 < iVar4) goto LAB_00045dbe;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_00045dbe;" goto statement_identifier ;)) (labeled_statement "LAB_000460e8:\n    piVar12 = __errno_location();" statement_identifier : (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;)) (expression_statement "param_2 = strerror(*piVar12);" (assignment_expression "param_2 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" identifier = (call_expression "dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" identifier (argument_list "(0,"cannot open source file `%s\' for reading: %s",5)" ( number_literal , (string_literal ""cannot open source file `%s\' for reading: %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (labeled_statement "LAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);" statement_identifier : (expression_statement "FUN_00045b60(uVar9,param_1,param_2);" (call_expression "FUN_00045b60(uVar9,param_1,param_2)" identifier (argument_list "(uVar9,param_1,param_2)" ( identifier , identifier , identifier ))) ;)) })) (labeled_statement "LAB_00045f60:\n  local_c4 = (char *)0xffffffff;" statement_identifier : (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000a13a0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000a13a0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_000a13a0();\n  }" { comment (expression_statement "FUN_000a13a0();" (call_expression "FUN_000a13a0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return local_c4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 print_lines(char *src,int start_line,int nlines)\n\n{\n  break_point **ppbVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  SRCFILE *pSVar5;\n  SRCFILE *s;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  ssize_t sVar9;\n  BREAKPOINT *pBVar10;\n  char *pcVar11;\n  int *piVar12;\n  ssize_t sVar13;\n  char *pcVar14;\n  char *pcVar15;\n  int in_GS_OFFSET;\n  __off64_t _Var16;\n  undefined4 uVar17;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  int local_bc;\n  int local_ac;\n  char local_a5;\n  stat sbuf;\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  s = source_find(src);\n  if (s != (SRCFILE *)0x0) {\n    iVar6 = s->fd;\n    if (-1 < iVar6) {\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar6 = srcopen(s);\n    s->fd = iVar6;\n    if (-1 < iVar6) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    start_line = (int)strerror(*piVar12);\n    pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    d_error(pcVar7,src,start_line);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (int)local_c4;\n}\n\n" comment (function_definition "int __regparm3 print_lines(char *src,int start_line,int nlines)\n\n{\n  break_point **ppbVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  SRCFILE *pSVar5;\n  SRCFILE *s;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  ssize_t sVar9;\n  BREAKPOINT *pBVar10;\n  char *pcVar11;\n  int *piVar12;\n  ssize_t sVar13;\n  char *pcVar14;\n  char *pcVar15;\n  int in_GS_OFFSET;\n  __off64_t _Var16;\n  undefined4 uVar17;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  int local_bc;\n  int local_ac;\n  char local_a5;\n  stat sbuf;\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  s = source_find(src);\n  if (s != (SRCFILE *)0x0) {\n    iVar6 = s->fd;\n    if (-1 < iVar6) {\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar6 = srcopen(s);\n    s->fd = iVar6;\n    if (-1 < iVar6) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    start_line = (int)strerror(*piVar12);\n    pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    d_error(pcVar7,src,start_line);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (int)local_c4;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "print_lines(char *src,int start_line,int nlines)" identifier (parameter_list "(char *src,int start_line,int nlines)" ( (parameter_declaration "char *src" primitive_type (pointer_declarator "*src" * identifier)) , (parameter_declaration "int start_line" primitive_type identifier) , (parameter_declaration "int nlines" primitive_type identifier) ))) (compound_statement "{\n  break_point **ppbVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  SRCFILE *pSVar5;\n  SRCFILE *s;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  ssize_t sVar9;\n  BREAKPOINT *pBVar10;\n  char *pcVar11;\n  int *piVar12;\n  ssize_t sVar13;\n  char *pcVar14;\n  char *pcVar15;\n  int in_GS_OFFSET;\n  __off64_t _Var16;\n  undefined4 uVar17;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  int local_bc;\n  int local_ac;\n  char local_a5;\n  stat sbuf;\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  s = source_find(src);\n  if (s != (SRCFILE *)0x0) {\n    iVar6 = s->fd;\n    if (-1 < iVar6) {\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar6 = srcopen(s);\n    s->fd = iVar6;\n    if (-1 < iVar6) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    start_line = (int)strerror(*piVar12);\n    pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    d_error(pcVar7,src,start_line);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (int)local_c4;\n}" { (declaration "break_point **ppbVar1;" type_identifier (pointer_declarator "**ppbVar1" * (pointer_declarator "*ppbVar1" * identifier)) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "SRCFILE *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "SRCFILE *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "ssize_t sVar9;" primitive_type identifier ;) (declaration "BREAKPOINT *pBVar10;" type_identifier (pointer_declarator "*pBVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "__off64_t _Var16;" type_identifier identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "char *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "char local_a5;" primitive_type identifier ;) (declaration "stat sbuf;" type_identifier identifier ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "s = source_find(src);" (assignment_expression "s = source_find(src)" identifier = (call_expression "source_find(src)" identifier (argument_list "(src)" ( identifier )))) ;) (if_statement "if (s != (SRCFILE *)0x0) {\n    iVar6 = s->fd;\n    if (-1 < iVar6) {\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar6 = srcopen(s);\n    s->fd = iVar6;\n    if (-1 < iVar6) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    start_line = (int)strerror(*piVar12);\n    pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    d_error(pcVar7,src,start_line);\n  }" if (parenthesized_expression "(s != (SRCFILE *)0x0)" ( (binary_expression "s != (SRCFILE *)0x0" identifier != (cast_expression "(SRCFILE *)0x0" ( (type_descriptor "SRCFILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = s->fd;\n    if (-1 < iVar6) {\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar6 = srcopen(s);\n    s->fd = iVar6;\n    if (-1 < iVar6) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    start_line = (int)strerror(*piVar12);\n    pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    d_error(pcVar7,src,start_line);\n  }" { (expression_statement "iVar6 = s->fd;" (assignment_expression "iVar6 = s->fd" identifier = (field_expression "s->fd" identifier -> field_identifier)) ;) (if_statement "if (-1 < iVar6) {\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\nLAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);\n      if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }\n      os_setbinmode(iVar6,0);\n      if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }\n      if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      piVar12 = s->line_offset;\n      iVar6 = (local_cc - start_line) + 1;\n      if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }\n      _Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);\n      if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar3 = s->maxlen;\n      if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar7 = (char *)(iVar6 + start_line);\n      local_c4 = (char *)start_line;\n      if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }\n      pSVar5 = cur_srcfile;\n      if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }\n      cur_srcfile = pSVar5;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" { (labeled_statement "LAB_00045dbe:\n      iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);" statement_identifier : (expression_statement "iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf);" (assignment_expression "iVar6 = __fxstat64(3,iVar6,(stat64 *)&sbuf)" identifier = (call_expression "__fxstat64(3,iVar6,(stat64 *)&sbuf)" identifier (argument_list "(3,iVar6,(stat64 *)&sbuf)" ( number_literal , identifier , (cast_expression "(stat64 *)&sbuf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sbuf" & identifier)) )))) ;)) (if_statement "if ((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)) {\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar6 = s->fd;\n      }" if (parenthesized_expression "((iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec))" ( (binary_expression "(iVar6 == 0) && (s->mtime < sbuf.st_mtim.tv_sec)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(s->mtime < sbuf.st_mtim.tv_sec)" ( (binary_expression "s->mtime < sbuf.st_mtim.tv_sec" (field_expression "s->mtime" identifier -> field_identifier) < (field_expression "sbuf.st_mtim.tv_sec" (field_expression "sbuf.st_mtim" identifier . field_identifier) . field_identifier)) ))) )) (compound_statement "{\n        uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(out_fp,1,uVar17,src);\n        free(s->line_offset);\n        s->line_offset = (int *)0x0;\n        s->mtime = sbuf.st_mtim.tv_sec;\n        close(s->fd);\n        s->fd = -1;\n        iVar6 = srcopen(s);\n        s->fd = iVar6;\n        if (iVar6 < 0) goto LAB_000460e8;\n      }" { (expression_statement "uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);" (assignment_expression "uVar17 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" identifier = (call_expression "dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" identifier (argument_list "(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" ( number_literal , (string_literal ""WARNING: source file `%s\' modified since program compilation.\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "__fprintf_chk(out_fp,1,uVar17,src);" (call_expression "__fprintf_chk(out_fp,1,uVar17,src)" identifier (argument_list "(out_fp,1,uVar17,src)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "free(s->line_offset);" (call_expression "free(s->line_offset)" identifier (argument_list "(s->line_offset)" ( (field_expression "s->line_offset" identifier -> field_identifier) ))) ;) (expression_statement "s->line_offset = (int *)0x0;" (assignment_expression "s->line_offset = (int *)0x0" (field_expression "s->line_offset" identifier -> field_identifier) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "s->mtime = sbuf.st_mtim.tv_sec;" (assignment_expression "s->mtime = sbuf.st_mtim.tv_sec" (field_expression "s->mtime" identifier -> field_identifier) = (field_expression "sbuf.st_mtim.tv_sec" (field_expression "sbuf.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "close(s->fd);" (call_expression "close(s->fd)" identifier (argument_list "(s->fd)" ( (field_expression "s->fd" identifier -> field_identifier) ))) ;) (expression_statement "s->fd = -1;" (assignment_expression "s->fd = -1" (field_expression "s->fd" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = srcopen(s);" (assignment_expression "iVar6 = srcopen(s)" identifier = (call_expression "srcopen(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "s->fd = iVar6;" (assignment_expression "s->fd = iVar6" (field_expression "s->fd" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar6 < 0) goto LAB_000460e8;" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000460e8;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar6 = s->fd;\n      }" else (compound_statement "{\n        iVar6 = s->fd;\n      }" { (expression_statement "iVar6 = s->fd;" (assignment_expression "iVar6 = s->fd" identifier = (field_expression "s->fd" identifier -> field_identifier)) ;) }))) (expression_statement "os_setbinmode(iVar6,0);" (call_expression "os_setbinmode(iVar6,0)" identifier (argument_list "(iVar6,0)" ( identifier , number_literal ))) ;) (if_statement "if (s->line_offset == (int *)0x0) {\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }\n      else {\n        local_cc = s->srclines;\n      }" if (parenthesized_expression "(s->line_offset == (int *)0x0)" ( (binary_expression "s->line_offset == (int *)0x0" (field_expression "s->line_offset" identifier -> field_identifier) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sVar8 = s->bufsize;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar7 = (char *)malloc(sVar8);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }\n        local_c0 = s->srclines;\n        sVar8 = local_c0 * 4 + 8;\n        if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar8);\n        if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }\n        s->line_offset = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = 0;\n        while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }\n        free(pcVar7);\n        if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar6 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }\n        local_ac = iVar6;\n        s->maxlen = local_ac;\n        s->srclines = local_cc;\n      }" { (expression_statement "sVar8 = s->bufsize;" (assignment_expression "sVar8 = s->bufsize" identifier = (field_expression "s->bufsize" identifier -> field_identifier)) ;) (if_statement "if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" { (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) comment (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar7 = (char *)malloc(sVar8);" (assignment_expression "pcVar7 = (char *)malloc(sVar8)" identifier = (cast_expression "(char *)malloc(sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar8)" identifier (argument_list "(sVar8)" ( identifier ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);\n        }" { (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) comment (expression_statement "r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7);" (call_expression "r_fatal(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7)" identifier (argument_list "(pcVar14,"debug.c",0x1b2,0xa8438,"buf",sVar8,pcVar7)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , number_literal , (string_literal ""buf"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "local_c0 = s->srclines;" (assignment_expression "local_c0 = s->srclines" identifier = (field_expression "s->srclines" identifier -> field_identifier)) ;) (expression_statement "sVar8 = local_c0 * 4 + 8;" (assignment_expression "sVar8 = local_c0 * 4 + 8" identifier = (binary_expression "local_c0 * 4 + 8" (binary_expression "local_c0 * 4" identifier * number_literal) + number_literal)) ;) (if_statement "if (sVar8 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" { (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) comment (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "piVar12 = (int *)malloc(sVar8);" (assignment_expression "piVar12 = (int *)malloc(sVar8)" identifier = (cast_expression "(int *)malloc(sVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar8)" identifier (argument_list "(sVar8)" ( identifier ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);\n        }" { (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) comment (expression_statement "r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7);" (call_expression "r_fatal(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7)" identifier (argument_list "(pcVar14,"debug.c",0x1b4,0xa8438,0xa8443,sVar8,pcVar7)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , number_literal , number_literal , identifier , identifier ))) ;) })) (expression_statement "s->line_offset = piVar12;" (assignment_expression "s->line_offset = piVar12" (field_expression "s->line_offset" identifier -> field_identifier) = identifier) ;) (expression_statement "local_a5 = '\0';" (assignment_expression "local_a5 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" * identifier) = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (while_statement "while (sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9) {\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }" while (parenthesized_expression "(sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9)" ( (comma_expression "sVar9 = read(s->fd,pcVar7,s->bufsize), 0 < sVar9" (assignment_expression "sVar9 = read(s->fd,pcVar7,s->bufsize)" identifier = (call_expression "read(s->fd,pcVar7,s->bufsize)" identifier (argument_list "(s->fd,pcVar7,s->bufsize)" ( (field_expression "s->fd" identifier -> field_identifier) , identifier , (field_expression "s->bufsize" identifier -> field_identifier) )))) , (binary_expression "0 < sVar9" number_literal < identifier)) )) (compound_statement "{\n          local_a5 = pcVar7[sVar9 + -1];\n          pcVar14 = pcVar7 + sVar9;\n          pcVar11 = pcVar7;\n          if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }\nLAB_0004635c:\n          local_bc = local_bc + sVar9;\n        }" { (expression_statement "local_a5 = pcVar7[sVar9 + -1];" (assignment_expression "local_a5 = pcVar7[sVar9 + -1]" identifier = (subscript_expression "pcVar7[sVar9 + -1]" identifier [ (binary_expression "sVar9 + -1" identifier + number_literal) ])) ;) (expression_statement "pcVar14 = pcVar7 + sVar9;" (assignment_expression "pcVar14 = pcVar7 + sVar9" identifier = (binary_expression "pcVar7 + sVar9" identifier + identifier)) ;) (expression_statement "pcVar11 = pcVar7;" (assignment_expression "pcVar11 = pcVar7" identifier = identifier) ;) (if_statement "if (pcVar7 < pcVar14) {\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }" if (parenthesized_expression "(pcVar7 < pcVar14)" ( (binary_expression "pcVar7 < pcVar14" identifier < identifier) )) (compound_statement "{\n            do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);\n          }" { (do_statement "do {\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            } while (pcVar14 != pcVar15);" do (compound_statement "{\n              while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));\n              iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;\n              if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar15;\n            }" { (while_statement "while (pcVar15 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }" while (parenthesized_expression "(pcVar15 = pcVar11 + 1, *pcVar11 != '\n')" ( (comma_expression "pcVar15 = pcVar11 + 1, *pcVar11 != '\n'" (assignment_expression "pcVar15 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) , (binary_expression "*pcVar11 != '\n'" (pointer_expression "*pcVar11" * identifier) != (char_literal "'\n'" ' escape_sequence '))) )) (compound_statement "{\n                pcVar11 = pcVar15;\n                if (pcVar14 == pcVar15) goto LAB_0004635c;\n              }" { (expression_statement "pcVar11 = pcVar15;" (assignment_expression "pcVar11 = pcVar15" identifier = identifier) ;) (if_statement "if (pcVar14 == pcVar15) goto LAB_0004635c;" if (parenthesized_expression "(pcVar14 == pcVar15)" ( (binary_expression "pcVar14 == pcVar15" identifier == identifier) )) (goto_statement "goto LAB_0004635c;" goto statement_identifier ;)) })) (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (if_statement "if (local_c0 < local_cc) {\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }" if (parenthesized_expression "(local_c0 < local_cc)" ( (binary_expression "local_c0 < local_cc" identifier < identifier) )) (compound_statement "{\n                sVar8 = local_c0 * 8 + 8;\n                if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                piVar12 = (int *)realloc(s->line_offset,sVar8);\n                if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }\n                s->line_offset = piVar12;\n                piVar12 = piVar12 + local_c0;\n                local_c0 = local_c0 * 2;\n              }" { (expression_statement "sVar8 = local_c0 * 8 + 8;" (assignment_expression "sVar8 = local_c0 * 8 + 8" identifier = (binary_expression "local_c0 * 8 + 8" (binary_expression "local_c0 * 8" identifier * number_literal) + number_literal)) ;) (if_statement "if (sVar8 == 0) {\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" { (expression_statement "set_loc("awk.h",0x7e9);" (call_expression "set_loc("awk.h",0x7e9)" identifier (argument_list "("awk.h",0x7e9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) comment (expression_statement "r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);" (call_expression "r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" identifier (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" ( (string_literal ""%s:%d: erealloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "piVar12 = (int *)realloc(s->line_offset,sVar8);" (assignment_expression "piVar12 = (int *)realloc(s->line_offset,sVar8)" identifier = (cast_expression "(int *)realloc(s->line_offset,sVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(s->line_offset,sVar8)" identifier (argument_list "(s->line_offset,sVar8)" ( (field_expression "s->line_offset" identifier -> field_identifier) , identifier ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  set_loc("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar7 = strerror(*piVar12);\n                  pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);\n                    /* WARNING: Subroutine does not return */\n                  r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);\n                }" { (expression_statement "set_loc("awk.h",0x7ed);" (call_expression "set_loc("awk.h",0x7ed)" identifier (argument_list "("awk.h",0x7ed)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5)" identifier (argument_list "(0,\n                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"\n                                              ,5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) comment (expression_statement "r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7);" (call_expression "r_fatal(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7)" identifier (argument_list "(pcVar14,"debug.c",0x1bf,0xa8438,0xa8443,sVar8,pcVar7)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , number_literal , number_literal , identifier , identifier ))) ;) })) (expression_statement "s->line_offset = piVar12;" (assignment_expression "s->line_offset = piVar12" (field_expression "s->line_offset" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar12 = piVar12 + local_c0;" (assignment_expression "piVar12 = piVar12 + local_c0" identifier = (binary_expression "piVar12 + local_c0" identifier + identifier)) ;) (expression_statement "local_c0 = local_c0 * 2;" (assignment_expression "local_c0 = local_c0 * 2" identifier = (binary_expression "local_c0 * 2" identifier * number_literal)) ;) })) (expression_statement "piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7));" (assignment_expression "piVar12[1] = (int)(pcVar15 + (local_bc - (int)pcVar7))" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)(pcVar15 + (local_bc - (int)pcVar7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar15 + (local_bc - (int)pcVar7))" ( (binary_expression "pcVar15 + (local_bc - (int)pcVar7)" identifier + (parenthesized_expression "(local_bc - (int)pcVar7)" ( (binary_expression "local_bc - (int)pcVar7" identifier - (cast_expression "(int)pcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12;" (assignment_expression "iVar6 = (int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12" identifier = (binary_expression "(int)(pcVar15 + (local_bc - (int)pcVar7)) - *piVar12" (cast_expression "(int)(pcVar15 + (local_bc - (int)pcVar7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar15 + (local_bc - (int)pcVar7))" ( (binary_expression "pcVar15 + (local_bc - (int)pcVar7)" identifier + (parenthesized_expression "(local_bc - (int)pcVar7)" ( (binary_expression "local_bc - (int)pcVar7" identifier - (cast_expression "(int)pcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) - (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (local_ac < iVar6) {\n                local_ac = iVar6;\n              }" if (parenthesized_expression "(local_ac < iVar6)" ( (binary_expression "local_ac < iVar6" identifier < identifier) )) (compound_statement "{\n                local_ac = iVar6;\n              }" { (expression_statement "local_ac = iVar6;" (assignment_expression "local_ac = iVar6" identifier = identifier) ;) })) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar11 = pcVar15;" (assignment_expression "pcVar11 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar14 != pcVar15)" ( (binary_expression "pcVar14 != pcVar15" identifier != identifier) )) ;) })) (labeled_statement "LAB_0004635c:\n          local_bc = local_bc + sVar9;" statement_identifier : (expression_statement "local_bc = local_bc + sVar9;" (assignment_expression "local_bc = local_bc + sVar9" identifier = (binary_expression "local_bc + sVar9" identifier + identifier)) ;)) })) (expression_statement "free(pcVar7);" (call_expression "free(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (sVar9 == -1) {\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" if (parenthesized_expression "(sVar9 == -1)" ( (binary_expression "sVar9 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar12 = __errno_location();\n          pcVar14 = strerror(*piVar12);\n          pcVar7 = s->src;\n          pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n          d_error(pcVar11,pcVar7,pcVar14);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar14 = strerror(*piVar12);" (assignment_expression "pcVar14 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar7 = s->src;" (assignment_expression "pcVar7 = s->src" identifier = (field_expression "s->src" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"cannot read source file `%s\': %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" identifier (argument_list "(0,"cannot read source file `%s\': %s",5)" ( number_literal , (string_literal ""cannot read source file `%s\': %s"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "d_error(pcVar11,pcVar7,pcVar14);" (call_expression "d_error(pcVar11,pcVar7,pcVar14)" identifier (argument_list "(pcVar11,pcVar7,pcVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (if_statement "if (local_bc == 0) {\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar7 = s->src;\n          uVar17 = dcgettext(0,0xa8452,5,s);\n          __fprintf_chk(out_fp,1,uVar17,pcVar7);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" { (expression_statement "pcVar7 = s->src;" (assignment_expression "pcVar7 = s->src" identifier = (field_expression "s->src" identifier -> field_identifier)) ;) (expression_statement "uVar17 = dcgettext(0,0xa8452,5,s);" (assignment_expression "uVar17 = dcgettext(0,0xa8452,5,s)" identifier = (call_expression "dcgettext(0,0xa8452,5,s)" identifier (argument_list "(0,0xa8452,5,s)" ( number_literal , number_literal , number_literal , identifier )))) ;) (expression_statement "__fprintf_chk(out_fp,1,uVar17,pcVar7);" (call_expression "__fprintf_chk(out_fp,1,uVar17,pcVar7)" identifier (argument_list "(out_fp,1,uVar17,pcVar7)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar6 = local_ac;" (assignment_expression "iVar6 = local_ac" identifier = identifier) ;) (if_statement "if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }" if (parenthesized_expression "(local_a5 != '\n')" ( (binary_expression "local_a5 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          local_cc = local_cc + 1;\n          piVar12[1] = local_bc + 1;\n          iVar6 = (local_bc + 1) - *piVar12;\n          if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }\n        }" { (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (expression_statement "piVar12[1] = local_bc + 1;" (assignment_expression "piVar12[1] = local_bc + 1" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (binary_expression "local_bc + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = (local_bc + 1) - *piVar12;" (assignment_expression "iVar6 = (local_bc + 1) - *piVar12" identifier = (binary_expression "(local_bc + 1) - *piVar12" (parenthesized_expression "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) )) - (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (iVar6 <= local_ac) {\n            iVar6 = local_ac;\n          }" if (parenthesized_expression "(iVar6 <= local_ac)" ( (binary_expression "iVar6 <= local_ac" identifier <= identifier) )) (compound_statement "{\n            iVar6 = local_ac;\n          }" { (expression_statement "iVar6 = local_ac;" (assignment_expression "iVar6 = local_ac" identifier = identifier) ;) })) })) (expression_statement "local_ac = iVar6;" (assignment_expression "local_ac = iVar6" identifier = identifier) ;) (expression_statement "s->maxlen = local_ac;" (assignment_expression "s->maxlen = local_ac" (field_expression "s->maxlen" identifier -> field_identifier) = identifier) ;) (expression_statement "s->srclines = local_cc;" (assignment_expression "s->srclines = local_cc" (field_expression "s->srclines" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n        local_cc = s->srclines;\n      }" else (compound_statement "{\n        local_cc = s->srclines;\n      }" { (expression_statement "local_cc = s->srclines;" (assignment_expression "local_cc = s->srclines" identifier = (field_expression "s->srclines" identifier -> field_identifier)) ;) }))) (if_statement "if ((start_line < 1) || (local_cc < start_line)) {\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" if (parenthesized_expression "((start_line < 1) || (local_cc < start_line))" ( (binary_expression "(start_line < 1) || (local_cc < start_line)" (parenthesized_expression "(start_line < 1)" ( (binary_expression "start_line < 1" identifier < number_literal) )) || (parenthesized_expression "(local_cc < start_line)" ( (binary_expression "local_cc < start_line" identifier < identifier) ))) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        d_error(pcVar7,start_line,src,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" identifier = (cast_expression "(char *)dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" identifier (argument_list "(0,"line number %d out of range; `%s\' has %d lines",5)" ( number_literal , (string_literal ""line number %d out of range; `%s\' has %d lines"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "d_error(pcVar7,start_line,src,local_cc);" (call_expression "d_error(pcVar7,start_line,src,local_cc)" identifier (argument_list "(pcVar7,start_line,src,local_cc)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "piVar12 = s->line_offset;" (assignment_expression "piVar12 = s->line_offset" identifier = (field_expression "s->line_offset" identifier -> field_identifier)) ;) (expression_statement "iVar6 = (local_cc - start_line) + 1;" (assignment_expression "iVar6 = (local_cc - start_line) + 1" identifier = (binary_expression "(local_cc - start_line) + 1" (parenthesized_expression "(local_cc - start_line)" ( (binary_expression "local_cc - start_line" identifier - identifier) )) + number_literal)) ;) (if_statement "if (start_line + -1 + nlines <= local_cc) {\n        iVar6 = nlines;\n      }" if (parenthesized_expression "(start_line + -1 + nlines <= local_cc)" ( (binary_expression "start_line + -1 + nlines <= local_cc" (binary_expression "start_line + -1 + nlines" (binary_expression "start_line + -1" identifier + number_literal) + identifier) <= identifier) )) (compound_statement "{\n        iVar6 = nlines;\n      }" { (expression_statement "iVar6 = nlines;" (assignment_expression "iVar6 = nlines" identifier = identifier) ;) })) (expression_statement "_Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0);" (assignment_expression "_Var16 = lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0)" identifier = (call_expression "lseek64(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0)" identifier (argument_list "(s->fd,(longlong)piVar12[start_line + 0x3fffffff],0)" ( (field_expression "s->fd" identifier -> field_identifier) , (cast_expression "(longlong)piVar12[start_line + 0x3fffffff]" ( (type_descriptor "longlong" type_identifier) ) (subscript_expression "piVar12[start_line + 0x3fffffff]" identifier [ (binary_expression "start_line + 0x3fffffff" identifier + number_literal) ])) , number_literal )))) ;) (if_statement "if (_Var16 < 0) {\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" if (parenthesized_expression "(_Var16 < 0)" ( (binary_expression "_Var16 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar12 = __errno_location();\n        pcVar7 = strerror(*piVar12);\n        d_error("%s: %s",src,pcVar7);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "d_error("%s: %s",src,pcVar7);" (call_expression "d_error("%s: %s",src,pcVar7)" identifier (argument_list "("%s: %s",src,pcVar7)" ( (string_literal ""%s: %s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "uVar3 = s->maxlen;" (assignment_expression "uVar3 = s->maxlen" identifier = (field_expression "s->maxlen" identifier -> field_identifier)) ;) (if_statement "if (linebuf == (char *)0x0) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }\n      else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" if (parenthesized_expression "(linebuf == (char *)0x0)" ( (binary_expression "linebuf == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        pcVar7 = (char *)malloc(uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }\nLAB_000461dc:\n        linebuf_len = s->maxlen;\n        linebuf = pcVar7;\n      }" { (if_statement "if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" if (parenthesized_expression "(uVar3 + 0x14 == 0)" ( (binary_expression "uVar3 + 0x14 == 0" (binary_expression "uVar3 + 0x14" identifier + number_literal) == number_literal) )) (compound_statement "{\n          set_loc("awk.h",0x7c5);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" { (expression_statement "set_loc("awk.h",0x7c5);" (call_expression "set_loc("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) comment (expression_statement "r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244);" (call_expression "r_fatal("%s:%d: emalloc called with zero bytes","debug.c",0x244)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x244)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar7 = (char *)malloc(uVar3 + 0x14);" (assignment_expression "pcVar7 = (char *)malloc(uVar3 + 0x14)" identifier = (cast_expression "(char *)malloc(uVar3 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(uVar3 + 0x14)" identifier (argument_list "(uVar3 + 0x14)" ( (binary_expression "uVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          set_loc("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar17 = 0x244;\nLAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);\n        }" { (expression_statement "set_loc("awk.h",0x7c9);" (call_expression "set_loc("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "uVar17 = 0x244;" (assignment_expression "uVar17 = 0x244" identifier = number_literal) ;) (labeled_statement "LAB_0004669c:\n                    /* WARNING: Subroutine does not return */\n          r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);" statement_identifier : comment (expression_statement "r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7);" (call_expression "r_fatal(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7)" identifier (argument_list "(pcVar14,"debug.c",uVar17,0xa847d,0xa8475,uVar3 + 0x14,pcVar7)" ( identifier , (string_literal ""debug.c"" " string_content ") , identifier , number_literal , number_literal , (binary_expression "uVar3 + 0x14" identifier + number_literal) , identifier ))) ;)) })) (labeled_statement "LAB_000461dc:\n        linebuf_len = s->maxlen;" statement_identifier : (expression_statement "linebuf_len = s->maxlen;" (assignment_expression "linebuf_len = s->maxlen" identifier = (field_expression "s->maxlen" identifier -> field_identifier)) ;)) (expression_statement "linebuf = pcVar7;" (assignment_expression "linebuf = pcVar7" identifier = identifier) ;) }) (else_clause "else if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" else (if_statement "if (linebuf_len < uVar3) {\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" if (parenthesized_expression "(linebuf_len < uVar3)" ( (binary_expression "linebuf_len < uVar3" identifier < identifier) )) (compound_statement "{\n        if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);\n        if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" { (if_statement "if (uVar3 + 0x14 == 0) {\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" if (parenthesized_expression "(uVar3 + 0x14 == 0)" ( (binary_expression "uVar3 + 0x14 == 0" (binary_expression "uVar3 + 0x14" identifier + number_literal) == number_literal) )) (compound_statement "{\n          set_loc("awk.h",0x7e9);\n                    /* WARNING: Subroutine does not return */\n          r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" { (expression_statement "set_loc("awk.h",0x7e9);" (call_expression "set_loc("awk.h",0x7e9)" identifier (argument_list "("awk.h",0x7e9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) comment (expression_statement "r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247);" (call_expression "r_fatal("%s:%d: erealloc called with zero bytes","debug.c",0x247)" identifier (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x247)" ( (string_literal ""%s:%d: erealloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14);" (assignment_expression "pcVar7 = (char *)realloc(linebuf,uVar3 + 0x14)" identifier = (cast_expression "(char *)realloc(linebuf,uVar3 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(linebuf,uVar3 + 0x14)" identifier (argument_list "(linebuf,uVar3 + 0x14)" ( identifier , (binary_expression "uVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          set_loc("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar7 = strerror(*piVar12);\n          pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;\n          uVar17 = 0x247;\n          goto LAB_0004669c;\n        }" { (expression_statement "set_loc("awk.h",0x7ed);" (call_expression "set_loc("awk.h",0x7ed)" identifier (argument_list "("awk.h",0x7ed)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)\n          ;" (assignment_expression "pcVar14 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "uVar17 = 0x247;" (assignment_expression "uVar17 = 0x247" identifier = number_literal) ;) (goto_statement "goto LAB_0004669c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000461dc;" goto statement_identifier ;) })))) (expression_statement "pcVar7 = (char *)(iVar6 + start_line);" (assignment_expression "pcVar7 = (char *)(iVar6 + start_line)" identifier = (cast_expression "(char *)(iVar6 + start_line)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + start_line)" ( (binary_expression "iVar6 + start_line" identifier + identifier) )))) ;) (expression_statement "local_c4 = (char *)start_line;" (assignment_expression "local_c4 = (char *)start_line" identifier = (cast_expression "(char *)start_line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (start_line < (int)pcVar7) {\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }" if (parenthesized_expression "(start_line < (int)pcVar7)" ( (binary_expression "start_line < (int)pcVar7" identifier < (cast_expression "(int)pcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        piVar12 = piVar12 + start_line + 0x40000000;\n        do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);\n      }" { (expression_statement "piVar12 = piVar12 + start_line + 0x40000000;" (assignment_expression "piVar12 = piVar12 + start_line + 0x40000000" identifier = (binary_expression "piVar12 + start_line + 0x40000000" (binary_expression "piVar12 + start_line" identifier + identifier) + number_literal)) ;) (do_statement "do {\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        } while ((char *)start_line != pcVar7);" do (compound_statement "{\n          __sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);\n          if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }\n          pcVar14 = linebuf;\n          sVar8 = strlen(linebuf);\n          pcVar14 = pcVar14 + sVar8;\n          sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);\n          if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar13 = sVar9;\n          if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }\n          iVar4 = sVar13 - (int)linebuf;\n          pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);\n          if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;\n          start_line = start_line + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = (char *)start_line;\n        }" { (expression_statement "__sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line);" (call_expression "__sprintf_chk(linebuf,1,0xffffffff,0xa8489,start_line)" identifier (argument_list "(linebuf,1,0xffffffff,0xa8489,start_line)" ( identifier , number_literal , number_literal , number_literal , identifier ))) ;) (if_statement "if (1 < iVar6) {\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }" if (parenthesized_expression "(1 < iVar6)" ( (binary_expression "1 < iVar6" number_literal < identifier) )) (compound_statement "{\n            pBVar10 = breakpoints.prev;\n            if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }\n            if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }\n          }" { (expression_statement "pBVar10 = breakpoints.prev;" (assignment_expression "pBVar10 = breakpoints.prev" identifier = (field_expression "breakpoints.prev" identifier . field_identifier)) ;) (if_statement "if (breakpoints.prev != &breakpoints) {\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }" if (parenthesized_expression "(breakpoints.prev != &breakpoints)" ( (binary_expression "breakpoints.prev != &breakpoints" (field_expression "breakpoints.prev" identifier . field_identifier) != (pointer_expression "&breakpoints" & identifier)) )) (compound_statement "{\n              do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);\n            }" { (do_statement "do {\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              } while (*ppbVar1 != &breakpoints);" do (compound_statement "{\n                if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppbVar1 = &pBVar10->prev;\n                pBVar10 = *ppbVar1;\n              }" { (if_statement "if ((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)) {\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }" if (parenthesized_expression "((pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line))" ( (binary_expression "(pBVar10->src == src) &&\n                   ((char *)(int)pBVar10->bpi->source_line == (char *)start_line)" (parenthesized_expression "(pBVar10->src == src)" ( (binary_expression "pBVar10->src == src" (field_expression "pBVar10->src" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "((char *)(int)pBVar10->bpi->source_line == (char *)start_line)" ( (binary_expression "(char *)(int)pBVar10->bpi->source_line == (char *)start_line" (cast_expression "(char *)(int)pBVar10->bpi->source_line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pBVar10->bpi->source_line" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar10->bpi->source_line" (field_expression "pBVar10->bpi" identifier -> field_identifier) -> field_identifier))) == (cast_expression "(char *)start_line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\n                  if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }\n                  goto LAB_00045ff4;\n                }" { (if_statement "if ((prog_running == false) || ((src != source || (start_line != sourceline)))) {\n                    uVar17 = 0xa84a0;\n                  }\n                  else {\n                    uVar17 = 0xa848e;\n                  }" if (parenthesized_expression "((prog_running == false) || ((src != source || (start_line != sourceline))))" ( (binary_expression "(prog_running == false) || ((src != source || (start_line != sourceline)))" (parenthesized_expression "(prog_running == false)" ( (binary_expression "prog_running == false" identifier == false) )) || (parenthesized_expression "((src != source || (start_line != sourceline)))" ( (parenthesized_expression "(src != source || (start_line != sourceline))" ( (binary_expression "src != source || (start_line != sourceline)" (binary_expression "src != source" identifier != identifier) || (parenthesized_expression "(start_line != sourceline)" ( (binary_expression "start_line != sourceline" identifier != identifier) ))) )) ))) )) (compound_statement "{\n                    uVar17 = 0xa84a0;\n                  }" { (expression_statement "uVar17 = 0xa84a0;" (assignment_expression "uVar17 = 0xa84a0" identifier = number_literal) ;) }) (else_clause "else {\n                    uVar17 = 0xa848e;\n                  }" else (compound_statement "{\n                    uVar17 = 0xa848e;\n                  }" { (expression_statement "uVar17 = 0xa848e;" (assignment_expression "uVar17 = 0xa848e" identifier = number_literal) ;) }))) (goto_statement "goto LAB_00045ff4;" goto statement_identifier ;) })) (expression_statement "ppbVar1 = &pBVar10->prev;" (assignment_expression "ppbVar1 = &pBVar10->prev" identifier = (pointer_expression "&pBVar10->prev" & (field_expression "pBVar10->prev" identifier -> field_identifier))) ;) (expression_statement "pBVar10 = *ppbVar1;" (assignment_expression "pBVar10 = *ppbVar1" identifier = (pointer_expression "*ppbVar1" * identifier)) ;) }) while (parenthesized_expression "(*ppbVar1 != &breakpoints)" ( (binary_expression "*ppbVar1 != &breakpoints" (pointer_expression "*ppbVar1" * identifier) != (pointer_expression "&breakpoints" & identifier)) )) ;) })) (if_statement "if (((prog_running != false) && (src == source)) && (sourceline == start_line)) {\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }" if (parenthesized_expression "(((prog_running != false) && (src == source)) && (sourceline == start_line))" ( (binary_expression "((prog_running != false) && (src == source)) && (sourceline == start_line)" (parenthesized_expression "((prog_running != false) && (src == source))" ( (binary_expression "(prog_running != false) && (src == source)" (parenthesized_expression "(prog_running != false)" ( (binary_expression "prog_running != false" identifier != false) )) && (parenthesized_expression "(src == source)" ( (binary_expression "src == source" identifier == identifier) ))) )) && (parenthesized_expression "(sourceline == start_line)" ( (binary_expression "sourceline == start_line" identifier == identifier) ))) )) (compound_statement "{\n              uVar17 = 0xa8497;\nLAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);\n            }" { (expression_statement "uVar17 = 0xa8497;" (assignment_expression "uVar17 = 0xa8497" identifier = number_literal) ;) (labeled_statement "LAB_00045ff4:\n              __sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);" statement_identifier : (expression_statement "__sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line);" (call_expression "__sprintf_chk(linebuf,1,0xffffffff,uVar17,start_line)" identifier (argument_list "(linebuf,1,0xffffffff,uVar17,start_line)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;)) })) })) (expression_statement "pcVar14 = linebuf;" (assignment_expression "pcVar14 = linebuf" identifier = identifier) ;) (expression_statement "sVar8 = strlen(linebuf);" (assignment_expression "sVar8 = strlen(linebuf)" identifier = (call_expression "strlen(linebuf)" identifier (argument_list "(linebuf)" ( identifier )))) ;) (expression_statement "pcVar14 = pcVar14 + sVar8;" (assignment_expression "pcVar14 = pcVar14 + sVar8" identifier = (binary_expression "pcVar14 + sVar8" identifier + identifier)) ;) (expression_statement "sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1]);" (assignment_expression "sVar9 = read(s->fd,pcVar14,*piVar12 - piVar12[-1])" identifier = (call_expression "read(s->fd,pcVar14,*piVar12 - piVar12[-1])" identifier (argument_list "(s->fd,pcVar14,*piVar12 - piVar12[-1])" ( (field_expression "s->fd" identifier -> field_identifier) , identifier , (binary_expression "*piVar12 - piVar12[-1]" (pointer_expression "*piVar12" * identifier) - (subscript_expression "piVar12[-1]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar9 == -1) {\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" if (parenthesized_expression "(sVar9 == -1)" ( (binary_expression "sVar9 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar12 = __errno_location();\n            pcVar7 = strerror(*piVar12);\n            pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);\n            d_error(pcVar14,src,pcVar7);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar7 = strerror(*piVar12);" (assignment_expression "pcVar7 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"cannot read source file `%s\': %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"cannot read source file `%s\': %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" identifier (argument_list "(0,"cannot read source file `%s\': %s",5)" ( number_literal , (string_literal ""cannot read source file `%s\': %s"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "d_error(pcVar14,src,pcVar7);" (call_expression "d_error(pcVar14,src,pcVar7)" identifier (argument_list "(pcVar14,src,pcVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (if_statement "if (sVar9 == 0) {\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" if (parenthesized_expression "(sVar9 == 0)" ( (binary_expression "sVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" identifier (argument_list "(0,"unexpected eof while reading file `%s\', line %d",5)" ( number_literal , (string_literal ""unexpected eof while reading file `%s\', line %d"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (goto_statement "goto LAB_00045f53;" goto statement_identifier ;) })) (expression_statement "sVar13 = sVar9;" (assignment_expression "sVar13 = sVar9" identifier = identifier) ;) (if_statement "if (((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')) {\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }" if (parenthesized_expression "(((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n'))" ( (binary_expression "((char *)s->srclines == (char *)start_line) && (pcVar14[sVar9 + -1] != '\n')" (parenthesized_expression "((char *)s->srclines == (char *)start_line)" ( (binary_expression "(char *)s->srclines == (char *)start_line" (cast_expression "(char *)s->srclines" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "s->srclines" identifier -> field_identifier)) == (cast_expression "(char *)start_line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(pcVar14[sVar9 + -1] != '\n')" ( (binary_expression "pcVar14[sVar9 + -1] != '\n'" (subscript_expression "pcVar14[sVar9 + -1]" identifier [ (binary_expression "sVar9 + -1" identifier + number_literal) ]) != (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n            sVar13 = sVar9 + 1;\n            pcVar14[sVar9] = '\n';\n          }" { (expression_statement "sVar13 = sVar9 + 1;" (assignment_expression "sVar13 = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;) (expression_statement "pcVar14[sVar9] = '\n';" (assignment_expression "pcVar14[sVar9] = '\n'" (subscript_expression "pcVar14[sVar9]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) })) (expression_statement "iVar4 = sVar13 - (int)linebuf;" (assignment_expression "iVar4 = sVar13 - (int)linebuf" identifier = (binary_expression "sVar13 - (int)linebuf" identifier - (cast_expression "(int)linebuf" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp);" (assignment_expression "pcVar11 = (char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp)" identifier = (cast_expression "(char *)fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "fwrite_unlocked(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp)" identifier (argument_list "(linebuf,1,(size_t)(pcVar14 + iVar4),(FILE *)out_fp)" ( identifier , number_literal , (cast_expression "(size_t)(pcVar14 + iVar4)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(pcVar14 + iVar4)" ( (binary_expression "pcVar14 + iVar4" identifier + identifier) ))) , (cast_expression "(FILE *)out_fp" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (if_statement "if (pcVar14 + iVar4 != pcVar11) goto LAB_00045f60;" if (parenthesized_expression "(pcVar14 + iVar4 != pcVar11)" ( (binary_expression "pcVar14 + iVar4 != pcVar11" (binary_expression "pcVar14 + iVar4" identifier + identifier) != identifier) )) (goto_statement "goto LAB_00045f60;" goto statement_identifier ;)) (expression_statement "start_line = start_line + 1;" (assignment_expression "start_line = start_line + 1" identifier = (binary_expression "start_line + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "local_c4 = (char *)start_line;" (assignment_expression "local_c4 = (char *)start_line" identifier = (cast_expression "(char *)start_line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "((char *)start_line != pcVar7)" ( (binary_expression "(char *)start_line != pcVar7" (cast_expression "(char *)start_line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) })) (expression_statement "pSVar5 = cur_srcfile;" (assignment_expression "pSVar5 = cur_srcfile" identifier = identifier) ;) (if_statement "if ((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)) {\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }" if (parenthesized_expression "((cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1))" ( (binary_expression "(cur_srcfile != s) && (pSVar5 = s, cur_srcfile->fd != -1)" (parenthesized_expression "(cur_srcfile != s)" ( (binary_expression "cur_srcfile != s" identifier != identifier) )) && (parenthesized_expression "(pSVar5 = s, cur_srcfile->fd != -1)" ( (comma_expression "pSVar5 = s, cur_srcfile->fd != -1" (assignment_expression "pSVar5 = s" identifier = identifier) , (binary_expression "cur_srcfile->fd != -1" (field_expression "cur_srcfile->fd" identifier -> field_identifier) != number_literal)) ))) )) (compound_statement "{\n        close(cur_srcfile->fd);\n        cur_srcfile->fd = -1;\n      }" { (expression_statement "close(cur_srcfile->fd);" (call_expression "close(cur_srcfile->fd)" identifier (argument_list "(cur_srcfile->fd)" ( (field_expression "cur_srcfile->fd" identifier -> field_identifier) ))) ;) (expression_statement "cur_srcfile->fd = -1;" (assignment_expression "cur_srcfile->fd = -1" (field_expression "cur_srcfile->fd" identifier -> field_identifier) = number_literal) ;) })) (expression_statement "cur_srcfile = pSVar5;" (assignment_expression "cur_srcfile = pSVar5" identifier = identifier) ;) (expression_statement "local_c4 = local_c4 + -1;" (assignment_expression "local_c4 = local_c4 + -1" identifier = (binary_expression "local_c4 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar6 = srcopen(s);" (assignment_expression "iVar6 = srcopen(s)" identifier = (call_expression "srcopen(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "s->fd = iVar6;" (assignment_expression "s->fd = iVar6" (field_expression "s->fd" identifier -> field_identifier) = identifier) ;) (if_statement "if (-1 < iVar6) goto LAB_00045dbe;" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (goto_statement "goto LAB_00045dbe;" goto statement_identifier ;)) (labeled_statement "LAB_000460e8:\n    piVar12 = __errno_location();" statement_identifier : (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;)) (expression_statement "start_line = (int)strerror(*piVar12);" (assignment_expression "start_line = (int)strerror(*piVar12)" identifier = (cast_expression "(int)strerror(*piVar12)" ( (type_descriptor "int" primitive_type) ) (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) ))))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" identifier (argument_list "(0,"cannot open source file `%s\' for reading: %s",5)" ( number_literal , (string_literal ""cannot open source file `%s\' for reading: %s"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (labeled_statement "LAB_00045f53:\n    d_error(pcVar7,src,start_line);" statement_identifier : (expression_statement "d_error(pcVar7,src,start_line);" (call_expression "d_error(pcVar7,src,start_line)" identifier (argument_list "(pcVar7,src,start_line)" ( identifier , identifier , identifier ))) ;)) })) (labeled_statement "LAB_00045f60:\n  local_c4 = (char *)0xffffffff;" statement_identifier : (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00045f65:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar2 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return (int)local_c4;" return (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) ;) })))
(translation_unit "char * __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)\n\n{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }\n  return local_c4;\n}\n\n" (function_definition "char * __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)\n\n{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }\n  return local_c4;\n}" primitive_type (pointer_declarator "* __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_00045d70(undefined *param_1,char *param_2,int param_3)" identifier (parameter_list "(undefined *param_1,char *param_2,int param_3)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) )))) (compound_statement "{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }\n  return local_c4;\n}" { (declaration "undefined **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "ssize_t sVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined **ppuVar10;" type_identifier (pointer_declarator "**ppuVar10" * (pointer_declarator "*ppuVar10" * identifier)) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "void *pvVar13;" primitive_type (pointer_declarator "*pvVar13" * identifier) ;) (declaration "ssize_t sVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "__off64_t _Var18;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "char *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "char *local_bc;" primitive_type (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "char local_a5;" primitive_type identifier ;) (declaration "stat64 local_80;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x45d79;" (assignment_expression "uStack_14 = 0x45d79" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = FUN_00045bc0();" (assignment_expression "iVar3 = FUN_00045bc0()" identifier = (call_expression "FUN_00045bc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }" { (expression_statement "iVar4 = *(int *)(iVar3 + 0x88);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x88)" identifier = (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" { (labeled_statement "LAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);" statement_identifier : (expression_statement "iVar4 = __fxstat64(3,iVar4,&local_80);" (assignment_expression "iVar4 = __fxstat64(3,iVar4,&local_80)" identifier = (call_expression "__fxstat64(3,iVar4,&local_80)" identifier (argument_list "(3,iVar4,&local_80)" ( number_literal , identifier , (pointer_expression "&local_80" & identifier) )))) ;)) (if_statement "if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" if (parenthesized_expression "((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec))" ( (binary_expression "(iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)" ( (binary_expression "*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) < (field_expression "local_80.st_mtim.tv_sec" (field_expression "local_80.st_mtim" identifier . field_identifier) . field_identifier)) ))) )) (compound_statement "{\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }" { (expression_statement "uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);" (assignment_expression "uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" identifier = (call_expression "dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" identifier (argument_list "(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" ( number_literal , (string_literal ""WARNING: source file `%s\' modified since program compilation.\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "__fprintf_chk(DAT_000e2980,1,uVar9,param_1);" (call_expression "__fprintf_chk(DAT_000e2980,1,uVar9,param_1)" identifier (argument_list "(DAT_000e2980,1,uVar9,param_1)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "free(*(void **)(iVar3 + 0x84));" (call_expression "free(*(void **)(iVar3 + 0x84))" identifier (argument_list "(*(void **)(iVar3 + 0x84))" ( (pointer_expression "*(void **)(iVar3 + 0x84)" * (cast_expression "(void **)(iVar3 + 0x84)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x84) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x84) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x84)" * (cast_expression "(undefined4 *)(iVar3 + 0x84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;" (assignment_expression "*(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec" (pointer_expression "*(__time_t *)(iVar3 + 0x14)" * (cast_expression "(__time_t *)(iVar3 + 0x14)" ( (type_descriptor "__time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = (field_expression "local_80.st_mtim.tv_sec" (field_expression "local_80.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "close(*(int *)(iVar3 + 0x88));" (call_expression "close(*(int *)(iVar3 + 0x88))" identifier (argument_list "(*(int *)(iVar3 + 0x88))" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x88) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar3 + 0x88) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar3 + 0x88)" * (cast_expression "(undefined4 *)(iVar3 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000727c0(iVar3);" (assignment_expression "iVar4 = FUN_000727c0(iVar3)" identifier = (call_expression "FUN_000727c0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(int *)(iVar3 + 0x88) = iVar4;" (assignment_expression "*(int *)(iVar3 + 0x88) = iVar4" (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 < 0) goto LAB_000460e8;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000460e8;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" else (compound_statement "{\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" { (expression_statement "iVar4 = *(int *)(iVar3 + 0x88);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x88)" identifier = (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) ))))) ;) }))) (expression_statement "FUN_00067400(iVar4,0);" (call_expression "FUN_00067400(iVar4,0)" identifier (argument_list "(iVar4,0)" ( identifier , number_literal ))) ;) (if_statement "if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0x84) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x84) == 0" (pointer_expression "*(int *)(iVar3 + 0x84)" * (cast_expression "(int *)(iVar3 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }" { (expression_statement "sVar7 = *(size_t *)(iVar3 + 0x7c);" (assignment_expression "sVar7 = *(size_t *)(iVar3 + 0x7c)" identifier = (pointer_expression "*(size_t *)(iVar3 + 0x7c)" * (cast_expression "(size_t *)(iVar3 + 0x7c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x7c)" ( (binary_expression "iVar3 + 0x7c" identifier + number_literal) ))))) ;) (if_statement "if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar6 = (char *)malloc(sVar7);" (assignment_expression "pcVar6 = (char *)malloc(sVar7)" identifier = (cast_expression "(char *)malloc(sVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar7)" identifier (argument_list "(sVar7)" ( identifier ))))) ;) (if_statement "if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar16 = strerror(*piVar12);" (assignment_expression "pcVar16 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16)" identifier (argument_list "(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , (string_literal ""find_lines"" " string_content ") , (string_literal ""buf"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "local_c0 = *(int *)(iVar3 + 0x78);" (assignment_expression "local_c0 = *(int *)(iVar3 + 0x78)" identifier = (pointer_expression "*(int *)(iVar3 + 0x78)" * (cast_expression "(int *)(iVar3 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "sVar7 = local_c0 * 4 + 8;" (assignment_expression "sVar7 = local_c0 * 4 + 8" identifier = (binary_expression "local_c0 * 4 + 8" (binary_expression "local_c0 * 4" identifier * number_literal) + number_literal)) ;) (if_statement "if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "piVar12 = (int *)malloc(sVar7);" (assignment_expression "piVar12 = (int *)malloc(sVar7)" identifier = (cast_expression "(int *)malloc(sVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar7)" identifier (argument_list "(sVar7)" ( identifier ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar16 = strerror(*piVar15);" (assignment_expression "pcVar16 = strerror(*piVar15)" identifier = (call_expression "strerror(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16)" identifier (argument_list "(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , (string_literal ""find_lines"" " string_content ") , (string_literal ""s->line_offset"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "*(int **)(iVar3 + 0x84) = piVar12;" (assignment_expression "*(int **)(iVar3 + 0x84) = piVar12" (pointer_expression "*(int **)(iVar3 + 0x84)" * (cast_expression "(int **)(iVar3 + 0x84)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_a5 = '\0';" (assignment_expression "local_a5 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" * identifier) = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_bc = (char *)0x0;" (assignment_expression "local_bc = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }" while (parenthesized_expression "(sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8)" ( (comma_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8" (assignment_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" identifier = (call_expression "read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" identifier (argument_list "(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) , identifier , (pointer_expression "*(size_t *)(iVar3 + 0x7c)" * (cast_expression "(size_t *)(iVar3 + 0x7c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x7c)" ( (binary_expression "iVar3 + 0x7c" identifier + number_literal) )))) )))) , (binary_expression "0 < sVar8" number_literal < identifier)) )) (compound_statement "{\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }" { (expression_statement "local_a5 = pcVar6[sVar8 + -1];" (assignment_expression "local_a5 = pcVar6[sVar8 + -1]" identifier = (subscript_expression "pcVar6[sVar8 + -1]" identifier [ (binary_expression "sVar8 + -1" identifier + number_literal) ])) ;) (expression_statement "pcVar16 = pcVar6 + sVar8;" (assignment_expression "pcVar16 = pcVar6 + sVar8" identifier = (binary_expression "pcVar6 + sVar8" identifier + identifier)) ;) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" identifier = identifier) ;) (if_statement "if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }" if (parenthesized_expression "(pcVar6 < pcVar16)" ( (binary_expression "pcVar6 < pcVar16" identifier < identifier) )) (compound_statement "{\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }" { (do_statement "do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);" do (compound_statement "{\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            }" { (while_statement "while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }" while (parenthesized_expression "(pcVar17 = pcVar11 + 1, *pcVar11 != '\n')" ( (comma_expression "pcVar17 = pcVar11 + 1, *pcVar11 != '\n'" (assignment_expression "pcVar17 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) , (binary_expression "*pcVar11 != '\n'" (pointer_expression "*pcVar11" * identifier) != (char_literal "'\n'" ' escape_sequence '))) )) (compound_statement "{\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }" { (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" identifier = identifier) ;) (if_statement "if (pcVar16 == pcVar17) goto LAB_0004635c;" if (parenthesized_expression "(pcVar16 == pcVar17)" ( (binary_expression "pcVar16 == pcVar17" identifier == identifier) )) (goto_statement "goto LAB_0004635c;" goto statement_identifier ;)) })) (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (if_statement "if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }" if (parenthesized_expression "(local_c0 < local_cc)" ( (binary_expression "local_c0 < local_cc" identifier < identifier) )) (compound_statement "{\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }" { (expression_statement "sVar7 = local_c0 * 8 + 8;" (assignment_expression "sVar7 = local_c0 * 8 + 8" identifier = (binary_expression "local_c0 * 8 + 8" (binary_expression "local_c0 * 8" identifier * number_literal) + number_literal)) ;) (expression_statement "pvVar13 = *(void **)(iVar3 + 0x84);" (assignment_expression "pvVar13 = *(void **)(iVar3 + 0x84)" identifier = (pointer_expression "*(void **)(iVar3 + 0x84)" * (cast_expression "(void **)(iVar3 + 0x84)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" { (expression_statement "FUN_00074330("awk.h",0x7e9);" (call_expression "FUN_00074330("awk.h",0x7e9)" identifier (argument_list "("awk.h",0x7e9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);" (call_expression "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" identifier (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" ( (string_literal ""%s:%d: erealloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "pvVar13 = realloc(pvVar13,sVar7);" (assignment_expression "pvVar13 = realloc(pvVar13,sVar7)" identifier = (call_expression "realloc(pvVar13,sVar7)" identifier (argument_list "(pvVar13,sVar7)" ( identifier , identifier )))) ;) (if_statement "if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }" if (parenthesized_expression "(pvVar13 == (void *)0x0)" ( (binary_expression "pvVar13 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }" { (expression_statement "FUN_00074330("awk.h",0x7ed);" (call_expression "FUN_00074330("awk.h",0x7ed)" identifier (argument_list "("awk.h",0x7ed)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = strerror(*piVar12);" (assignment_expression "pcVar11 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11)" identifier (argument_list "(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11)" ( identifier , (string_literal ""debug.c"" " string_content ") , number_literal , (string_literal ""find_lines"" " string_content ") , (string_literal ""s->line_offset"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "*(void **)(iVar3 + 0x84) = pvVar13;" (assignment_expression "*(void **)(iVar3 + 0x84) = pvVar13" (pointer_expression "*(void **)(iVar3 + 0x84)" * (cast_expression "(void **)(iVar3 + 0x84)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar12 = (int *)((int)pvVar13 + local_c0 * 4);" (assignment_expression "piVar12 = (int *)((int)pvVar13 + local_c0 * 4)" identifier = (cast_expression "(int *)((int)pvVar13 + local_c0 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + local_c0 * 4)" ( (binary_expression "(int)pvVar13 + local_c0 * 4" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_c0 * 4" identifier * number_literal)) )))) ;) (expression_statement "local_c0 = local_c0 * 2;" (assignment_expression "local_c0 = local_c0 * 2" identifier = (binary_expression "local_c0 * 2" identifier * number_literal)) ;) })) (expression_statement "piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));" (assignment_expression "piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6))" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (binary_expression "pcVar17 + ((int)local_bc - (int)pcVar6)" identifier + (parenthesized_expression "((int)local_bc - (int)pcVar6)" ( (binary_expression "(int)local_bc - (int)pcVar6" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;" (assignment_expression "iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12" identifier = (binary_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12" (cast_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar17 + ((int)local_bc - (int)pcVar6))" ( (binary_expression "pcVar17 + ((int)local_bc - (int)pcVar6)" identifier + (parenthesized_expression "((int)local_bc - (int)pcVar6)" ( (binary_expression "(int)local_bc - (int)pcVar6" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) - (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }" if (parenthesized_expression "(local_ac < iVar4)" ( (binary_expression "local_ac < iVar4" identifier < identifier) )) (compound_statement "{\n                local_ac = iVar4;\n              }" { (expression_statement "local_ac = iVar4;" (assignment_expression "local_ac = iVar4" identifier = identifier) ;) })) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar16 != pcVar17)" ( (binary_expression "pcVar16 != pcVar17" identifier != identifier) )) ;) })) (labeled_statement "LAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);" statement_identifier : (expression_statement "local_bc = (char *)((int)local_bc + sVar8);" (assignment_expression "local_bc = (char *)((int)local_bc + sVar8)" identifier = (cast_expression "(char *)((int)local_bc + sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + sVar8)" ( (binary_expression "(int)local_bc + sVar8" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;)) })) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (if_statement "if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" if (parenthesized_expression "(sVar8 == -1)" ( (binary_expression "sVar8 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = *(undefined4 *)(iVar3 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(iVar3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5)" identifier = (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" identifier (argument_list "(0,"cannot read source file `%s\': %s",5)" ( number_literal , (string_literal ""cannot read source file `%s\': %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00045b60(uVar19,uVar9,pcVar6);" (call_expression "FUN_00045b60(uVar19,uVar9,pcVar6)" identifier (argument_list "(uVar19,uVar9,pcVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (if_statement "if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" if (parenthesized_expression "(local_bc == (char *)0x0)" ( (binary_expression "local_bc == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" { (expression_statement "uVar9 = *(undefined4 *)(iVar3 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(iVar3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);" (assignment_expression "uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3)" identifier = (call_expression "dcgettext(0,"source file `%s\' is empty.\n",5,iVar3)" identifier (argument_list "(0,"source file `%s\' is empty.\n",5,iVar3)" ( number_literal , (string_literal ""source file `%s\' is empty.\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "__fprintf_chk(DAT_000e2980,1,uVar19,uVar9);" (call_expression "__fprintf_chk(DAT_000e2980,1,uVar19,uVar9)" identifier (argument_list "(DAT_000e2980,1,uVar19,uVar9)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar4 = local_ac;" (assignment_expression "iVar4 = local_ac" identifier = identifier) ;) (if_statement "if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }" if (parenthesized_expression "(local_a5 != '\n')" ( (binary_expression "local_a5 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }" { (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (expression_statement "piVar12[1] = (int)local_bc + 1;" (assignment_expression "piVar12[1] = (int)local_bc + 1" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (binary_expression "(int)local_bc + 1" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "iVar4 = ((int)local_bc + 1) - *piVar12;" (assignment_expression "iVar4 = ((int)local_bc + 1) - *piVar12" identifier = (binary_expression "((int)local_bc + 1) - *piVar12" (parenthesized_expression "((int)local_bc + 1)" ( (binary_expression "(int)local_bc + 1" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }" if (parenthesized_expression "(iVar4 <= local_ac)" ( (binary_expression "iVar4 <= local_ac" identifier <= identifier) )) (compound_statement "{\n            iVar4 = local_ac;\n          }" { (expression_statement "iVar4 = local_ac;" (assignment_expression "iVar4 = local_ac" identifier = identifier) ;) })) })) (expression_statement "local_ac = iVar4;" (assignment_expression "local_ac = iVar4" identifier = identifier) ;) (expression_statement "*(int *)(iVar3 + 0x8c) = local_ac;" (assignment_expression "*(int *)(iVar3 + 0x8c) = local_ac" (pointer_expression "*(int *)(iVar3 + 0x8c)" * (cast_expression "(int *)(iVar3 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x8c)" ( (binary_expression "iVar3 + 0x8c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar3 + 0x78) = local_cc;" (assignment_expression "*(int *)(iVar3 + 0x78) = local_cc" (pointer_expression "*(int *)(iVar3 + 0x78)" * (cast_expression "(int *)(iVar3 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" else (compound_statement "{\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" { (expression_statement "local_cc = *(int *)(iVar3 + 0x78);" (assignment_expression "local_cc = *(int *)(iVar3 + 0x78)" identifier = (pointer_expression "*(int *)(iVar3 + 0x78)" * (cast_expression "(int *)(iVar3 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) ))))) ;) }))) (if_statement "if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" if (parenthesized_expression "(((int)param_2 < 1) || (local_cc < (int)param_2))" ( (binary_expression "((int)param_2 < 1) || (local_cc < (int)param_2)" (parenthesized_expression "((int)param_2 < 1)" ( (binary_expression "(int)param_2 < 1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_cc < (int)param_2)" ( (binary_expression "local_cc < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" { (expression_statement "uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);" (assignment_expression "uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" identifier = (call_expression "dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" identifier (argument_list "(0,"line number %d out of range; `%s\' has %d lines",5)" ( number_literal , (string_literal ""line number %d out of range; `%s\' has %d lines"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00045b60(uVar9,param_2,param_1,local_cc);" (call_expression "FUN_00045b60(uVar9,param_2,param_1,local_cc)" identifier (argument_list "(uVar9,param_2,param_1,local_cc)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar4 = *(int *)(iVar3 + 0x84);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x84)" identifier = (pointer_expression "*(int *)(iVar3 + 0x84)" * (cast_expression "(int *)(iVar3 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x84)" ( (binary_expression "iVar3 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (local_cc - (int)param_2) + 1;" (assignment_expression "iVar5 = (local_cc - (int)param_2) + 1" identifier = (binary_expression "(local_cc - (int)param_2) + 1" (parenthesized_expression "(local_cc - (int)param_2)" ( (binary_expression "local_cc - (int)param_2" identifier - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) + number_literal)) ;) (if_statement "if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }" if (parenthesized_expression "((int)(param_2 + param_3 + -1) <= local_cc)" ( (binary_expression "(int)(param_2 + param_3 + -1) <= local_cc" (cast_expression "(int)(param_2 + param_3 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + param_3 + -1)" ( (binary_expression "param_2 + param_3 + -1" (binary_expression "param_2 + param_3" identifier + identifier) + number_literal) ))) <= identifier) )) (compound_statement "{\n        iVar5 = param_3;\n      }" { (expression_statement "iVar5 = param_3;" (assignment_expression "iVar5 = param_3" identifier = identifier) ;) })) (expression_statement "_Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);" (assignment_expression "_Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" identifier = (call_expression "lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" identifier (argument_list "(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) , (binary_expression "(longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" (parenthesized_expression "(longlong)" ( identifier )) * (cast_expression "(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" ( (binary_expression "iVar4 + (int)(param_2 + 0x3fffffff) * 4" identifier + (binary_expression "(int)(param_2 + 0x3fffffff) * 4" (cast_expression "(int)(param_2 + 0x3fffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + 0x3fffffff)" ( (binary_expression "param_2 + 0x3fffffff" identifier + number_literal) ))) * number_literal)) )))) , number_literal )))) ;) (expression_statement "pcVar6 = DAT_000df3a4;" (assignment_expression "pcVar6 = DAT_000df3a4" identifier = identifier) ;) (if_statement "if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" if (parenthesized_expression "(_Var18 < 0)" ( (binary_expression "_Var18 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "FUN_00045b60("%s: %s",param_1,pcVar6);" (call_expression "FUN_00045b60("%s: %s",param_1,pcVar6)" identifier (argument_list "("%s: %s",param_1,pcVar6)" ( (string_literal ""%s: %s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "uVar2 = *(uint *)(iVar3 + 0x8c);" (assignment_expression "uVar2 = *(uint *)(iVar3 + 0x8c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x8c)" * (cast_expression "(uint *)(iVar3 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x8c)" ( (binary_expression "iVar3 + 0x8c" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" if (parenthesized_expression "(DAT_000df3a4 == (char *)0x0)" ( (binary_expression "DAT_000df3a4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }" { (if_statement "if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" if (parenthesized_expression "(uVar2 + 0x14 == 0)" ( (binary_expression "uVar2 + 0x14 == 0" (binary_expression "uVar2 + 0x14" identifier + number_literal) == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" identifier (argument_list "("awk.h",0x7c5)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244)" identifier (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x244)" ( (string_literal ""%s:%d: emalloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "local_bc = (char *)malloc(uVar2 + 0x14);" (assignment_expression "local_bc = (char *)malloc(uVar2 + 0x14)" identifier = (cast_expression "(char *)malloc(uVar2 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(uVar2 + 0x14)" identifier (argument_list "(uVar2 + 0x14)" ( (binary_expression "uVar2 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }" if (parenthesized_expression "(local_bc == (char *)0x0)" ( (binary_expression "local_bc == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" identifier (argument_list "("awk.h",0x7c9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "uVar19 = 0x244;" (assignment_expression "uVar19 = 0x244" identifier = number_literal) ;) (labeled_statement "LAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);" statement_identifier : (expression_statement "FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);" (call_expression "FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6)" identifier (argument_list "(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6)" ( identifier , (string_literal ""debug.c"" " string_content ") , identifier , (string_literal ""print_lines"" " string_content ") , (string_literal ""linebuf"" " string_content ") , (binary_expression "uVar2 + 0x14" identifier + number_literal) , identifier ))) ;)) })) (labeled_statement "LAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);" statement_identifier : (expression_statement "DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);" (assignment_expression "DAT_000df3a0 = *(uint *)(iVar3 + 0x8c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x8c)" * (cast_expression "(uint *)(iVar3 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x8c)" ( (binary_expression "iVar3 + 0x8c" identifier + number_literal) ))))) ;)) (expression_statement "DAT_000df3a4 = local_bc;" (assignment_expression "DAT_000df3a4 = local_bc" identifier = identifier) ;) }) (else_clause "else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" else (if_statement "if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" if (parenthesized_expression "(DAT_000df3a0 < uVar2)" ( (binary_expression "DAT_000df3a0 < uVar2" identifier < identifier) )) (compound_statement "{\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" { (if_statement "if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" if (parenthesized_expression "(uVar2 + 0x14 == 0)" ( (binary_expression "uVar2 + 0x14 == 0" (binary_expression "uVar2 + 0x14" identifier + number_literal) == number_literal) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" { (expression_statement "FUN_00074330("awk.h",0x7e9);" (call_expression "FUN_00074330("awk.h",0x7e9)" identifier (argument_list "("awk.h",0x7e9)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);" (call_expression "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247)" identifier (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x247)" ( (string_literal ""%s:%d: erealloc called with zero bytes"" " string_content ") , (string_literal ""debug.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);" (assignment_expression "local_bc = (char *)realloc(pcVar6,uVar2 + 0x14)" identifier = (cast_expression "(char *)realloc(pcVar6,uVar2 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(pcVar6,uVar2 + 0x14)" identifier (argument_list "(pcVar6,uVar2 + 0x14)" ( identifier , (binary_expression "uVar2 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }" if (parenthesized_expression "(local_bc == (char *)0x0)" ( (binary_expression "local_bc == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }" { (expression_statement "FUN_00074330("awk.h",0x7ed);" (call_expression "FUN_00074330("awk.h",0x7ed)" identifier (argument_list "("awk.h",0x7ed)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "uVar19 = 0x247;" (assignment_expression "uVar19 = 0x247" identifier = number_literal) ;) (goto_statement "goto LAB_0004669c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000461dc;" goto statement_identifier ;) })))) (expression_statement "pcVar6 = param_2 + iVar5;" (assignment_expression "pcVar6 = param_2 + iVar5" identifier = (binary_expression "param_2 + iVar5" identifier + identifier)) ;) (expression_statement "local_c4 = param_2;" (assignment_expression "local_c4 = param_2" identifier = identifier) ;) (if_statement "if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }" if (parenthesized_expression "((int)param_2 < (int)pcVar6)" ( (binary_expression "(int)param_2 < (int)pcVar6" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }" { (expression_statement "piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);" (assignment_expression "piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" identifier = (cast_expression "(int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" ( (binary_expression "iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4" (binary_expression "iVar4 + 4" identifier + number_literal) + (binary_expression "(int)(param_2 + 0x3fffffff) * 4" (cast_expression "(int)(param_2 + 0x3fffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 + 0x3fffffff)" ( (binary_expression "param_2 + 0x3fffffff" identifier + number_literal) ))) * number_literal)) )))) ;) (do_statement "do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);" do (compound_statement "{\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        }" { (expression_statement "__sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);" (call_expression "__sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2)" identifier (argument_list "(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2)" ( identifier , number_literal , number_literal , (pointer_expression "&DAT_000a8489" & identifier) , identifier ))) ;) (if_statement "if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }" if (parenthesized_expression "(1 < iVar5)" ( (binary_expression "1 < iVar5" number_literal < identifier) )) (compound_statement "{\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }" { (expression_statement "ppuVar10 = (undefined **)PTR_LOOP_000dd624;" (assignment_expression "ppuVar10 = (undefined **)PTR_LOOP_000dd624" identifier = (cast_expression "(undefined **)PTR_LOOP_000dd624" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }" if (parenthesized_expression "((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620)" ( (binary_expression "(undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620" (cast_expression "(undefined **)PTR_LOOP_000dd624" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&PTR_LOOP_000dd620" & identifier)) )) (compound_statement "{\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }" { (do_statement "do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);" do (compound_statement "{\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              }" { (if_statement "if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }" if (parenthesized_expression "((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2))" ( (binary_expression "(ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)" (parenthesized_expression "(ppuVar10[5] == param_1)" ( (binary_expression "ppuVar10[5] == param_1" (subscript_expression "ppuVar10[5]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)" ( (binary_expression "(char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2" (cast_expression "(char *)(int)*(short *)(ppuVar10[6] + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(ppuVar10[6] + 0x10)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(ppuVar10[6] + 0x10)" * (cast_expression "(short *)(ppuVar10[6] + 0x10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar10[6] + 0x10)" ( (binary_expression "ppuVar10[6] + 0x10" (subscript_expression "ppuVar10[6]" identifier [ number_literal ]) + number_literal) )))))) == identifier) ))) )) (compound_statement "{\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }" { (if_statement "if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }" if (parenthesized_expression "((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794))))" ( (binary_expression "(DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))" (parenthesized_expression "(DAT_000df390 == '\0')" ( (binary_expression "DAT_000df390 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))" ( (parenthesized_expression "(param_1 != DAT_000e1790 || (param_2 != DAT_000e1794))" ( (binary_expression "param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)" (binary_expression "param_1 != DAT_000e1790" identifier != identifier) || (parenthesized_expression "(param_2 != DAT_000e1794)" ( (binary_expression "param_2 != DAT_000e1794" identifier != identifier) ))) )) ))) )) (compound_statement "{\n                    pcVar16 = "%-4d:b  ";\n                  }" { (expression_statement "pcVar16 = "%-4d:b  ";" (assignment_expression "pcVar16 = "%-4d:b  "" identifier = (string_literal ""%-4d:b  "" " string_content ")) ;) }) (else_clause "else {\n                    pcVar16 = "%-4d:b=>";\n                  }" else (compound_statement "{\n                    pcVar16 = "%-4d:b=>";\n                  }" { (expression_statement "pcVar16 = "%-4d:b=>";" (assignment_expression "pcVar16 = "%-4d:b=>"" identifier = (string_literal ""%-4d:b=>"" " string_content ")) ;) }))) (goto_statement "goto LAB_00045ff4;" goto statement_identifier ;) })) (expression_statement "ppuVar1 = ppuVar10 + 1;" (assignment_expression "ppuVar1 = ppuVar10 + 1" identifier = (binary_expression "ppuVar10 + 1" identifier + number_literal)) ;) (expression_statement "ppuVar10 = (undefined **)*ppuVar1;" (assignment_expression "ppuVar10 = (undefined **)*ppuVar1" identifier = (cast_expression "(undefined **)*ppuVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar1" * identifier))) ;) }) while (parenthesized_expression "((undefined **)*ppuVar1 != &PTR_LOOP_000dd620)" ( (binary_expression "(undefined **)*ppuVar1 != &PTR_LOOP_000dd620" (cast_expression "(undefined **)*ppuVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar1" * identifier)) != (pointer_expression "&PTR_LOOP_000dd620" & identifier)) )) ;) })) (if_statement "if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }" if (parenthesized_expression "(((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))" ( (binary_expression "((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2)" (parenthesized_expression "((DAT_000df390 != '\0') && (param_1 == DAT_000e1790))" ( (binary_expression "(DAT_000df390 != '\0') && (param_1 == DAT_000e1790)" (parenthesized_expression "(DAT_000df390 != '\0')" ( (binary_expression "DAT_000df390 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1 == DAT_000e1790)" ( (binary_expression "param_1 == DAT_000e1790" identifier == identifier) ))) )) && (parenthesized_expression "(DAT_000e1794 == param_2)" ( (binary_expression "DAT_000e1794 == param_2" identifier == identifier) ))) )) (compound_statement "{\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }" { (expression_statement "pcVar16 = "%-4d  =>";" (assignment_expression "pcVar16 = "%-4d  =>"" identifier = (string_literal ""%-4d  =>"" " string_content ")) ;) (labeled_statement "LAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);" statement_identifier : (expression_statement "__sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);" (call_expression "__sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2)" identifier (argument_list "(DAT_000df3a4,1,0xffffffff,pcVar16,param_2)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;)) })) })) (expression_statement "pcVar16 = DAT_000df3a4;" (assignment_expression "pcVar16 = DAT_000df3a4" identifier = identifier) ;) (expression_statement "sVar7 = strlen(DAT_000df3a4);" (assignment_expression "sVar7 = strlen(DAT_000df3a4)" identifier = (call_expression "strlen(DAT_000df3a4)" identifier (argument_list "(DAT_000df3a4)" ( identifier )))) ;) (expression_statement "pcVar16 = pcVar16 + sVar7;" (assignment_expression "pcVar16 = pcVar16 + sVar7" identifier = (binary_expression "pcVar16 + sVar7" identifier + identifier)) ;) (expression_statement "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);" (assignment_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" identifier = (call_expression "read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" identifier (argument_list "(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" ( (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) , identifier , (binary_expression "*piVar12 - piVar12[-1]" (pointer_expression "*piVar12" * identifier) - (subscript_expression "piVar12[-1]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" if (parenthesized_expression "(sVar8 == -1)" ( (binary_expression "sVar8 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5)" identifier = (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" identifier (argument_list "(0,"cannot read source file `%s\': %s",5)" ( number_literal , (string_literal ""cannot read source file `%s\': %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00045b60(uVar9,param_1,pcVar6);" (call_expression "FUN_00045b60(uVar9,param_1,pcVar6)" identifier (argument_list "(uVar9,param_1,pcVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (if_statement "if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" { (expression_statement "uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);" (assignment_expression "uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" identifier = (call_expression "dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" identifier (argument_list "(0,"unexpected eof while reading file `%s\', line %d",5)" ( number_literal , (string_literal ""unexpected eof while reading file `%s\', line %d"" " string_content escape_sequence string_content ") , number_literal )))) ;) (goto_statement "goto LAB_00045f53;" goto statement_identifier ;) })) (expression_statement "sVar14 = sVar8;" (assignment_expression "sVar14 = sVar8" identifier = identifier) ;) (if_statement "if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }" if (parenthesized_expression "((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n'))" ( (binary_expression "(*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')" (parenthesized_expression "(*(char **)(iVar3 + 0x78) == param_2)" ( (binary_expression "*(char **)(iVar3 + 0x78) == param_2" (pointer_expression "*(char **)(iVar3 + 0x78)" * (cast_expression "(char **)(iVar3 + 0x78)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x78)" ( (binary_expression "iVar3 + 0x78" identifier + number_literal) )))) == identifier) )) && (parenthesized_expression "(pcVar16[sVar8 + -1] != '\n')" ( (binary_expression "pcVar16[sVar8 + -1] != '\n'" (subscript_expression "pcVar16[sVar8 + -1]" identifier [ (binary_expression "sVar8 + -1" identifier + number_literal) ]) != (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }" { (expression_statement "sVar14 = sVar8 + 1;" (assignment_expression "sVar14 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar16[sVar8] = '\n';" (assignment_expression "pcVar16[sVar8] = '\n'" (subscript_expression "pcVar16[sVar8]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) })) (expression_statement "iVar4 = sVar14 - (int)DAT_000df3a4;" (assignment_expression "iVar4 = sVar14 - (int)DAT_000df3a4" identifier = (binary_expression "sVar14 - (int)DAT_000df3a4" identifier - (cast_expression "(int)DAT_000df3a4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);" (assignment_expression "pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" identifier = (cast_expression "(char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" identifier (argument_list "(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" ( identifier , number_literal , (cast_expression "(size_t)(pcVar16 + iVar4)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(pcVar16 + iVar4)" ( (binary_expression "pcVar16 + iVar4" identifier + identifier) ))) , identifier ))))) ;) (if_statement "if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;" if (parenthesized_expression "(pcVar16 + iVar4 != pcVar11)" ( (binary_expression "pcVar16 + iVar4 != pcVar11" (binary_expression "pcVar16 + iVar4" identifier + identifier) != identifier) )) (goto_statement "goto LAB_00045f60;" goto statement_identifier ;)) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" identifier = (binary_expression "piVar12 + 1" identifier + number_literal)) ;) (expression_statement "local_c4 = param_2;" (assignment_expression "local_c4 = param_2" identifier = identifier) ;) }) while (parenthesized_expression "(param_2 != pcVar6)" ( (binary_expression "param_2 != pcVar6" identifier != identifier) )) ;) })) (expression_statement "iVar4 = DAT_000df39c;" (assignment_expression "iVar4 = DAT_000df39c" identifier = identifier) ;) (if_statement "if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }" if (parenthesized_expression "((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1))" ( (binary_expression "(DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)" (parenthesized_expression "(DAT_000df39c != iVar3)" ( (binary_expression "DAT_000df39c != iVar3" identifier != identifier) )) && (parenthesized_expression "(iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)" ( (comma_expression "iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1" (assignment_expression "iVar4 = iVar3" identifier = identifier) , (binary_expression "*(int *)(DAT_000df39c + 0x88) != -1" (pointer_expression "*(int *)(DAT_000df39c + 0x88)" * (cast_expression "(int *)(DAT_000df39c + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000df39c + 0x88)" ( (binary_expression "DAT_000df39c + 0x88" identifier + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }" { (expression_statement "close(*(int *)(DAT_000df39c + 0x88));" (call_expression "close(*(int *)(DAT_000df39c + 0x88))" identifier (argument_list "(*(int *)(DAT_000df39c + 0x88))" ( (pointer_expression "*(int *)(DAT_000df39c + 0x88)" * (cast_expression "(int *)(DAT_000df39c + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000df39c + 0x88)" ( (binary_expression "DAT_000df39c + 0x88" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;" (assignment_expression "*(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff" (pointer_expression "*(undefined4 *)(DAT_000df39c + 0x88)" * (cast_expression "(undefined4 *)(DAT_000df39c + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000df39c + 0x88)" ( (binary_expression "DAT_000df39c + 0x88" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "DAT_000df39c = iVar4;" (assignment_expression "DAT_000df39c = iVar4" identifier = identifier) ;) (expression_statement "local_c4 = local_c4 + -1;" (assignment_expression "local_c4 = local_c4 + -1" identifier = (binary_expression "local_c4 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_00045f65;" goto statement_identifier ;) })) (expression_statement "iVar4 = FUN_000727c0(iVar3);" (assignment_expression "iVar4 = FUN_000727c0(iVar3)" identifier = (call_expression "FUN_000727c0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(int *)(iVar3 + 0x88) = iVar4;" (assignment_expression "*(int *)(iVar3 + 0x88) = iVar4" (pointer_expression "*(int *)(iVar3 + 0x88)" * (cast_expression "(int *)(iVar3 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x88)" ( (binary_expression "iVar3 + 0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (-1 < iVar4) goto LAB_00045dbe;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_00045dbe;" goto statement_identifier ;)) (labeled_statement "LAB_000460e8:\n    piVar12 = __errno_location();" statement_identifier : (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;)) (expression_statement "param_2 = strerror(*piVar12);" (assignment_expression "param_2 = strerror(*piVar12)" identifier = (call_expression "strerror(*piVar12)" identifier (argument_list "(*piVar12)" ( (pointer_expression "*piVar12" * identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" identifier = (call_expression "dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" identifier (argument_list "(0,"cannot open source file `%s\' for reading: %s",5)" ( number_literal , (string_literal ""cannot open source file `%s\' for reading: %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (labeled_statement "LAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);" statement_identifier : (expression_statement "FUN_00045b60(uVar9,param_1,param_2);" (call_expression "FUN_00045b60(uVar9,param_1,param_2)" identifier (argument_list "(uVar9,param_1,param_2)" ( identifier , identifier , identifier ))) ;)) })) (labeled_statement "LAB_00045f60:\n  local_c4 = (char *)0xffffffff;" statement_identifier : (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_000a13a0();\n  }" { (expression_statement "FUN_000a13a0();" (call_expression "FUN_000a13a0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return local_c4;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , (pointer_expression & IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) })) (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 = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression LIT < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence '))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) - (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) - (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto 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 (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) * LIT)) )))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT + LIT) , IDENT ))) ;)) })) (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 = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression 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)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) * LIT)) )))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) == IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)) != (pointer_expression & IDENT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , IDENT ))) ;)) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (binary_expression (pointer_expression * IDENT) - (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "char * __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)\n\n{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }\n  return local_c4;\n}" (primitive_type "char") (pointer_declarator "* __regparm3 FUN_00045d70(undefined *param_1,char *param_2,int param_3)" (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00045d70(undefined *param_1,char *param_2,int param_3)" (identifier "FUN_00045d70") (parameter_list "(undefined *param_1,char *param_2,int param_3)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")")))) (compound_statement "{\n  undefined **ppuVar1;\n  uint uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  size_t sVar7;\n  ssize_t sVar8;\n  undefined4 uVar9;\n  undefined **ppuVar10;\n  char *pcVar11;\n  int *piVar12;\n  void *pvVar13;\n  ssize_t sVar14;\n  int *piVar15;\n  char *pcVar16;\n  char *pcVar17;\n  int in_GS_OFFSET;\n  __off64_t _Var18;\n  undefined4 uVar19;\n  int local_cc;\n  char *local_c4;\n  int local_c0;\n  char *local_bc;\n  int local_ac;\n  char local_a5;\n  stat64 local_80;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x45d79;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar3 = FUN_00045bc0();\n  if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }\nLAB_00045f60:\n  local_c4 = (char *)0xffffffff;\nLAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }\n  return local_c4;\n}" ({ "{") (declaration "undefined **ppuVar1;" (type_identifier "undefined") (pointer_declarator "**ppuVar1" (* "*") (pointer_declarator "*ppuVar1" (* "*") (identifier "ppuVar1"))) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "ssize_t sVar8;" (primitive_type "ssize_t") (identifier "sVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined **ppuVar10;" (type_identifier "undefined") (pointer_declarator "**ppuVar10" (* "*") (pointer_declarator "*ppuVar10" (* "*") (identifier "ppuVar10"))) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "void *pvVar13;" (primitive_type "void") (pointer_declarator "*pvVar13" (* "*") (identifier "pvVar13")) (; ";")) (declaration "ssize_t sVar14;" (primitive_type "ssize_t") (identifier "sVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "char *pcVar17;" (primitive_type "char") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "__off64_t _Var18;" (type_identifier "__off64_t") (identifier "_Var18") (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "int local_cc;" (primitive_type "int") (identifier "local_cc") (; ";")) (declaration "char *local_c4;" (primitive_type "char") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")) (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "char *local_bc;" (primitive_type "char") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "char local_a5;" (primitive_type "char") (identifier "local_a5") (; ";")) (declaration "stat64 local_80;" (type_identifier "stat64") (identifier "local_80") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x45d79;" (assignment_expression "uStack_14 = 0x45d79" (identifier "uStack_14") (= "=") (number_literal "0x45d79")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar3 = FUN_00045bc0();" (assignment_expression "iVar3 = FUN_00045bc0()" (identifier "iVar3") (= "=") (call_expression "FUN_00045bc0()" (identifier "FUN_00045bc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar4 = *(int *)(iVar3 + 0x88);\n    if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }\n    iVar4 = FUN_000727c0(iVar3);\n    *(int *)(iVar3 + 0x88) = iVar4;\n    if (-1 < iVar4) goto LAB_00045dbe;\nLAB_000460e8:\n    piVar12 = __errno_location();\n    param_2 = strerror(*piVar12);\n    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);\nLAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(iVar3 + 0x88);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x88)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (if_statement "if (-1 < iVar4) {\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\nLAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);\n      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }\n      FUN_00067400(iVar4,0);\n      if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }\n      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      iVar4 = *(int *)(iVar3 + 0x84);\n      iVar5 = (local_cc - (int)param_2) + 1;\n      if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }\n      _Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);\n      pcVar6 = DAT_000df3a4;\n      if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }\n      uVar2 = *(uint *)(iVar3 + 0x8c);\n      if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }\n      pcVar6 = param_2 + iVar5;\n      local_c4 = param_2;\n      if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }\n      iVar4 = DAT_000df39c;\n      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }\n      DAT_000df39c = iVar4;\n      local_c4 = local_c4 + -1;\n      goto LAB_00045f65;\n    }" ({ "{") (labeled_statement "LAB_00045dbe:\n      iVar4 = __fxstat64(3,iVar4,&local_80);" (statement_identifier "LAB_00045dbe") (: ":") (expression_statement "iVar4 = __fxstat64(3,iVar4,&local_80);" (assignment_expression "iVar4 = __fxstat64(3,iVar4,&local_80)" (identifier "iVar4") (= "=") (call_expression "__fxstat64(3,iVar4,&local_80)" (identifier "__fxstat64") (argument_list "(3,iVar4,&local_80)" (( "(") (number_literal "3") (, ",") (identifier "iVar4") (, ",") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";"))) (if_statement "if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }\n      else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" (if "if") (parenthesized_expression "((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec))" (( "(") (binary_expression "(iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)" (( "(") (binary_expression "*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (< "<") (field_expression "local_80.st_mtim.tv_sec" (field_expression "local_80.st_mtim" (identifier "local_80") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_sec"))) () ")"))) () ")")) (compound_statement "{\n        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);\n        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);\n        free(*(void **)(iVar3 + 0x84));\n        *(undefined4 *)(iVar3 + 0x84) = 0;\n        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;\n        close(*(int *)(iVar3 + 0x88));\n        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;\n        iVar4 = FUN_000727c0(iVar3);\n        *(int *)(iVar3 + 0x88) = iVar4;\n        if (iVar4 < 0) goto LAB_000460e8;\n      }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);" (assignment_expression "uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" (identifier "dcgettext") (argument_list "(0,"WARNING: source file `%s\' modified since program compilation.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""WARNING: source file `%s\' modified since program compilation.\n"" (" """) (string_content "WARNING: source file `%s") (escape_sequence "\'") (string_content " modified since program compilation.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "__fprintf_chk(DAT_000e2980,1,uVar9,param_1);" (call_expression "__fprintf_chk(DAT_000e2980,1,uVar9,param_1)" (identifier "__fprintf_chk") (argument_list "(DAT_000e2980,1,uVar9,param_1)" (( "(") (identifier "DAT_000e2980") (, ",") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "free(*(void **)(iVar3 + 0x84));" (call_expression "free(*(void **)(iVar3 + 0x84))" (identifier "free") (argument_list "(*(void **)(iVar3 + 0x84))" (( "(") (pointer_expression "*(void **)(iVar3 + 0x84)" (* "*") (cast_expression "(void **)(iVar3 + 0x84)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x84) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x84) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x84)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;" (assignment_expression "*(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec" (pointer_expression "*(__time_t *)(iVar3 + 0x14)" (* "*") (cast_expression "(__time_t *)(iVar3 + 0x14)" (( "(") (type_descriptor "__time_t *" (type_identifier "__time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (field_expression "local_80.st_mtim.tv_sec" (field_expression "local_80.st_mtim" (identifier "local_80") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_sec"))) (; ";")) (expression_statement "close(*(int *)(iVar3 + 0x88));" (call_expression "close(*(int *)(iVar3 + 0x88))" (identifier "close") (argument_list "(*(int *)(iVar3 + 0x88))" (( "(") (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x88) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar3 + 0x88) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar3 + 0x88)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar4 = FUN_000727c0(iVar3);" (assignment_expression "iVar4 = FUN_000727c0(iVar3)" (identifier "iVar4") (= "=") (call_expression "FUN_000727c0(iVar3)" (identifier "FUN_000727c0") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "*(int *)(iVar3 + 0x88) = iVar4;" (assignment_expression "*(int *)(iVar3 + 0x88) = iVar4" (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 < 0) goto LAB_000460e8;" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000460e8;" (goto "goto") (statement_identifier "LAB_000460e8") (; ";"))) (} "}")) (else_clause "else {\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" (else "else") (compound_statement "{\n        iVar4 = *(int *)(iVar3 + 0x88);\n      }" ({ "{") (expression_statement "iVar4 = *(int *)(iVar3 + 0x88);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x88)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (} "}")))) (expression_statement "FUN_00067400(iVar4,0);" (call_expression "FUN_00067400(iVar4,0)" (identifier "FUN_00067400") (argument_list "(iVar4,0)" (( "(") (identifier "iVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar3 + 0x84) == 0) {\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }\n      else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x84) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x84) == 0" (pointer_expression "*(int *)(iVar3 + 0x84)" (* "*") (cast_expression "(int *)(iVar3 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        sVar7 = *(size_t *)(iVar3 + 0x7c);\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }\n        pcVar6 = (char *)malloc(sVar7);\n        if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }\n        local_c0 = *(int *)(iVar3 + 0x78);\n        sVar7 = local_c0 * 4 + 8;\n        if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }\n        piVar12 = (int *)malloc(sVar7);\n        if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }\n        *(int **)(iVar3 + 0x84) = piVar12;\n        local_a5 = '\0';\n        *piVar12 = 0;\n        local_cc = 0;\n        local_ac = 0;\n        local_bc = (char *)0x0;\n        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }\n        free(pcVar6);\n        if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }\n        iVar4 = local_ac;\n        if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }\n        local_ac = iVar4;\n        *(int *)(iVar3 + 0x8c) = local_ac;\n        *(int *)(iVar3 + 0x78) = local_cc;\n      }" ({ "{") (expression_statement "sVar7 = *(size_t *)(iVar3 + 0x7c);" (assignment_expression "sVar7 = *(size_t *)(iVar3 + 0x7c)" (identifier "sVar7") (= "=") (pointer_expression "*(size_t *)(iVar3 + 0x7c)" (* "*") (cast_expression "(size_t *)(iVar3 + 0x7c)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x7c)" (( "(") (binary_expression "iVar3 + 0x7c" (identifier "iVar3") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (if_statement "if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" (if "if") (parenthesized_expression "(sVar7 == 0)" (( "(") (binary_expression "sVar7 == 0" (identifier "sVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7c5)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c5") () ")"))) (; ";")) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" (identifier "FUN_00074d10") (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b2)" (( "(") (string_literal ""%s:%d: emalloc called with zero bytes"" (" """) (string_content "%s:%d: emalloc called with zero bytes") (" """)) (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x1b2") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar6 = (char *)malloc(sVar7);" (assignment_expression "pcVar6 = (char *)malloc(sVar7)" (identifier "pcVar6") (= "=") (cast_expression "(char *)malloc(sVar7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "malloc(sVar7)" (identifier "malloc") (argument_list "(sVar7)" (( "(") (identifier "sVar7") () ")"))))) (; ";")) (if_statement "if (pcVar6 == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }" (if "if") (parenthesized_expression "(pcVar6 == (char *)0x0)" (( "(") (binary_expression "pcVar6 == (char *)0x0" (identifier "pcVar6") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar16 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7c9)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c9") () ")"))) (; ";")) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar16 = strerror(*piVar12);" (assignment_expression "pcVar16 = strerror(*piVar12)" (identifier "pcVar16") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16)" (identifier "FUN_00074d10") (argument_list "(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16)" (( "(") (identifier "uVar9") (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x1b2") (, ",") (string_literal ""find_lines"" (" """) (string_content "find_lines") (" """)) (, ",") (string_literal ""buf"" (" """) (string_content "buf") (" """)) (, ",") (identifier "sVar7") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "local_c0 = *(int *)(iVar3 + 0x78);" (assignment_expression "local_c0 = *(int *)(iVar3 + 0x78)" (identifier "local_c0") (= "=") (pointer_expression "*(int *)(iVar3 + 0x78)" (* "*") (cast_expression "(int *)(iVar3 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x78)" (( "(") (binary_expression "iVar3 + 0x78" (identifier "iVar3") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "sVar7 = local_c0 * 4 + 8;" (assignment_expression "sVar7 = local_c0 * 4 + 8" (identifier "sVar7") (= "=") (binary_expression "local_c0 * 4 + 8" (binary_expression "local_c0 * 4" (identifier "local_c0") (* "*") (number_literal "4")) (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (sVar7 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" (if "if") (parenthesized_expression "(sVar7 == 0)" (( "(") (binary_expression "sVar7 == 0" (identifier "sVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7c5)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c5") () ")"))) (; ";")) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" (identifier "FUN_00074d10") (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x1b4)" (( "(") (string_literal ""%s:%d: emalloc called with zero bytes"" (" """) (string_content "%s:%d: emalloc called with zero bytes") (" """)) (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x1b4") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar12 = (int *)malloc(sVar7);" (assignment_expression "piVar12 = (int *)malloc(sVar7)" (identifier "piVar12") (= "=") (cast_expression "(int *)malloc(sVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "malloc(sVar7)" (identifier "malloc") (argument_list "(sVar7)" (( "(") (identifier "sVar7") () ")"))))) (; ";")) (if_statement "if (piVar12 == (int *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }" (if "if") (parenthesized_expression "(piVar12 == (int *)0x0)" (( "(") (binary_expression "piVar12 == (int *)0x0" (identifier "piVar12") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar15 = __errno_location();\n          pcVar16 = strerror(*piVar15);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7c9)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c9") () ")"))) (; ";")) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar16 = strerror(*piVar15);" (assignment_expression "pcVar16 = strerror(*piVar15)" (identifier "pcVar16") (= "=") (call_expression "strerror(*piVar15)" (identifier "strerror") (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16)" (identifier "FUN_00074d10") (argument_list "(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16)" (( "(") (identifier "uVar9") (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x1b4") (, ",") (string_literal ""find_lines"" (" """) (string_content "find_lines") (" """)) (, ",") (string_literal ""s->line_offset"" (" """) (string_content "s->line_offset") (" """)) (, ",") (identifier "sVar7") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int **)(iVar3 + 0x84) = piVar12;" (assignment_expression "*(int **)(iVar3 + 0x84) = piVar12" (pointer_expression "*(int **)(iVar3 + 0x84)" (* "*") (cast_expression "(int **)(iVar3 + 0x84)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")")))) (= "=") (identifier "piVar12")) (; ";")) (expression_statement "local_a5 = '\0';" (assignment_expression "local_a5 = '\0'" (identifier "local_a5") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = (char *)0x0;" (assignment_expression "local_bc = (char *)0x0" (identifier "local_bc") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (while_statement "while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }" (while "while") (parenthesized_expression "(sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8)" (( "(") (comma_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8" (assignment_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" (identifier "sVar8") (= "=") (call_expression "read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" (identifier "read") (argument_list "(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c))" (( "(") (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) (, ",") (identifier "pcVar6") (, ",") (pointer_expression "*(size_t *)(iVar3 + 0x7c)" (* "*") (cast_expression "(size_t *)(iVar3 + 0x7c)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x7c)" (( "(") (binary_expression "iVar3 + 0x7c" (identifier "iVar3") (+ "+") (number_literal "0x7c")) () ")")))) () ")")))) (, ",") (binary_expression "0 < sVar8" (number_literal "0") (< "<") (identifier "sVar8"))) () ")")) (compound_statement "{\n          local_a5 = pcVar6[sVar8 + -1];\n          pcVar16 = pcVar6 + sVar8;\n          pcVar11 = pcVar6;\n          if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }\nLAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);\n        }" ({ "{") (expression_statement "local_a5 = pcVar6[sVar8 + -1];" (assignment_expression "local_a5 = pcVar6[sVar8 + -1]" (identifier "local_a5") (= "=") (subscript_expression "pcVar6[sVar8 + -1]" (identifier "pcVar6") ([ "[") (binary_expression "sVar8 + -1" (identifier "sVar8") (+ "+") (number_literal "-1")) (] "]"))) (; ";")) (expression_statement "pcVar16 = pcVar6 + sVar8;" (assignment_expression "pcVar16 = pcVar6 + sVar8" (identifier "pcVar16") (= "=") (binary_expression "pcVar6 + sVar8" (identifier "pcVar6") (+ "+") (identifier "sVar8"))) (; ";")) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" (identifier "pcVar11") (= "=") (identifier "pcVar6")) (; ";")) (if_statement "if (pcVar6 < pcVar16) {\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }" (if "if") (parenthesized_expression "(pcVar6 < pcVar16)" (( "(") (binary_expression "pcVar6 < pcVar16" (identifier "pcVar6") (< "<") (identifier "pcVar16")) () ")")) (compound_statement "{\n            do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);\n          }" ({ "{") (do_statement "do {\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            } while (pcVar16 != pcVar17);" (do "do") (compound_statement "{\n              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }\n              local_cc = local_cc + 1;\n              if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }\n              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));\n              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;\n              if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }\n              piVar12 = piVar12 + 1;\n              pcVar11 = pcVar17;\n            }" ({ "{") (while_statement "while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }" (while "while") (parenthesized_expression "(pcVar17 = pcVar11 + 1, *pcVar11 != '\n')" (( "(") (comma_expression "pcVar17 = pcVar11 + 1, *pcVar11 != '\n'" (assignment_expression "pcVar17 = pcVar11 + 1" (identifier "pcVar17") (= "=") (binary_expression "pcVar11 + 1" (identifier "pcVar11") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pcVar11 != '\n'" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")))) () ")")) (compound_statement "{\n                pcVar11 = pcVar17;\n                if (pcVar16 == pcVar17) goto LAB_0004635c;\n              }" ({ "{") (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" (identifier "pcVar11") (= "=") (identifier "pcVar17")) (; ";")) (if_statement "if (pcVar16 == pcVar17) goto LAB_0004635c;" (if "if") (parenthesized_expression "(pcVar16 == pcVar17)" (( "(") (binary_expression "pcVar16 == pcVar17" (identifier "pcVar16") (== "==") (identifier "pcVar17")) () ")")) (goto_statement "goto LAB_0004635c;" (goto "goto") (statement_identifier "LAB_0004635c") (; ";"))) (} "}"))) (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" (identifier "local_cc") (= "=") (binary_expression "local_cc + 1" (identifier "local_cc") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_c0 < local_cc) {\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }" (if "if") (parenthesized_expression "(local_c0 < local_cc)" (( "(") (binary_expression "local_c0 < local_cc" (identifier "local_c0") (< "<") (identifier "local_cc")) () ")")) (compound_statement "{\n                sVar7 = local_c0 * 8 + 8;\n                pvVar13 = *(void **)(iVar3 + 0x84);\n                if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }\n                pvVar13 = realloc(pvVar13,sVar7);\n                if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }\n                *(void **)(iVar3 + 0x84) = pvVar13;\n                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);\n                local_c0 = local_c0 * 2;\n              }" ({ "{") (expression_statement "sVar7 = local_c0 * 8 + 8;" (assignment_expression "sVar7 = local_c0 * 8 + 8" (identifier "sVar7") (= "=") (binary_expression "local_c0 * 8 + 8" (binary_expression "local_c0 * 8" (identifier "local_c0") (* "*") (number_literal "8")) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "pvVar13 = *(void **)(iVar3 + 0x84);" (assignment_expression "pvVar13 = *(void **)(iVar3 + 0x84)" (identifier "pvVar13") (= "=") (pointer_expression "*(void **)(iVar3 + 0x84)" (* "*") (cast_expression "(void **)(iVar3 + 0x84)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (if_statement "if (sVar7 == 0) {\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" (if "if") (parenthesized_expression "(sVar7 == 0)" (( "(") (binary_expression "sVar7 == 0" (identifier "sVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  FUN_00074330("awk.h",0x7e9);\n                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);\n                }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7e9);" (call_expression "FUN_00074330("awk.h",0x7e9)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7e9)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7e9") () ")"))) (; ";")) (expression_statement "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);" (call_expression "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" (identifier "FUN_00074d10") (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x1bf)" (( "(") (string_literal ""%s:%d: erealloc called with zero bytes"" (" """) (string_content "%s:%d: erealloc called with zero bytes") (" """)) (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x1bf") () ")"))) (; ";")) (} "}"))) (expression_statement "pvVar13 = realloc(pvVar13,sVar7);" (assignment_expression "pvVar13 = realloc(pvVar13,sVar7)" (identifier "pvVar13") (= "=") (call_expression "realloc(pvVar13,sVar7)" (identifier "realloc") (argument_list "(pvVar13,sVar7)" (( "(") (identifier "pvVar13") (, ",") (identifier "sVar7") () ")")))) (; ";")) (if_statement "if (pvVar13 == (void *)0x0) {\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }" (if "if") (parenthesized_expression "(pvVar13 == (void *)0x0)" (( "(") (binary_expression "pvVar13 == (void *)0x0" (identifier "pvVar13") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  FUN_00074330("awk.h",0x7ed);\n                  piVar12 = __errno_location();\n                  pcVar11 = strerror(*piVar12);\n                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);\n                }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7ed);" (call_expression "FUN_00074330("awk.h",0x7ed)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7ed)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7ed") () ")"))) (; ";")) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar11 = strerror(*piVar12);" (assignment_expression "pcVar11 = strerror(*piVar12)" (identifier "pcVar11") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);" (call_expression "FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11)" (identifier "FUN_00074d10") (argument_list "(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11)" (( "(") (identifier "uVar9") (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x1bf") (, ",") (string_literal ""find_lines"" (" """) (string_content "find_lines") (" """)) (, ",") (string_literal ""s->line_offset"" (" """) (string_content "s->line_offset") (" """)) (, ",") (identifier "sVar7") (, ",") (identifier "pcVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "*(void **)(iVar3 + 0x84) = pvVar13;" (assignment_expression "*(void **)(iVar3 + 0x84) = pvVar13" (pointer_expression "*(void **)(iVar3 + 0x84)" (* "*") (cast_expression "(void **)(iVar3 + 0x84)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")")))) (= "=") (identifier "pvVar13")) (; ";")) (expression_statement "piVar12 = (int *)((int)pvVar13 + local_c0 * 4);" (assignment_expression "piVar12 = (int *)((int)pvVar13 + local_c0 * 4)" (identifier "piVar12") (= "=") (cast_expression "(int *)((int)pvVar13 + local_c0 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar13 + local_c0 * 4)" (( "(") (binary_expression "(int)pvVar13 + local_c0 * 4" (cast_expression "(int)pvVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar13")) (+ "+") (binary_expression "local_c0 * 4" (identifier "local_c0") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "local_c0 = local_c0 * 2;" (assignment_expression "local_c0 = local_c0 * 2" (identifier "local_c0") (= "=") (binary_expression "local_c0 * 2" (identifier "local_c0") (* "*") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));" (assignment_expression "piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6))" (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar17 + ((int)local_bc - (int)pcVar6))" (( "(") (binary_expression "pcVar17 + ((int)local_bc - (int)pcVar6)" (identifier "pcVar17") (+ "+") (parenthesized_expression "((int)local_bc - (int)pcVar6)" (( "(") (binary_expression "(int)local_bc - (int)pcVar6" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (- "-") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6"))) () ")"))) () ")")))) (; ";")) (expression_statement "iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;" (assignment_expression "iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12" (identifier "iVar4") (= "=") (binary_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12" (cast_expression "(int)(pcVar17 + ((int)local_bc - (int)pcVar6))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar17 + ((int)local_bc - (int)pcVar6))" (( "(") (binary_expression "pcVar17 + ((int)local_bc - (int)pcVar6)" (identifier "pcVar17") (+ "+") (parenthesized_expression "((int)local_bc - (int)pcVar6)" (( "(") (binary_expression "(int)local_bc - (int)pcVar6" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (- "-") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6"))) () ")"))) () ")"))) (- "-") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")))) (; ";")) (if_statement "if (local_ac < iVar4) {\n                local_ac = iVar4;\n              }" (if "if") (parenthesized_expression "(local_ac < iVar4)" (( "(") (binary_expression "local_ac < iVar4" (identifier "local_ac") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                local_ac = iVar4;\n              }" ({ "{") (expression_statement "local_ac = iVar4;" (assignment_expression "local_ac = iVar4" (identifier "local_ac") (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" (identifier "piVar12") (= "=") (binary_expression "piVar12 + 1" (identifier "piVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" (identifier "pcVar11") (= "=") (identifier "pcVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar16 != pcVar17)" (( "(") (binary_expression "pcVar16 != pcVar17" (identifier "pcVar16") (!= "!=") (identifier "pcVar17")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0004635c:\n          local_bc = (char *)((int)local_bc + sVar8);" (statement_identifier "LAB_0004635c") (: ":") (expression_statement "local_bc = (char *)((int)local_bc + sVar8);" (assignment_expression "local_bc = (char *)((int)local_bc + sVar8)" (identifier "local_bc") (= "=") (cast_expression "(char *)((int)local_bc + sVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_bc + sVar8)" (( "(") (binary_expression "(int)local_bc + sVar8" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (identifier "sVar8")) () ")")))) (; ";"))) (} "}"))) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (if_statement "if (sVar8 == -1) {\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" (if "if") (parenthesized_expression "(sVar8 == -1)" (( "(") (binary_expression "sVar8 == -1" (identifier "sVar8") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);\n          FUN_00045b60(uVar19,uVar9,pcVar6);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" ({ "{") (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" (identifier "pcVar6") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(iVar3 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(iVar3 + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5)" (identifier "uVar19") (= "=") (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" (identifier "dcgettext") (argument_list "(0,"cannot read source file `%s\': %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot read source file `%s\': %s"" (" """) (string_content "cannot read source file `%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00045b60(uVar19,uVar9,pcVar6);" (call_expression "FUN_00045b60(uVar19,uVar9,pcVar6)" (identifier "FUN_00045b60") (argument_list "(uVar19,uVar9,pcVar6)" (( "(") (identifier "uVar19") (, ",") (identifier "uVar9") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" (identifier "local_c4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00045f65;" (goto "goto") (statement_identifier "LAB_00045f65") (; ";")) (} "}"))) (if_statement "if (local_bc == (char *)0x0) {\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" (if "if") (parenthesized_expression "(local_bc == (char *)0x0)" (( "(") (binary_expression "local_bc == (char *)0x0" (identifier "local_bc") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar9 = *(undefined4 *)(iVar3 + 0xc);\n          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);\n          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);\n          local_c4 = (char *)0xffffffff;\n          goto LAB_00045f65;\n        }" ({ "{") (expression_statement "uVar9 = *(undefined4 *)(iVar3 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(iVar3 + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);" (assignment_expression "uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3)" (identifier "uVar19") (= "=") (call_expression "dcgettext(0,"source file `%s\' is empty.\n",5,iVar3)" (identifier "dcgettext") (argument_list "(0,"source file `%s\' is empty.\n",5,iVar3)" (( "(") (number_literal "0") (, ",") (string_literal ""source file `%s\' is empty.\n"" (" """) (string_content "source file `%s") (escape_sequence "\'") (string_content " is empty.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") (, ",") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "__fprintf_chk(DAT_000e2980,1,uVar19,uVar9);" (call_expression "__fprintf_chk(DAT_000e2980,1,uVar19,uVar9)" (identifier "__fprintf_chk") (argument_list "(DAT_000e2980,1,uVar19,uVar9)" (( "(") (identifier "DAT_000e2980") (, ",") (number_literal "1") (, ",") (identifier "uVar19") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" (identifier "local_c4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00045f65;" (goto "goto") (statement_identifier "LAB_00045f65") (; ";")) (} "}"))) (expression_statement "iVar4 = local_ac;" (assignment_expression "iVar4 = local_ac" (identifier "iVar4") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (local_a5 != '\n') {\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }" (if "if") (parenthesized_expression "(local_a5 != '\n')" (( "(") (binary_expression "local_a5 != '\n'" (identifier "local_a5") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n          local_cc = local_cc + 1;\n          piVar12[1] = (int)local_bc + 1;\n          iVar4 = ((int)local_bc + 1) - *piVar12;\n          if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }\n        }" ({ "{") (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" (identifier "local_cc") (= "=") (binary_expression "local_cc + 1" (identifier "local_cc") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar12[1] = (int)local_bc + 1;" (assignment_expression "piVar12[1] = (int)local_bc + 1" (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(int)local_bc + 1" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = ((int)local_bc + 1) - *piVar12;" (assignment_expression "iVar4 = ((int)local_bc + 1) - *piVar12" (identifier "iVar4") (= "=") (binary_expression "((int)local_bc + 1) - *piVar12" (parenthesized_expression "((int)local_bc + 1)" (( "(") (binary_expression "(int)local_bc + 1" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (number_literal "1")) () ")")) (- "-") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")))) (; ";")) (if_statement "if (iVar4 <= local_ac) {\n            iVar4 = local_ac;\n          }" (if "if") (parenthesized_expression "(iVar4 <= local_ac)" (( "(") (binary_expression "iVar4 <= local_ac" (identifier "iVar4") (<= "<=") (identifier "local_ac")) () ")")) (compound_statement "{\n            iVar4 = local_ac;\n          }" ({ "{") (expression_statement "iVar4 = local_ac;" (assignment_expression "iVar4 = local_ac" (identifier "iVar4") (= "=") (identifier "local_ac")) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_ac = iVar4;" (assignment_expression "local_ac = iVar4" (identifier "local_ac") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(iVar3 + 0x8c) = local_ac;" (assignment_expression "*(int *)(iVar3 + 0x8c) = local_ac" (pointer_expression "*(int *)(iVar3 + 0x8c)" (* "*") (cast_expression "(int *)(iVar3 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x8c)" (( "(") (binary_expression "iVar3 + 0x8c" (identifier "iVar3") (+ "+") (number_literal "0x8c")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(int *)(iVar3 + 0x78) = local_cc;" (assignment_expression "*(int *)(iVar3 + 0x78) = local_cc" (pointer_expression "*(int *)(iVar3 + 0x78)" (* "*") (cast_expression "(int *)(iVar3 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x78)" (( "(") (binary_expression "iVar3 + 0x78" (identifier "iVar3") (+ "+") (number_literal "0x78")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (} "}")) (else_clause "else {\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" (else "else") (compound_statement "{\n        local_cc = *(int *)(iVar3 + 0x78);\n      }" ({ "{") (expression_statement "local_cc = *(int *)(iVar3 + 0x78);" (assignment_expression "local_cc = *(int *)(iVar3 + 0x78)" (identifier "local_cc") (= "=") (pointer_expression "*(int *)(iVar3 + 0x78)" (* "*") (cast_expression "(int *)(iVar3 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x78)" (( "(") (binary_expression "iVar3 + 0x78" (identifier "iVar3") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (((int)param_2 < 1) || (local_cc < (int)param_2)) {\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" (if "if") (parenthesized_expression "(((int)param_2 < 1) || (local_cc < (int)param_2))" (( "(") (binary_expression "((int)param_2 < 1) || (local_cc < (int)param_2)" (parenthesized_expression "((int)param_2 < 1)" (( "(") (binary_expression "(int)param_2 < 1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (< "<") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(local_cc < (int)param_2)" (( "(") (binary_expression "local_cc < (int)param_2" (identifier "local_cc") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")"))) () ")")) (compound_statement "{\n        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);\n        FUN_00045b60(uVar9,param_2,param_1,local_cc);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);" (assignment_expression "uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"line number %d out of range; `%s\' has %d lines",5)" (identifier "dcgettext") (argument_list "(0,"line number %d out of range; `%s\' has %d lines",5)" (( "(") (number_literal "0") (, ",") (string_literal ""line number %d out of range; `%s\' has %d lines"" (" """) (string_content "line number %d out of range; `%s") (escape_sequence "\'") (string_content " has %d lines") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00045b60(uVar9,param_2,param_1,local_cc);" (call_expression "FUN_00045b60(uVar9,param_2,param_1,local_cc)" (identifier "FUN_00045b60") (argument_list "(uVar9,param_2,param_1,local_cc)" (( "(") (identifier "uVar9") (, ",") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" (identifier "local_c4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00045f65;" (goto "goto") (statement_identifier "LAB_00045f65") (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(iVar3 + 0x84);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x84)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x84)" (* "*") (cast_expression "(int *)(iVar3 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x84)" (( "(") (binary_expression "iVar3 + 0x84" (identifier "iVar3") (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (expression_statement "iVar5 = (local_cc - (int)param_2) + 1;" (assignment_expression "iVar5 = (local_cc - (int)param_2) + 1" (identifier "iVar5") (= "=") (binary_expression "(local_cc - (int)param_2) + 1" (parenthesized_expression "(local_cc - (int)param_2)" (( "(") (binary_expression "local_cc - (int)param_2" (identifier "local_cc") (- "-") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)(param_2 + param_3 + -1) <= local_cc) {\n        iVar5 = param_3;\n      }" (if "if") (parenthesized_expression "((int)(param_2 + param_3 + -1) <= local_cc)" (( "(") (binary_expression "(int)(param_2 + param_3 + -1) <= local_cc" (cast_expression "(int)(param_2 + param_3 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 + param_3 + -1)" (( "(") (binary_expression "param_2 + param_3 + -1" (binary_expression "param_2 + param_3" (identifier "param_2") (+ "+") (identifier "param_3")) (+ "+") (number_literal "-1")) () ")"))) (<= "<=") (identifier "local_cc")) () ")")) (compound_statement "{\n        iVar5 = param_3;\n      }" ({ "{") (expression_statement "iVar5 = param_3;" (assignment_expression "iVar5 = param_3" (identifier "iVar5") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (expression_statement "_Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);" (assignment_expression "_Var18 = lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" (identifier "_Var18") (= "=") (call_expression "lseek64(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" (identifier "lseek64") (argument_list "(*(int *)(iVar3 + 0x88),\n                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0)" (( "(") (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) (, ",") (binary_expression "(longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" (parenthesized_expression "(longlong)" (( "(") (identifier "longlong") () ")")) (* "*") (cast_expression "(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + (int)(param_2 + 0x3fffffff) * 4)" (( "(") (binary_expression "iVar4 + (int)(param_2 + 0x3fffffff) * 4" (identifier "iVar4") (+ "+") (binary_expression "(int)(param_2 + 0x3fffffff) * 4" (cast_expression "(int)(param_2 + 0x3fffffff)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 + 0x3fffffff)" (( "(") (binary_expression "param_2 + 0x3fffffff" (identifier "param_2") (+ "+") (number_literal "0x3fffffff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar6 = DAT_000df3a4;" (assignment_expression "pcVar6 = DAT_000df3a4" (identifier "pcVar6") (= "=") (identifier "DAT_000df3a4")) (; ";")) (if_statement "if (_Var18 < 0) {\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" (if "if") (parenthesized_expression "(_Var18 < 0)" (( "(") (binary_expression "_Var18 < 0" (identifier "_Var18") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        piVar12 = __errno_location();\n        pcVar6 = strerror(*piVar12);\n        FUN_00045b60("%s: %s",param_1,pcVar6);\n        local_c4 = (char *)0xffffffff;\n        goto LAB_00045f65;\n      }" ({ "{") (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" (identifier "pcVar6") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "FUN_00045b60("%s: %s",param_1,pcVar6);" (call_expression "FUN_00045b60("%s: %s",param_1,pcVar6)" (identifier "FUN_00045b60") (argument_list "("%s: %s",param_1,pcVar6)" (( "(") (string_literal ""%s: %s"" (" """) (string_content "%s: %s") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" (identifier "local_c4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00045f65;" (goto "goto") (statement_identifier "LAB_00045f65") (; ";")) (} "}"))) (expression_statement "uVar2 = *(uint *)(iVar3 + 0x8c);" (assignment_expression "uVar2 = *(uint *)(iVar3 + 0x8c)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x8c)" (* "*") (cast_expression "(uint *)(iVar3 + 0x8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x8c)" (( "(") (binary_expression "iVar3 + 0x8c" (identifier "iVar3") (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if (DAT_000df3a4 == (char *)0x0) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }\n      else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" (if "if") (parenthesized_expression "(DAT_000df3a4 == (char *)0x0)" (( "(") (binary_expression "DAT_000df3a4 == (char *)0x0" (identifier "DAT_000df3a4") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }\n        local_bc = (char *)malloc(uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }\nLAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);\n        DAT_000df3a4 = local_bc;\n      }" ({ "{") (if_statement "if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" (if "if") (parenthesized_expression "(uVar2 + 0x14 == 0)" (( "(") (binary_expression "uVar2 + 0x14 == 0" (binary_expression "uVar2 + 0x14" (identifier "uVar2") (+ "+") (number_literal "0x14")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7c5);\n          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7c5);" (call_expression "FUN_00074330("awk.h",0x7c5)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7c5)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c5") () ")"))) (; ";")) (expression_statement "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);" (call_expression "FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244)" (identifier "FUN_00074d10") (argument_list "("%s:%d: emalloc called with zero bytes","debug.c",0x244)" (( "(") (string_literal ""%s:%d: emalloc called with zero bytes"" (" """) (string_content "%s:%d: emalloc called with zero bytes") (" """)) (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x244") () ")"))) (; ";")) (} "}"))) (expression_statement "local_bc = (char *)malloc(uVar2 + 0x14);" (assignment_expression "local_bc = (char *)malloc(uVar2 + 0x14)" (identifier "local_bc") (= "=") (cast_expression "(char *)malloc(uVar2 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "malloc(uVar2 + 0x14)" (identifier "malloc") (argument_list "(uVar2 + 0x14)" (( "(") (binary_expression "uVar2 + 0x14" (identifier "uVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }" (if "if") (parenthesized_expression "(local_bc == (char *)0x0)" (( "(") (binary_expression "local_bc == (char *)0x0" (identifier "local_bc") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7c9);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n          uVar19 = 0x244;\nLAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7c9);" (call_expression "FUN_00074330("awk.h",0x7c9)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7c9)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7c9") () ")"))) (; ";")) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" (identifier "pcVar6") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar19 = 0x244;" (assignment_expression "uVar19 = 0x244" (identifier "uVar19") (= "=") (number_literal "0x244")) (; ";")) (labeled_statement "LAB_0004669c:\n          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);" (statement_identifier "LAB_0004669c") (: ":") (expression_statement "FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);" (call_expression "FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6)" (identifier "FUN_00074d10") (argument_list "(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6)" (( "(") (identifier "uVar9") (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (identifier "uVar19") (, ",") (string_literal ""print_lines"" (" """) (string_content "print_lines") (" """)) (, ",") (string_literal ""linebuf"" (" """) (string_content "linebuf") (" """)) (, ",") (binary_expression "uVar2 + 0x14" (identifier "uVar2") (+ "+") (number_literal "0x14")) (, ",") (identifier "pcVar6") () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_000461dc:\n        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);" (statement_identifier "LAB_000461dc") (: ":") (expression_statement "DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);" (assignment_expression "DAT_000df3a0 = *(uint *)(iVar3 + 0x8c)" (identifier "DAT_000df3a0") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x8c)" (* "*") (cast_expression "(uint *)(iVar3 + 0x8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x8c)" (( "(") (binary_expression "iVar3 + 0x8c" (identifier "iVar3") (+ "+") (number_literal "0x8c")) () ")"))))) (; ";"))) (expression_statement "DAT_000df3a4 = local_bc;" (assignment_expression "DAT_000df3a4 = local_bc" (identifier "DAT_000df3a4") (= "=") (identifier "local_bc")) (; ";")) (} "}")) (else_clause "else if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" (else "else") (if_statement "if (DAT_000df3a0 < uVar2) {\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" (if "if") (parenthesized_expression "(DAT_000df3a0 < uVar2)" (( "(") (binary_expression "DAT_000df3a0 < uVar2" (identifier "DAT_000df3a0") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n        if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }\n        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);\n        if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }\n        goto LAB_000461dc;\n      }" ({ "{") (if_statement "if (uVar2 + 0x14 == 0) {\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" (if "if") (parenthesized_expression "(uVar2 + 0x14 == 0)" (( "(") (binary_expression "uVar2 + 0x14 == 0" (binary_expression "uVar2 + 0x14" (identifier "uVar2") (+ "+") (number_literal "0x14")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7e9);\n          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7e9);" (call_expression "FUN_00074330("awk.h",0x7e9)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7e9)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7e9") () ")"))) (; ";")) (expression_statement "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);" (call_expression "FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247)" (identifier "FUN_00074d10") (argument_list "("%s:%d: erealloc called with zero bytes","debug.c",0x247)" (( "(") (string_literal ""%s:%d: erealloc called with zero bytes"" (" """) (string_content "%s:%d: erealloc called with zero bytes") (" """)) (, ",") (string_literal ""debug.c"" (" """) (string_content "debug.c") (" """)) (, ",") (number_literal "0x247") () ")"))) (; ";")) (} "}"))) (expression_statement "local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);" (assignment_expression "local_bc = (char *)realloc(pcVar6,uVar2 + 0x14)" (identifier "local_bc") (= "=") (cast_expression "(char *)realloc(pcVar6,uVar2 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "realloc(pcVar6,uVar2 + 0x14)" (identifier "realloc") (argument_list "(pcVar6,uVar2 + 0x14)" (( "(") (identifier "pcVar6") (, ",") (binary_expression "uVar2 + 0x14" (identifier "uVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (local_bc == (char *)0x0) {\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }" (if "if") (parenthesized_expression "(local_bc == (char *)0x0)" (( "(") (binary_expression "local_bc == (char *)0x0" (identifier "local_bc") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_00074330("awk.h",0x7ed);\n          piVar12 = __errno_location();\n          pcVar6 = strerror(*piVar12);\n          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);\n          uVar19 = 0x247;\n          goto LAB_0004669c;\n        }" ({ "{") (expression_statement "FUN_00074330("awk.h",0x7ed);" (call_expression "FUN_00074330("awk.h",0x7ed)" (identifier "FUN_00074330") (argument_list "("awk.h",0x7ed)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7ed") () ")"))) (; ";")) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" (identifier "pcVar6") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar19 = 0x247;" (assignment_expression "uVar19 = 0x247" (identifier "uVar19") (= "=") (number_literal "0x247")) (; ";")) (goto_statement "goto LAB_0004669c;" (goto "goto") (statement_identifier "LAB_0004669c") (; ";")) (} "}"))) (goto_statement "goto LAB_000461dc;" (goto "goto") (statement_identifier "LAB_000461dc") (; ";")) (} "}"))))) (expression_statement "pcVar6 = param_2 + iVar5;" (assignment_expression "pcVar6 = param_2 + iVar5" (identifier "pcVar6") (= "=") (binary_expression "param_2 + iVar5" (identifier "param_2") (+ "+") (identifier "iVar5"))) (; ";")) (expression_statement "local_c4 = param_2;" (assignment_expression "local_c4 = param_2" (identifier "local_c4") (= "=") (identifier "param_2")) (; ";")) (if_statement "if ((int)param_2 < (int)pcVar6) {\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }" (if "if") (parenthesized_expression "((int)param_2 < (int)pcVar6)" (( "(") (binary_expression "(int)param_2 < (int)pcVar6" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (< "<") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6"))) () ")")) (compound_statement "{\n        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);\n        do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);\n      }" ({ "{") (expression_statement "piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);" (assignment_expression "piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" (identifier "piVar12") (= "=") (cast_expression "(int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4)" (( "(") (binary_expression "iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4" (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) (+ "+") (binary_expression "(int)(param_2 + 0x3fffffff) * 4" (cast_expression "(int)(param_2 + 0x3fffffff)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 + 0x3fffffff)" (( "(") (binary_expression "param_2 + 0x3fffffff" (identifier "param_2") (+ "+") (number_literal "0x3fffffff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (do_statement "do {\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        } while (param_2 != pcVar6);" (do "do") (compound_statement "{\n          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);\n          if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }\n          pcVar16 = DAT_000df3a4;\n          sVar7 = strlen(DAT_000df3a4);\n          pcVar16 = pcVar16 + sVar7;\n          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);\n          if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }\n          if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }\n          sVar14 = sVar8;\n          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }\n          iVar4 = sVar14 - (int)DAT_000df3a4;\n          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);\n          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;\n          param_2 = param_2 + 1;\n          piVar12 = piVar12 + 1;\n          local_c4 = param_2;\n        }" ({ "{") (expression_statement "__sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);" (call_expression "__sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2)" (identifier "__sprintf_chk") (argument_list "(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2)" (( "(") (identifier "DAT_000df3a4") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (pointer_expression "&DAT_000a8489" (& "&") (identifier "DAT_000a8489")) (, ",") (identifier "param_2") () ")"))) (; ";")) (if_statement "if (1 < iVar5) {\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }" (if "if") (parenthesized_expression "(1 < iVar5)" (( "(") (binary_expression "1 < iVar5" (number_literal "1") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n            ppuVar10 = (undefined **)PTR_LOOP_000dd624;\n            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }\n            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }\n          }" ({ "{") (expression_statement "ppuVar10 = (undefined **)PTR_LOOP_000dd624;" (assignment_expression "ppuVar10 = (undefined **)PTR_LOOP_000dd624" (identifier "ppuVar10") (= "=") (cast_expression "(undefined **)PTR_LOOP_000dd624" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_LOOP_000dd624"))) (; ";")) (if_statement "if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }" (if "if") (parenthesized_expression "((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620)" (( "(") (binary_expression "(undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620" (cast_expression "(undefined **)PTR_LOOP_000dd624" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_LOOP_000dd624")) (!= "!=") (pointer_expression "&PTR_LOOP_000dd620" (& "&") (identifier "PTR_LOOP_000dd620"))) () ")")) (compound_statement "{\n              do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);\n            }" ({ "{") (do_statement "do {\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);" (do "do") (compound_statement "{\n                if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }\n                ppuVar1 = ppuVar10 + 1;\n                ppuVar10 = (undefined **)*ppuVar1;\n              }" ({ "{") (if_statement "if ((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }" (if "if") (parenthesized_expression "((ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2))" (( "(") (binary_expression "(ppuVar10[5] == param_1) &&\n                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)" (parenthesized_expression "(ppuVar10[5] == param_1)" (( "(") (binary_expression "ppuVar10[5] == param_1" (subscript_expression "ppuVar10[5]" (identifier "ppuVar10") ([ "[") (number_literal "5") (] "]")) (== "==") (identifier "param_1")) () ")")) (&& "&&") (parenthesized_expression "((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)" (( "(") (binary_expression "(char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2" (cast_expression "(char *)(int)*(short *)(ppuVar10[6] + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(short *)(ppuVar10[6] + 0x10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(ppuVar10[6] + 0x10)" (* "*") (cast_expression "(short *)(ppuVar10[6] + 0x10)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar10[6] + 0x10)" (( "(") (binary_expression "ppuVar10[6] + 0x10" (subscript_expression "ppuVar10[6]" (identifier "ppuVar10") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "0x10")) () ")")))))) (== "==") (identifier "param_2")) () ")"))) () ")")) (compound_statement "{\n                  if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }\n                  goto LAB_00045ff4;\n                }" ({ "{") (if_statement "if ((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {\n                    pcVar16 = "%-4d:b  ";\n                  }\n                  else {\n                    pcVar16 = "%-4d:b=>";\n                  }" (if "if") (parenthesized_expression "((DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794))))" (( "(") (binary_expression "(DAT_000df390 == '\0') ||\n                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))" (parenthesized_expression "(DAT_000df390 == '\0')" (( "(") (binary_expression "DAT_000df390 == '\0'" (identifier "DAT_000df390") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))" (( "(") (parenthesized_expression "(param_1 != DAT_000e1790 || (param_2 != DAT_000e1794))" (( "(") (binary_expression "param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)" (binary_expression "param_1 != DAT_000e1790" (identifier "param_1") (!= "!=") (identifier "DAT_000e1790")) (|| "||") (parenthesized_expression "(param_2 != DAT_000e1794)" (( "(") (binary_expression "param_2 != DAT_000e1794" (identifier "param_2") (!= "!=") (identifier "DAT_000e1794")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    pcVar16 = "%-4d:b  ";\n                  }" ({ "{") (expression_statement "pcVar16 = "%-4d:b  ";" (assignment_expression "pcVar16 = "%-4d:b  "" (identifier "pcVar16") (= "=") (string_literal ""%-4d:b  "" (" """) (string_content "%-4d:b  ") (" """))) (; ";")) (} "}")) (else_clause "else {\n                    pcVar16 = "%-4d:b=>";\n                  }" (else "else") (compound_statement "{\n                    pcVar16 = "%-4d:b=>";\n                  }" ({ "{") (expression_statement "pcVar16 = "%-4d:b=>";" (assignment_expression "pcVar16 = "%-4d:b=>"" (identifier "pcVar16") (= "=") (string_literal ""%-4d:b=>"" (" """) (string_content "%-4d:b=>") (" """))) (; ";")) (} "}")))) (goto_statement "goto LAB_00045ff4;" (goto "goto") (statement_identifier "LAB_00045ff4") (; ";")) (} "}"))) (expression_statement "ppuVar1 = ppuVar10 + 1;" (assignment_expression "ppuVar1 = ppuVar10 + 1" (identifier "ppuVar1") (= "=") (binary_expression "ppuVar10 + 1" (identifier "ppuVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar10 = (undefined **)*ppuVar1;" (assignment_expression "ppuVar10 = (undefined **)*ppuVar1" (identifier "ppuVar10") (= "=") (cast_expression "(undefined **)*ppuVar1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar1" (* "*") (identifier "ppuVar1")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined **)*ppuVar1 != &PTR_LOOP_000dd620)" (( "(") (binary_expression "(undefined **)*ppuVar1 != &PTR_LOOP_000dd620" (cast_expression "(undefined **)*ppuVar1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar1" (* "*") (identifier "ppuVar1"))) (!= "!=") (pointer_expression "&PTR_LOOP_000dd620" (& "&") (identifier "PTR_LOOP_000dd620"))) () ")")) (; ";")) (} "}"))) (if_statement "if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))\n            {\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }" (if "if") (parenthesized_expression "(((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))" (( "(") (binary_expression "((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2)" (parenthesized_expression "((DAT_000df390 != '\0') && (param_1 == DAT_000e1790))" (( "(") (binary_expression "(DAT_000df390 != '\0') && (param_1 == DAT_000e1790)" (parenthesized_expression "(DAT_000df390 != '\0')" (( "(") (binary_expression "DAT_000df390 != '\0'" (identifier "DAT_000df390") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_1 == DAT_000e1790)" (( "(") (binary_expression "param_1 == DAT_000e1790" (identifier "param_1") (== "==") (identifier "DAT_000e1790")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_000e1794 == param_2)" (( "(") (binary_expression "DAT_000e1794 == param_2" (identifier "DAT_000e1794") (== "==") (identifier "param_2")) () ")"))) () ")")) (compound_statement "{\n              pcVar16 = "%-4d  =>";\nLAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);\n            }" ({ "{") (expression_statement "pcVar16 = "%-4d  =>";" (assignment_expression "pcVar16 = "%-4d  =>"" (identifier "pcVar16") (= "=") (string_literal ""%-4d  =>"" (" """) (string_content "%-4d  =>") (" """))) (; ";")) (labeled_statement "LAB_00045ff4:\n              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);" (statement_identifier "LAB_00045ff4") (: ":") (expression_statement "__sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);" (call_expression "__sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2)" (identifier "__sprintf_chk") (argument_list "(DAT_000df3a4,1,0xffffffff,pcVar16,param_2)" (( "(") (identifier "DAT_000df3a4") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "pcVar16") (, ",") (identifier "param_2") () ")"))) (; ";"))) (} "}"))) (} "}"))) (expression_statement "pcVar16 = DAT_000df3a4;" (assignment_expression "pcVar16 = DAT_000df3a4" (identifier "pcVar16") (= "=") (identifier "DAT_000df3a4")) (; ";")) (expression_statement "sVar7 = strlen(DAT_000df3a4);" (assignment_expression "sVar7 = strlen(DAT_000df3a4)" (identifier "sVar7") (= "=") (call_expression "strlen(DAT_000df3a4)" (identifier "strlen") (argument_list "(DAT_000df3a4)" (( "(") (identifier "DAT_000df3a4") () ")")))) (; ";")) (expression_statement "pcVar16 = pcVar16 + sVar7;" (assignment_expression "pcVar16 = pcVar16 + sVar7" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + sVar7" (identifier "pcVar16") (+ "+") (identifier "sVar7"))) (; ";")) (expression_statement "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);" (assignment_expression "sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" (identifier "sVar8") (= "=") (call_expression "read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" (identifier "read") (argument_list "(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1])" (( "(") (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) (, ",") (identifier "pcVar16") (, ",") (binary_expression "*piVar12 - piVar12[-1]" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (- "-") (subscript_expression "piVar12[-1]" (identifier "piVar12") ([ "[") (number_literal "-1") (] "]"))) () ")")))) (; ";")) (if_statement "if (sVar8 == -1) {\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" (if "if") (parenthesized_expression "(sVar8 == -1)" (( "(") (binary_expression "sVar8 == -1" (identifier "sVar8") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            piVar12 = __errno_location();\n            pcVar6 = strerror(*piVar12);\n            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);\n            FUN_00045b60(uVar9,param_1,pcVar6);\n            local_c4 = (char *)0xffffffff;\n            goto LAB_00045f65;\n          }" ({ "{") (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar6 = strerror(*piVar12);" (assignment_expression "pcVar6 = strerror(*piVar12)" (identifier "pcVar6") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);" (assignment_expression "uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"cannot read source file `%s\': %s",5)" (identifier "dcgettext") (argument_list "(0,"cannot read source file `%s\': %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot read source file `%s\': %s"" (" """) (string_content "cannot read source file `%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00045b60(uVar9,param_1,pcVar6);" (call_expression "FUN_00045b60(uVar9,param_1,pcVar6)" (identifier "FUN_00045b60") (argument_list "(uVar9,param_1,pcVar6)" (( "(") (identifier "uVar9") (, ",") (identifier "param_1") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" (identifier "local_c4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00045f65;" (goto "goto") (statement_identifier "LAB_00045f65") (; ";")) (} "}"))) (if_statement "if (sVar8 == 0) {\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" (if "if") (parenthesized_expression "(sVar8 == 0)" (( "(") (binary_expression "sVar8 == 0" (identifier "sVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);\n            goto LAB_00045f53;\n          }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);" (assignment_expression "uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"unexpected eof while reading file `%s\', line %d",5)" (identifier "dcgettext") (argument_list "(0,"unexpected eof while reading file `%s\', line %d",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unexpected eof while reading file `%s\', line %d"" (" """) (string_content "unexpected eof while reading file `%s") (escape_sequence "\'") (string_content ", line %d") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (goto_statement "goto LAB_00045f53;" (goto "goto") (statement_identifier "LAB_00045f53") (; ";")) (} "}"))) (expression_statement "sVar14 = sVar8;" (assignment_expression "sVar14 = sVar8" (identifier "sVar14") (= "=") (identifier "sVar8")) (; ";")) (if_statement "if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }" (if "if") (parenthesized_expression "((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n'))" (( "(") (binary_expression "(*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')" (parenthesized_expression "(*(char **)(iVar3 + 0x78) == param_2)" (( "(") (binary_expression "*(char **)(iVar3 + 0x78) == param_2" (pointer_expression "*(char **)(iVar3 + 0x78)" (* "*") (cast_expression "(char **)(iVar3 + 0x78)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x78)" (( "(") (binary_expression "iVar3 + 0x78" (identifier "iVar3") (+ "+") (number_literal "0x78")) () ")")))) (== "==") (identifier "param_2")) () ")")) (&& "&&") (parenthesized_expression "(pcVar16[sVar8 + -1] != '\n')" (( "(") (binary_expression "pcVar16[sVar8 + -1] != '\n'" (subscript_expression "pcVar16[sVar8 + -1]" (identifier "pcVar16") ([ "[") (binary_expression "sVar8 + -1" (identifier "sVar8") (+ "+") (number_literal "-1")) (] "]")) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            sVar14 = sVar8 + 1;\n            pcVar16[sVar8] = '\n';\n          }" ({ "{") (expression_statement "sVar14 = sVar8 + 1;" (assignment_expression "sVar14 = sVar8 + 1" (identifier "sVar14") (= "=") (binary_expression "sVar8 + 1" (identifier "sVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar16[sVar8] = '\n';" (assignment_expression "pcVar16[sVar8] = '\n'" (subscript_expression "pcVar16[sVar8]" (identifier "pcVar16") ([ "[") (identifier "sVar8") (] "]")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (} "}"))) (expression_statement "iVar4 = sVar14 - (int)DAT_000df3a4;" (assignment_expression "iVar4 = sVar14 - (int)DAT_000df3a4" (identifier "iVar4") (= "=") (binary_expression "sVar14 - (int)DAT_000df3a4" (identifier "sVar14") (- "-") (cast_expression "(int)DAT_000df3a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000df3a4")))) (; ";")) (expression_statement "pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);" (assignment_expression "pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" (identifier "pcVar11") (= "=") (cast_expression "(char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" (identifier "fwrite_unlocked") (argument_list "(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980)" (( "(") (identifier "DAT_000df3a4") (, ",") (number_literal "1") (, ",") (cast_expression "(size_t)(pcVar16 + iVar4)" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (parenthesized_expression "(pcVar16 + iVar4)" (( "(") (binary_expression "pcVar16 + iVar4" (identifier "pcVar16") (+ "+") (identifier "iVar4")) () ")"))) (, ",") (identifier "DAT_000e2980") () ")"))))) (; ";")) (if_statement "if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;" (if "if") (parenthesized_expression "(pcVar16 + iVar4 != pcVar11)" (( "(") (binary_expression "pcVar16 + iVar4 != pcVar11" (binary_expression "pcVar16 + iVar4" (identifier "pcVar16") (+ "+") (identifier "iVar4")) (!= "!=") (identifier "pcVar11")) () ")")) (goto_statement "goto LAB_00045f60;" (goto "goto") (statement_identifier "LAB_00045f60") (; ";"))) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar12 = piVar12 + 1;" (assignment_expression "piVar12 = piVar12 + 1" (identifier "piVar12") (= "=") (binary_expression "piVar12 + 1" (identifier "piVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_c4 = param_2;" (assignment_expression "local_c4 = param_2" (identifier "local_c4") (= "=") (identifier "param_2")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 != pcVar6)" (( "(") (binary_expression "param_2 != pcVar6" (identifier "param_2") (!= "!=") (identifier "pcVar6")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar4 = DAT_000df39c;" (assignment_expression "iVar4 = DAT_000df39c" (identifier "iVar4") (= "=") (identifier "DAT_000df39c")) (; ";")) (if_statement "if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }" (if "if") (parenthesized_expression "((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1))" (( "(") (binary_expression "(DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)" (parenthesized_expression "(DAT_000df39c != iVar3)" (( "(") (binary_expression "DAT_000df39c != iVar3" (identifier "DAT_000df39c") (!= "!=") (identifier "iVar3")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)" (( "(") (comma_expression "iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1" (assignment_expression "iVar4 = iVar3" (identifier "iVar4") (= "=") (identifier "iVar3")) (, ",") (binary_expression "*(int *)(DAT_000df39c + 0x88) != -1" (pointer_expression "*(int *)(DAT_000df39c + 0x88)" (* "*") (cast_expression "(int *)(DAT_000df39c + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000df39c + 0x88)" (( "(") (binary_expression "DAT_000df39c + 0x88" (identifier "DAT_000df39c") (+ "+") (number_literal "0x88")) () ")")))) (!= "!=") (number_literal "-1"))) () ")"))) () ")")) (compound_statement "{\n        close(*(int *)(DAT_000df39c + 0x88));\n        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;\n      }" ({ "{") (expression_statement "close(*(int *)(DAT_000df39c + 0x88));" (call_expression "close(*(int *)(DAT_000df39c + 0x88))" (identifier "close") (argument_list "(*(int *)(DAT_000df39c + 0x88))" (( "(") (pointer_expression "*(int *)(DAT_000df39c + 0x88)" (* "*") (cast_expression "(int *)(DAT_000df39c + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000df39c + 0x88)" (( "(") (binary_expression "DAT_000df39c + 0x88" (identifier "DAT_000df39c") (+ "+") (number_literal "0x88")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;" (assignment_expression "*(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff" (pointer_expression "*(undefined4 *)(DAT_000df39c + 0x88)" (* "*") (cast_expression "(undefined4 *)(DAT_000df39c + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000df39c + 0x88)" (( "(") (binary_expression "DAT_000df39c + 0x88" (identifier "DAT_000df39c") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "DAT_000df39c = iVar4;" (assignment_expression "DAT_000df39c = iVar4" (identifier "DAT_000df39c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "local_c4 = local_c4 + -1;" (assignment_expression "local_c4 = local_c4 + -1" (identifier "local_c4") (= "=") (binary_expression "local_c4 + -1" (identifier "local_c4") (+ "+") (number_literal "-1"))) (; ";")) (goto_statement "goto LAB_00045f65;" (goto "goto") (statement_identifier "LAB_00045f65") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_000727c0(iVar3);" (assignment_expression "iVar4 = FUN_000727c0(iVar3)" (identifier "iVar4") (= "=") (call_expression "FUN_000727c0(iVar3)" (identifier "FUN_000727c0") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "*(int *)(iVar3 + 0x88) = iVar4;" (assignment_expression "*(int *)(iVar3 + 0x88) = iVar4" (pointer_expression "*(int *)(iVar3 + 0x88)" (* "*") (cast_expression "(int *)(iVar3 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x88)" (( "(") (binary_expression "iVar3 + 0x88" (identifier "iVar3") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (-1 < iVar4) goto LAB_00045dbe;" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_00045dbe;" (goto "goto") (statement_identifier "LAB_00045dbe") (; ";"))) (labeled_statement "LAB_000460e8:\n    piVar12 = __errno_location();" (statement_identifier "LAB_000460e8") (: ":") (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" (identifier "piVar12") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "param_2 = strerror(*piVar12);" (assignment_expression "param_2 = strerror(*piVar12)" (identifier "param_2") (= "=") (call_expression "strerror(*piVar12)" (identifier "strerror") (argument_list "(*piVar12)" (( "(") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"cannot open source file `%s\' for reading: %s",5)" (identifier "dcgettext") (argument_list "(0,"cannot open source file `%s\' for reading: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot open source file `%s\' for reading: %s"" (" """) (string_content "cannot open source file `%s") (escape_sequence "\'") (string_content " for reading: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "LAB_00045f53:\n    FUN_00045b60(uVar9,param_1,param_2);" (statement_identifier "LAB_00045f53") (: ":") (expression_statement "FUN_00045b60(uVar9,param_1,param_2);" (call_expression "FUN_00045b60(uVar9,param_1,param_2)" (identifier "FUN_00045b60") (argument_list "(uVar9,param_1,param_2)" (( "(") (identifier "uVar9") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_00045f60:\n  local_c4 = (char *)0xffffffff;" (statement_identifier "LAB_00045f60") (: ":") (expression_statement "local_c4 = (char *)0xffffffff;" (assignment_expression "local_c4 = (char *)0xffffffff" (identifier "local_c4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";"))) (labeled_statement "LAB_00045f65:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }" (statement_identifier "LAB_00045f65") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000a13a0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_000a13a0();\n  }" ({ "{") (expression_statement "FUN_000a13a0();" (call_expression "FUN_000a13a0()" (identifier "FUN_000a13a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return local_c4;" (return "return") (identifier "local_c4") (; ";")) (} "}")))

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

int __regparm3 function_1(char *var_40,int var_32,int var_33)

{
  type_1 **ppbVar1;
  int var_50;
  type_2 var_37;
  int var_47;
  type_3 *pSVar5;
  type_3 *var_3;
  int var_4;
  char *var_16;
  size_t var_12;
  ssize_t var_22;
  type_4 *pBVar10;
  char *var_24;
  int *var_20;
  ssize_t var_45;
  char *var_23;
  char *var_25;
  int var_1;
  type_5 var_35;
  type_6 uVar17;
  int var_26;
  char *var_49;
  int var_19;
  int var_28;
  int var_29;
  char var_31;
  type_7 sbuf;
  
  var_50 = *(int *)(var_1 + 0x14);
  var_3 = var_2(var_40);
  if (var_3 != (type_3 *)0x0) {
    var_4 = var_3->fd;
    if (-1 < var_4) {
LAB_00045dbe:
      var_4 = var_5(3,var_4,(type_8 *)&sbuf);
      if ((var_4 == 0) && (var_3->mtime < sbuf.st_mtim.tv_sec)) {
        uVar17 = var_6(0,"WARNING: source file `%s\' modified since program compilation.\n",5);
        var_7(out_fp,1,uVar17,var_40);
        var_8(var_3->line_offset);
        var_3->line_offset = (int *)0x0;
        var_3->mtime = sbuf.st_mtim.tv_sec;
        var_9(var_3->fd);
        var_3->fd = -1;
        var_4 = var_10(var_3);
        var_3->fd = var_4;
        if (var_4 < 0) goto LAB_000460e8;
      }
      else {
        var_4 = var_3->fd;
      }
      var_11(var_4,0);
      if (var_3->line_offset == (int *)0x0) {
        var_12 = var_3->bufsize;
        if (var_12 == 0) {
          var_13("awk.h",0x7c5);
                    /* WARNING: Subroutine does not return */
          var_14("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);
        }
        var_16 = (char *)var_15(var_12);
        if (var_16 == (char *)0x0) {
          var_13("awk.h",0x7c9);
          var_20 = var_17();
          var_16 = var_18(*var_20);
          var_23 = (char *)var_6(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
                    /* WARNING: Subroutine does not return */
          var_14(var_23,"debug.c",0x1b2,0xa8438,"buf",var_12,var_16);
        }
        var_19 = var_3->srclines;
        var_12 = var_19 * 4 + 8;
        if (var_12 == 0) {
          var_13("awk.h",0x7c5);
                    /* WARNING: Subroutine does not return */
          var_14("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);
        }
        var_20 = (int *)var_15(var_12);
        if (var_20 == (int *)0x0) {
          var_13("awk.h",0x7c9);
          var_20 = var_17();
          var_16 = var_18(*var_20);
          var_23 = (char *)var_6(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
                    /* WARNING: Subroutine does not return */
          var_14(var_23,"debug.c",0x1b4,0xa8438,0xa8443,var_12,var_16);
        }
        var_3->line_offset = var_20;
        var_31 = '\0';
        *var_20 = 0;
        var_26 = 0;
        var_29 = 0;
        var_28 = 0;
        while (var_22 = var_21(var_3->fd,var_16,var_3->bufsize), 0 < var_22) {
          var_31 = var_16[var_22 + -1];
          var_23 = var_16 + var_22;
          var_24 = var_16;
          if (var_16 < var_23) {
            do {
              while (var_25 = var_24 + 1, *var_24 != '\n') {
                var_24 = var_25;
                if (var_23 == var_25) goto LAB_0004635c;
              }
              var_26 = var_26 + 1;
              if (var_19 < var_26) {
                var_12 = var_19 * 8 + 8;
                if (var_12 == 0) {
                  var_13("awk.h",0x7e9);
                    /* WARNING: Subroutine does not return */
                  var_14("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);
                }
                var_20 = (int *)var_27(var_3->line_offset,var_12);
                if (var_20 == (int *)0x0) {
                  var_13("awk.h",0x7ed);
                  var_20 = var_17();
                  var_16 = var_18(*var_20);
                  var_23 = (char *)var_6(0,
                                              "%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s"
                                              ,5);
                    /* WARNING: Subroutine does not return */
                  var_14(var_23,"debug.c",0x1bf,0xa8438,0xa8443,var_12,var_16);
                }
                var_3->line_offset = var_20;
                var_20 = var_20 + var_19;
                var_19 = var_19 * 2;
              }
              var_20[1] = (int)(var_25 + (var_28 - (int)var_16));
              var_4 = (int)(var_25 + (var_28 - (int)var_16)) - *var_20;
              if (var_29 < var_4) {
                var_29 = var_4;
              }
              var_20 = var_20 + 1;
              var_24 = var_25;
            } while (var_23 != var_25);
          }
LAB_0004635c:
          var_28 = var_28 + var_22;
        }
        var_8(var_16);
        if (var_22 == -1) {
          var_20 = var_17();
          var_23 = var_18(*var_20);
          var_16 = var_3->var_40;
          var_24 = (char *)var_6(0,"cannot read source file `%s\': %s",5);
          var_30(var_24,var_16,var_23);
          var_49 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        if (var_28 == 0) {
          var_16 = var_3->var_40;
          uVar17 = var_6(0,0xa8452,5,var_3);
          var_7(out_fp,1,uVar17,var_16);
          var_49 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        var_4 = var_29;
        if (var_31 != '\n') {
          var_26 = var_26 + 1;
          var_20[1] = var_28 + 1;
          var_4 = (var_28 + 1) - *var_20;
          if (var_4 <= var_29) {
            var_4 = var_29;
          }
        }
        var_29 = var_4;
        var_3->maxlen = var_29;
        var_3->srclines = var_26;
      }
      else {
        var_26 = var_3->srclines;
      }
      if ((var_32 < 1) || (var_26 < var_32)) {
        var_16 = (char *)var_6(0,"line number %d out of range; `%s\' has %d lines",5);
        var_30(var_16,var_32,var_40,var_26);
        var_49 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      var_20 = var_3->line_offset;
      var_4 = (var_26 - var_32) + 1;
      if (var_32 + -1 + var_33 <= var_26) {
        var_4 = var_33;
      }
      var_35 = var_34(var_3->fd,(type_9)var_20[var_32 + 0x3fffffff],0);
      if (var_35 < 0) {
        var_20 = var_17();
        var_16 = var_18(*var_20);
        var_30("%s: %s",var_40,var_16);
        var_49 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      var_37 = var_3->maxlen;
      if (var_36 == (char *)0x0) {
        if (var_37 + 0x14 == 0) {
          var_13("awk.h",0x7c5);
                    /* WARNING: Subroutine does not return */
          var_14("%s:%d: emalloc called with zero bytes","debug.c",0x244);
        }
        var_16 = (char *)var_15(var_37 + 0x14);
        if (var_16 == (char *)0x0) {
          var_13("awk.h",0x7c9);
          var_20 = var_17();
          var_16 = var_18(*var_20);
          var_23 = (char *)var_6(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          uVar17 = 0x244;
LAB_0004669c:
                    /* WARNING: Subroutine does not return */
          var_14(var_23,"debug.c",uVar17,0xa847d,0xa8475,var_37 + 0x14,var_16);
        }
LAB_000461dc:
        var_38 = var_3->maxlen;
        var_36 = var_16;
      }
      else if (var_38 < var_37) {
        if (var_37 + 0x14 == 0) {
          var_13("awk.h",0x7e9);
                    /* WARNING: Subroutine does not return */
          var_14("%s:%d: erealloc called with zero bytes","debug.c",0x247);
        }
        var_16 = (char *)var_27(var_36,var_37 + 0x14);
        if (var_16 == (char *)0x0) {
          var_13("awk.h",0x7ed);
          var_20 = var_17();
          var_16 = var_18(*var_20);
          var_23 = (char *)var_6(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5)
          ;
          uVar17 = 0x247;
          goto LAB_0004669c;
        }
        goto LAB_000461dc;
      }
      var_16 = (char *)(var_4 + var_32);
      var_49 = (char *)var_32;
      if (var_32 < (int)var_16) {
        var_20 = var_20 + var_32 + 0x40000000;
        do {
          var_39(var_36,1,0xffffffff,0xa8489,var_32);
          if (1 < var_4) {
            pBVar10 = breakpoints.prev;
            if (breakpoints.prev != &breakpoints) {
              do {
                if ((pBVar10->var_40 == var_40) &&
                   ((char *)(int)pBVar10->bpi->source_line == (char *)var_32)) {
                  if ((var_41 == false) || ((var_40 != var_42 || (var_32 != var_43)))) {
                    uVar17 = 0xa84a0;
                  }
                  else {
                    uVar17 = 0xa848e;
                  }
                  goto LAB_00045ff4;
                }
                ppbVar1 = &pBVar10->prev;
                pBVar10 = *ppbVar1;
              } while (*ppbVar1 != &breakpoints);
            }
            if (((var_41 != false) && (var_40 == var_42)) && (var_43 == var_32)) {
              uVar17 = 0xa8497;
LAB_00045ff4:
              var_39(var_36,1,0xffffffff,uVar17,var_32);
            }
          }
          var_23 = var_36;
          var_12 = var_44(var_36);
          var_23 = var_23 + var_12;
          var_22 = var_21(var_3->fd,var_23,*var_20 - var_20[-1]);
          if (var_22 == -1) {
            var_20 = var_17();
            var_16 = var_18(*var_20);
            var_23 = (char *)var_6(0,"cannot read source file `%s\': %s",5);
            var_30(var_23,var_40,var_16);
            var_49 = (char *)0xffffffff;
            goto LAB_00045f65;
          }
          if (var_22 == 0) {
            var_16 = (char *)var_6(0,"unexpected eof while reading file `%s\', line %d",5);
            goto LAB_00045f53;
          }
          var_45 = var_22;
          if (((char *)var_3->srclines == (char *)var_32) && (var_23[var_22 + -1] != '\n')) {
            var_45 = var_22 + 1;
            var_23[var_22] = '\n';
          }
          var_47 = var_45 - (int)var_36;
          var_24 = (char *)var_46(var_36,1,(size_t)(var_23 + var_47),(type_10 *)out_fp);
          if (var_23 + var_47 != var_24) goto LAB_00045f60;
          var_32 = var_32 + 1;
          var_20 = var_20 + 1;
          var_49 = (char *)var_32;
        } while ((char *)var_32 != var_16);
      }
      pSVar5 = var_48;
      if ((var_48 != var_3) && (pSVar5 = var_3, var_48->fd != -1)) {
        var_9(var_48->fd);
        var_48->fd = -1;
      }
      var_48 = pSVar5;
      var_49 = var_49 + -1;
      goto LAB_00045f65;
    }
    var_4 = var_10(var_3);
    var_3->fd = var_4;
    if (-1 < var_4) goto LAB_00045dbe;
LAB_000460e8:
    var_20 = var_17();
    var_32 = (int)var_18(*var_20);
    var_16 = (char *)var_6(0,"cannot open source file `%s\' for reading: %s",5);
LAB_00045f53:
    var_30(var_16,var_40,var_32);
  }
LAB_00045f60:
  var_49 = (char *)0xffffffff;
LAB_00045f65:
  if (var_50 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_51();
  }
  return (int)var_49;
}


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

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

char * __regparm3 MASKED(undefined *param_1,char *param_2,int param_3)

{
  undefined **ppuVar1;
  uint uVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  char *pcVar6;
  size_t sVar7;
  ssize_t sVar8;
  undefined4 uVar9;
  undefined **ppuVar10;
  char *pcVar11;
  int *piVar12;
  void *pvVar13;
  ssize_t sVar14;
  int *piVar15;
  char *pcVar16;
  char *pcVar17;
  int in_GS_OFFSET;
  __off64_t _Var18;
  undefined4 uVar19;
  int local_cc;
  char *local_c4;
  int local_c0;
  char *local_bc;
  int local_ac;
  char local_a5;
  stat64 local_80;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x45d79;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar3 = FUN_00045bc0();
  if (iVar3 != 0) {
    iVar4 = *(int *)(iVar3 + 0x88);
    if (-1 < iVar4) {
LAB_00045dbe:
      iVar4 = __fxstat64(3,iVar4,&local_80);
      if ((iVar4 == 0) && (*(int *)(iVar3 + 0x14) < local_80.st_mtim.tv_sec)) {
        uVar9 = dcgettext(0,"WARNING: source file `%s\' modified since program compilation.\n",5);
        __fprintf_chk(DAT_000e2980,1,uVar9,param_1);
        free(*(void **)(iVar3 + 0x84));
        *(undefined4 *)(iVar3 + 0x84) = 0;
        *(__time_t *)(iVar3 + 0x14) = local_80.st_mtim.tv_sec;
        close(*(int *)(iVar3 + 0x88));
        *(undefined4 *)(iVar3 + 0x88) = 0xffffffff;
        iVar4 = FUN_000727c0(iVar3);
        *(int *)(iVar3 + 0x88) = iVar4;
        if (iVar4 < 0) goto LAB_000460e8;
      }
      else {
        iVar4 = *(int *)(iVar3 + 0x88);
      }
      FUN_00067400(iVar4,0);
      if (*(int *)(iVar3 + 0x84) == 0) {
        sVar7 = *(size_t *)(iVar3 + 0x7c);
        if (sVar7 == 0) {
          FUN_00074330("awk.h",0x7c5);
          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b2);
        }
        pcVar6 = (char *)malloc(sVar7);
        if (pcVar6 == (char *)0x0) {
          FUN_00074330("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar16 = strerror(*piVar12);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          FUN_00074d10(uVar9,"debug.c",0x1b2,"find_lines","buf",sVar7,pcVar16);
        }
        local_c0 = *(int *)(iVar3 + 0x78);
        sVar7 = local_c0 * 4 + 8;
        if (sVar7 == 0) {
          FUN_00074330("awk.h",0x7c5);
          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x1b4);
        }
        piVar12 = (int *)malloc(sVar7);
        if (piVar12 == (int *)0x0) {
          FUN_00074330("awk.h",0x7c9);
          piVar15 = __errno_location();
          pcVar16 = strerror(*piVar15);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          FUN_00074d10(uVar9,"debug.c",0x1b4,"find_lines","s->line_offset",sVar7,pcVar16);
        }
        *(int **)(iVar3 + 0x84) = piVar12;
        local_a5 = '\0';
        *piVar12 = 0;
        local_cc = 0;
        local_ac = 0;
        local_bc = (char *)0x0;
        while (sVar8 = read(*(int *)(iVar3 + 0x88),pcVar6,*(size_t *)(iVar3 + 0x7c)), 0 < sVar8) {
          local_a5 = pcVar6[sVar8 + -1];
          pcVar16 = pcVar6 + sVar8;
          pcVar11 = pcVar6;
          if (pcVar6 < pcVar16) {
            do {
              while (pcVar17 = pcVar11 + 1, *pcVar11 != '\n') {
                pcVar11 = pcVar17;
                if (pcVar16 == pcVar17) goto LAB_0004635c;
              }
              local_cc = local_cc + 1;
              if (local_c0 < local_cc) {
                sVar7 = local_c0 * 8 + 8;
                pvVar13 = *(void **)(iVar3 + 0x84);
                if (sVar7 == 0) {
                  FUN_00074330("awk.h",0x7e9);
                  FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x1bf);
                }
                pvVar13 = realloc(pvVar13,sVar7);
                if (pvVar13 == (void *)0x0) {
                  FUN_00074330("awk.h",0x7ed);
                  piVar12 = __errno_location();
                  pcVar11 = strerror(*piVar12);
                  uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);
                  FUN_00074d10(uVar9,"debug.c",0x1bf,"find_lines","s->line_offset",sVar7,pcVar11);
                }
                *(void **)(iVar3 + 0x84) = pvVar13;
                piVar12 = (int *)((int)pvVar13 + local_c0 * 4);
                local_c0 = local_c0 * 2;
              }
              piVar12[1] = (int)(pcVar17 + ((int)local_bc - (int)pcVar6));
              iVar4 = (int)(pcVar17 + ((int)local_bc - (int)pcVar6)) - *piVar12;
              if (local_ac < iVar4) {
                local_ac = iVar4;
              }
              piVar12 = piVar12 + 1;
              pcVar11 = pcVar17;
            } while (pcVar16 != pcVar17);
          }
LAB_0004635c:
          local_bc = (char *)((int)local_bc + sVar8);
        }
        free(pcVar6);
        if (sVar8 == -1) {
          piVar12 = __errno_location();
          pcVar6 = strerror(*piVar12);
          uVar9 = *(undefined4 *)(iVar3 + 0xc);
          uVar19 = dcgettext(0,"cannot read source file `%s\': %s",5);
          FUN_00045b60(uVar19,uVar9,pcVar6);
          local_c4 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        if (local_bc == (char *)0x0) {
          uVar9 = *(undefined4 *)(iVar3 + 0xc);
          uVar19 = dcgettext(0,"source file `%s\' is empty.\n",5,iVar3);
          __fprintf_chk(DAT_000e2980,1,uVar19,uVar9);
          local_c4 = (char *)0xffffffff;
          goto LAB_00045f65;
        }
        iVar4 = local_ac;
        if (local_a5 != '\n') {
          local_cc = local_cc + 1;
          piVar12[1] = (int)local_bc + 1;
          iVar4 = ((int)local_bc + 1) - *piVar12;
          if (iVar4 <= local_ac) {
            iVar4 = local_ac;
          }
        }
        local_ac = iVar4;
        *(int *)(iVar3 + 0x8c) = local_ac;
        *(int *)(iVar3 + 0x78) = local_cc;
      }
      else {
        local_cc = *(int *)(iVar3 + 0x78);
      }
      if (((int)param_2 < 1) || (local_cc < (int)param_2)) {
        uVar9 = dcgettext(0,"line number %d out of range; `%s\' has %d lines",5);
        FUN_00045b60(uVar9,param_2,param_1,local_cc);
        local_c4 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      iVar4 = *(int *)(iVar3 + 0x84);
      iVar5 = (local_cc - (int)param_2) + 1;
      if ((int)(param_2 + param_3 + -1) <= local_cc) {
        iVar5 = param_3;
      }
      _Var18 = lseek64(*(int *)(iVar3 + 0x88),
                       (longlong)*(int *)(iVar4 + (int)(param_2 + 0x3fffffff) * 4),0);
      pcVar6 = DAT_000df3a4;
      if (_Var18 < 0) {
        piVar12 = __errno_location();
        pcVar6 = strerror(*piVar12);
        FUN_00045b60("%s: %s",param_1,pcVar6);
        local_c4 = (char *)0xffffffff;
        goto LAB_00045f65;
      }
      uVar2 = *(uint *)(iVar3 + 0x8c);
      if (DAT_000df3a4 == (char *)0x0) {
        if (uVar2 + 0x14 == 0) {
          FUN_00074330("awk.h",0x7c5);
          FUN_00074d10("%s:%d: emalloc called with zero bytes","debug.c",0x244);
        }
        local_bc = (char *)malloc(uVar2 + 0x14);
        if (local_bc == (char *)0x0) {
          FUN_00074330("awk.h",0x7c9);
          piVar12 = __errno_location();
          pcVar6 = strerror(*piVar12);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
          uVar19 = 0x244;
LAB_0004669c:
          FUN_00074d10(uVar9,"debug.c",uVar19,"print_lines","linebuf",uVar2 + 0x14,pcVar6);
        }
LAB_000461dc:
        DAT_000df3a0 = *(uint *)(iVar3 + 0x8c);
        DAT_000df3a4 = local_bc;
      }
      else if (DAT_000df3a0 < uVar2) {
        if (uVar2 + 0x14 == 0) {
          FUN_00074330("awk.h",0x7e9);
          FUN_00074d10("%s:%d: erealloc called with zero bytes","debug.c",0x247);
        }
        local_bc = (char *)realloc(pcVar6,uVar2 + 0x14);
        if (local_bc == (char *)0x0) {
          FUN_00074330("awk.h",0x7ed);
          piVar12 = __errno_location();
          pcVar6 = strerror(*piVar12);
          uVar9 = dcgettext(0,"%s:%d:%s: %s: cannot reallocate %ld bytes of memory: %s",5);
          uVar19 = 0x247;
          goto LAB_0004669c;
        }
        goto LAB_000461dc;
      }
      pcVar6 = param_2 + iVar5;
      local_c4 = param_2;
      if ((int)param_2 < (int)pcVar6) {
        piVar12 = (int *)(iVar4 + 4 + (int)(param_2 + 0x3fffffff) * 4);
        do {
          __sprintf_chk(DAT_000df3a4,1,0xffffffff,&DAT_000a8489,param_2);
          if (1 < iVar5) {
            ppuVar10 = (undefined **)PTR_LOOP_000dd624;
            if ((undefined **)PTR_LOOP_000dd624 != &PTR_LOOP_000dd620) {
              do {
                if ((ppuVar10[5] == param_1) &&
                   ((char *)(int)*(short *)(ppuVar10[6] + 0x10) == param_2)) {
                  if ((DAT_000df390 == '\0') ||
                     ((param_1 != DAT_000e1790 || (param_2 != DAT_000e1794)))) {
                    pcVar16 = "%-4d:b  ";
                  }
                  else {
                    pcVar16 = "%-4d:b=>";
                  }
                  goto LAB_00045ff4;
                }
                ppuVar1 = ppuVar10 + 1;
                ppuVar10 = (undefined **)*ppuVar1;
              } while ((undefined **)*ppuVar1 != &PTR_LOOP_000dd620);
            }
            if (((DAT_000df390 != '\0') && (param_1 == DAT_000e1790)) && (DAT_000e1794 == param_2))
            {
              pcVar16 = "%-4d  =>";
LAB_00045ff4:
              __sprintf_chk(DAT_000df3a4,1,0xffffffff,pcVar16,param_2);
            }
          }
          pcVar16 = DAT_000df3a4;
          sVar7 = strlen(DAT_000df3a4);
          pcVar16 = pcVar16 + sVar7;
          sVar8 = read(*(int *)(iVar3 + 0x88),pcVar16,*piVar12 - piVar12[-1]);
          if (sVar8 == -1) {
            piVar12 = __errno_location();
            pcVar6 = strerror(*piVar12);
            uVar9 = dcgettext(0,"cannot read source file `%s\': %s",5);
            FUN_00045b60(uVar9,param_1,pcVar6);
            local_c4 = (char *)0xffffffff;
            goto LAB_00045f65;
          }
          if (sVar8 == 0) {
            uVar9 = dcgettext(0,"unexpected eof while reading file `%s\', line %d",5);
            goto LAB_00045f53;
          }
          sVar14 = sVar8;
          if ((*(char **)(iVar3 + 0x78) == param_2) && (pcVar16[sVar8 + -1] != '\n')) {
            sVar14 = sVar8 + 1;
            pcVar16[sVar8] = '\n';
          }
          iVar4 = sVar14 - (int)DAT_000df3a4;
          pcVar11 = (char *)fwrite_unlocked(DAT_000df3a4,1,(size_t)(pcVar16 + iVar4),DAT_000e2980);
          if (pcVar16 + iVar4 != pcVar11) goto LAB_00045f60;
          param_2 = param_2 + 1;
          piVar12 = piVar12 + 1;
          local_c4 = param_2;
        } while (param_2 != pcVar6);
      }
      iVar4 = DAT_000df39c;
      if ((DAT_000df39c != iVar3) && (iVar4 = iVar3, *(int *)(DAT_000df39c + 0x88) != -1)) {
        close(*(int *)(DAT_000df39c + 0x88));
        *(undefined4 *)(DAT_000df39c + 0x88) = 0xffffffff;
      }
      DAT_000df39c = iVar4;
      local_c4 = local_c4 + -1;
      goto LAB_00045f65;
    }
    iVar4 = FUN_000727c0(iVar3);
    *(int *)(iVar3 + 0x88) = iVar4;
    if (-1 < iVar4) goto LAB_00045dbe;
LAB_000460e8:
    piVar12 = __errno_location();
    param_2 = strerror(*piVar12);
    uVar9 = dcgettext(0,"cannot open source file `%s\' for reading: %s",5);
LAB_00045f53:
    FUN_00045b60(uVar9,param_1,param_2);
  }
LAB_00045f60:
  local_c4 = (char *)0xffffffff;
LAB_00045f65:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_000a13a0();
  }
  return local_c4;
}

