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

int main(int argc,char **argv)

{
  char cVar1;
  FILE *pFVar2;
  _Bool _Var3;
  char *pcVar4;
  char **ppcVar5;
  size_t sVar6;
  size_t sVar7;
  undefined4 uVar8;
  char *pcVar9;
  int *piVar10;
  uint uVar11;
  int iVar12;
  undefined4 extraout_ECX;
  int iVar13;
  int extraout_EDX;
  int extraout_EDX_00;
  int extraout_EDX_01;
  int extraout_EDX_02;
  int extraout_EDX_03;
  int extraout_EDX_04;
  undefined4 extraout_EDX_05;
  int extraout_EDX_06;
  int extraout_EDX_07;
  undefined1 *puVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  byte *pbVar17;
  byte *pbVar18;
  bool bVar19;
  bool bVar20;
  byte bVar21;
  __off64_t _Var22;
  int aiStack_94 [2];
  undefined8 uStack_8c;
  int iStack_84;
  undefined1 auStack_80 [8];
  size_t sStack_78;
  uint uStack_74;
  undefined1 auStack_50 [4];
  char *local_4c;
  char *local_48;
  byte *local_44;
  byte local_3d;
  int local_3c;
  char **local_38;
  byte *local_34;
  FILE *local_30;
  int local_2c;
  undefined8 local_28;
  int *local_18;
  
  ppcVar5 = argv;
  bVar21 = 0;
  local_18 = &argc;
  local_2c = argc;
  set_program_name(*argv);
  setlocale(6,"");
  bindtextdomain();
  textdomain();
  atexit((__func *)PTR_close_stdout_00032fc8);
  separator_ends_record = true;
  puVar16 = auStack_50;
  puVar15 = auStack_50;
  puVar14 = auStack_50;
  separator = "\n";
  local_28._0_4_ = "brs:";
  local_30 = (FILE *)&rpl_optarg;
  sentinel_length = 1;
  while (pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),
        pcVar4 != (char *)0xffffffff) {
    if (pcVar4 == (char *)0x62) {
      separator_ends_record = false;
    }
    else {
      if ((int)pcVar4 < 99) {
        local_28._0_4_ = pcVar4;
        if (pcVar4 == (char *)0xffffff7d) {
          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);
                    /* WARNING: Subroutine does not return */
          exit(0);
        }
        if (pcVar4 == (char *)0xffffff7e) {
                    /* WARNING: Subroutine does not return */
          usage(0);
        }
LAB_00011c4c:
                    /* WARNING: Subroutine does not return */
        usage(1);
      }
      if (pcVar4 == (char *)0x72) {
        sentinel_length = 0;
      }
      else {
        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;
        separator = (char *)local_30->_flags;
      }
    }
  }
  local_28 = CONCAT44(local_28._4_4_,0xffffffff);
  if (sentinel_length == 0) {
    if (*separator == '\0') {
      dcgettext();
      puVar16 = &stack0xffffffa0;
      pcVar4 = (char *)error();
LAB_00011c7f:
      *(char **)(puVar16 + -4) = pcVar4;
      *(char **)(puVar16 + -8) = "%s";
      *(undefined4 *)(puVar16 + -0xc) = 0;
      puVar14 = puVar16 + -0x10;
      *(undefined4 *)(puVar16 + -0x10) = 1;
      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;
      error();
      iVar13 = extraout_EDX_07;
      goto LAB_00011c90;
    }
    compiled_separator.buffer = (re_dfa_t *)0x0;
    compiled_separator.fastmap = compiled_separator_fastmap;
    compiled_separator.allocated = 0;
    compiled_separator.translate = (uchar *)0x0;
    uVar11 = 0xffffffff;
    pcVar4 = separator;
    do {
      if (uVar11 == 0) break;
      uVar11 = uVar11 - 1;
      cVar1 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;
    } while (cVar1 != '\0');
    pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);
    if (pcVar4 != (char *)0x0) goto LAB_00011c7f;
  }
  else {
    match_length = 1;
    sentinel_length = match_length;
    if (*separator != '\0') {
      uVar11 = 0xffffffff;
      pcVar4 = separator;
      do {
        if (uVar11 == 0) break;
        uVar11 = uVar11 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;
      } while (cVar1 != '\0');
      match_length = ~uVar11 - 1;
      sentinel_length = match_length;
    }
  }
  iVar13 = 0x12;
  read_size = 0x2000;
  uVar11 = 0x2000;
  if (0xfff < sentinel_length) {
    while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {
      iVar13 = iVar13 + -1;
      uVar11 = read_size;
      if (iVar13 == 0) {
                    /* WARNING: Subroutine does not return */
        xalloc_die();
      }
    }
  }
  uVar11 = read_size + 1 + sentinel_length;
  G_buffer_size = uVar11 * 2;
  if (uVar11 <= read_size || G_buffer_size <= uVar11) {
                    /* WARNING: Subroutine does not return */
    xalloc_die();
  }
  pcVar4 = (char *)xmalloc(G_buffer_size);
  if (sentinel_length == 0) {
    G_buffer = pcVar4 + 1;
    iVar13 = 0;
  }
  else {
    local_28 = CONCAT44(local_28._4_4_,sentinel_length);
    G_buffer = pcVar4;
    memcpy(pcVar4,separator,sentinel_length + 1);
    G_buffer = pcVar4 + (int)(char *)local_28;
    iVar13 = (int)(char *)local_28;
  }
  if (rpl_optind < local_2c) {
    ppcVar5 = ppcVar5 + rpl_optind;
    local_34 = (byte *)*ppcVar5;
    if (local_34 == (byte *)0x0) {
      local_3d = 1;
      local_34 = (byte *)0x0;
      goto LAB_00011970;
    }
  }
  else {
    ppcVar5 = main::default_file_list;
    local_34 = &DAT_0002b12a;
  }
  local_44 = &DAT_0002b12a;
  bVar19 = (char **)0xfffffffb < ppcVar5;
  bVar20 = ppcVar5 + 1 == (char **)0x0;
  local_3d = 1;
  local_4c = "%s: read error";
  local_38 = ppcVar5 + 1;
  do {
    iVar12 = 2;
    pbVar17 = local_34;
    pbVar18 = local_44;
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar19 = *pbVar17 < *pbVar18;
      bVar20 = *pbVar17 == *pbVar18;
      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;
    } while (bVar20);
    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);
    if (local_3c == 0) {
      *(int *)(puVar14 + -4) = iVar12;
      *(undefined4 *)(puVar14 + -8) = 5;
      *(char **)(puVar14 + -0xc) = "standard input";
      *(undefined4 *)(puVar14 + -0x10) = 0;
      have_read_stdin = true;
      *(undefined4 *)(puVar14 + -0x14) = 0x11808;
      local_34 = (byte *)dcgettext();
      local_2c = 0;
LAB_00011815:
      *(undefined4 *)(puVar14 + -4) = 2;
      *(undefined4 *)(puVar14 + -8) = 0;
      *(undefined4 *)(puVar14 + -0xc) = 0;
      *(int *)(puVar14 + -0x10) = local_2c;
      *(undefined4 *)(puVar14 + -0x14) = 0x11823;
      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),
                       *(int *)(puVar14 + -4));
      if (_Var22 < 0) {
LAB_0001184e:
        pFVar2 = tmp_fp_6837;
        if (tempfile_6836 == (char *)0x0) {
          *(char **)(puVar14 + -0x10) = "TMPDIR";
          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;
          pcVar9 = getenv(*(char **)(puVar14 + -0x10));
          pcVar4 = pcVar9;
          if (pcVar9 == (char *)0x0) {
            pcVar4 = "/tmp";
          }
          *(char **)(puVar14 + -4) = pcVar9;
          *(undefined4 *)(puVar14 + -8) = 0;
          *(char **)(puVar14 + -0xc) = "tacXXXXXX";
          *(char **)(puVar14 + -0x10) = pcVar4;
          local_28 = CONCAT44(local_28._4_4_,pcVar4);
          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;
          tempfile_6836 =
               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),
                                 *(char ***)(puVar14 + -8));
          *(char **)(puVar14 + -0x10) = tempfile_6836;
          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;
          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));
          if (iVar13 < 0) {
            *(int *)(puVar14 + -4) = iVar13;
            *(int *)(puVar14 + -8) = iVar13;
            *(char **)(puVar14 + -0xc) = (char *)local_28;
            *(undefined4 *)(puVar14 + -0x10) = 4;
            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;
            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));
            *(undefined4 *)(puVar14 + -8) = 5;
            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";
            *(undefined4 *)(puVar14 + -0x10) = 0;
            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;
            uVar8 = dcgettext();
            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;
            piVar10 = __errno_location();
            *(char **)(puVar14 + -0x14) = pcVar4;
            *(undefined4 *)(puVar14 + -0x18) = uVar8;
            *(int *)(puVar14 + -0x1c) = *piVar10;
            *(undefined4 *)(puVar14 + -0x20) = 0;
            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;
            error();
          }
          else {
            *(int *)(puVar14 + -4) = iVar13;
            *(int *)(puVar14 + -8) = iVar13;
            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;
            *(int *)(puVar14 + -0x10) = iVar13;
            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;
            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));
            if (tmp_fp_6837 != (FILE *)0x0) {
              *(char **)(puVar14 + -0x10) = tempfile_6836;
              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;
              unlink(*(char **)(puVar14 + -0x10));
              goto LAB_000118a7;
            }
            *(undefined4 *)(puVar14 + -4) = 0;
            *(undefined4 *)(puVar14 + -8) = 0;
            *(char **)(puVar14 + -0xc) = tempfile_6836;
            *(undefined4 *)(puVar14 + -0x10) = 4;
            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;
            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));
            local_28 = CONCAT44(local_28._4_4_,pcVar4);
            *(undefined4 *)(puVar14 + -8) = 5;
            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";
            *(undefined4 *)(puVar14 + -0x10) = 0;
            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;
            uVar8 = dcgettext();
            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;
            piVar10 = __errno_location();
            *(char **)(puVar14 + -0x14) = (char *)local_28;
            *(undefined4 *)(puVar14 + -0x18) = uVar8;
            *(int *)(puVar14 + -0x1c) = *piVar10;
            *(undefined4 *)(puVar14 + -0x20) = 0;
            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;
            error();
            *(int *)(puVar14 + -0x10) = iVar13;
            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;
            close(*(int *)(puVar14 + -0x10));
            *(char **)(puVar14 + -0x10) = tempfile_6836;
            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;
            unlink(*(char **)(puVar14 + -0x10));
          }
          *(char **)(puVar14 + -0x10) = tempfile_6836;
          _Var3 = false;
          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;
          free(*(void **)(puVar14 + -0x10));
          tempfile_6836 = (char *)0x0;
          iVar13 = extraout_EDX_06;
        }
        else {
          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;
          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;
          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));
          *(undefined4 *)(puVar14 + -0x14) = 0;
          *(undefined4 *)(puVar14 + -0x18) = 0;
          *(undefined4 *)(puVar14 + -0x1c) = 0;
          *(FILE **)(puVar14 + -0x20) = pFVar2;
          *(undefined4 *)(puVar14 + -0x24) = 0x11876;
          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),
                              *(int *)(puVar14 + -0x14));
          if (iVar13 < 0) {
LAB_00011a5c:
            *(int *)(puVar14 + -4) = iVar13;
            *(int *)(puVar14 + -8) = iVar13;
            *(char **)(puVar14 + -0xc) = tempfile_6836;
            *(undefined4 *)(puVar14 + -0x10) = 4;
            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;
            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));
            *(undefined4 *)(puVar14 + -8) = 5;
            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";
          }
          else {
            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;
            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;
            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));
            *(undefined4 *)(puVar14 + -8) = 0;
            *(undefined4 *)(puVar14 + -0xc) = 0;
            *(int *)(puVar14 + -0x10) = iVar13;
            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;
            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));
            if (iVar13 < 0) goto LAB_00011a5c;
LAB_000118a7:
            local_30 = tmp_fp_6837;
            uVar11 = 0;
            iVar12 = 0;
            local_48 = tempfile_6836;
            while( true ) {
              *(size_t *)(puVar14 + -8) = read_size;
              *(char **)(puVar14 + -0xc) = G_buffer;
              *(int *)(puVar14 + -0x10) = local_2c;
              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;
              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),
                                *(size_t *)(puVar14 + -8));
              if (sVar7 == 0) break;
              if (sVar7 == 0xffffffff) {
                *(int *)(puVar14 + -4) = iVar12;
                *(byte **)(puVar14 + -8) = local_34;
                *(undefined4 *)(puVar14 + -0xc) = 3;
                *(undefined4 *)(puVar14 + -0x10) = 0;
                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;
                pcVar4 = quotearg_n_style_colon
                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),
                                    *(char **)(puVar14 + -8));
                *(undefined4 *)(puVar14 + -8) = 5;
                *(char **)(puVar14 + -0xc) = local_4c;
                goto LAB_00011a39;
              }
              *(FILE **)(puVar14 + -4) = local_30;
              *(size_t *)(puVar14 + -8) = sVar7;
              *(undefined4 *)(puVar14 + -0xc) = 1;
              *(char **)(puVar14 + -0x10) = G_buffer;
              local_28 = CONCAT44(local_28._4_4_,sVar7);
              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;
              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),
                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));
              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;
              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);
              uVar11 = uVar11 + (int)(char *)local_28;
              iVar12 = iVar12 + (uint)bVar19;
            }
            *(FILE **)(puVar14 + -0x10) = local_30;
            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;
            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));
            if (iVar13 == 0) {
              iVar13 = extraout_EDX;
              if (iVar12 < 0) {
LAB_00011c90:
                _Var3 = false;
              }
              else {
                *(FILE **)(puVar14 + -0x10) = local_30;
                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;
                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));
                *(int *)(puVar14 + -0xc) = iVar12;
                *(uint *)(puVar14 + -0x10) = uVar11;
                *(undefined4 *)(puVar14 + -0x14) = 0x11946;
                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));
                iVar13 = extraout_EDX_00;
              }
              goto LAB_0001194b;
            }
LAB_00011a7b:
            *(uint *)(puVar14 + -4) = uVar11;
            *(char **)(puVar14 + -8) = local_48;
            *(undefined4 *)(puVar14 + -0xc) = 3;
            *(undefined4 *)(puVar14 + -0x10) = 0;
            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;
            pcVar4 = quotearg_n_style_colon
                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),
                                *(char **)(puVar14 + -8));
            *(undefined4 *)(puVar14 + -8) = 5;
            *(char **)(puVar14 + -0xc) = "%s: write error";
          }
LAB_00011a39:
          *(undefined4 *)(puVar14 + -0x10) = 0;
          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;
          uVar8 = dcgettext();
          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;
          piVar10 = __errno_location();
          *(char **)(puVar14 + -0x14) = pcVar4;
          *(undefined4 *)(puVar14 + -0x18) = uVar8;
          _Var3 = false;
          *(int *)(puVar14 + -0x1c) = *piVar10;
          *(undefined4 *)(puVar14 + -0x20) = 0;
          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;
          error();
          iVar13 = extraout_EDX_03;
        }
      }
      else {
        *(int *)(puVar14 + -0x10) = local_2c;
        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;
        local_28 = _Var22;
        iVar13 = isatty(*(int *)(puVar14 + -0x10));
        if (iVar13 != 0) goto LAB_0001184e;
        *(undefined4 *)(puVar14 + -4) = 0;
        *(undefined4 *)(puVar14 + -8) = 0;
        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;
        *(char **)(puVar14 + -0x10) = (char *)local_28;
        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;
        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));
        iVar13 = extraout_EDX_04;
      }
LAB_0001194b:
      if (local_3c != 0) {
        *(int *)(puVar14 + -0x10) = local_2c;
        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;
        iVar12 = close(*(int *)(puVar14 + -0x10));
        iVar13 = extraout_EDX_02;
        if (iVar12 != 0) {
          *(undefined4 *)(puVar14 + -4) = extraout_ECX;
          *(byte **)(puVar14 + -8) = local_34;
          *(undefined4 *)(puVar14 + -0xc) = 3;
          *(undefined4 *)(puVar14 + -0x10) = 0;
          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;
          pcVar4 = quotearg_n_style_colon
                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),
                              *(char **)(puVar14 + -8));
          *(undefined4 *)(puVar14 + -8) = 5;
          *(char **)(puVar14 + -0xc) = local_4c;
          goto LAB_000119d0;
        }
      }
    }
    else {
      *(int *)(puVar14 + -4) = iVar13;
      *(int *)(puVar14 + -8) = iVar13;
      *(undefined4 *)(puVar14 + -0xc) = 0;
      *(byte **)(puVar14 + -0x10) = local_34;
      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;
      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));
      if (-1 < local_2c) goto LAB_00011815;
      *(int *)(puVar14 + -4) = local_2c;
      *(int *)(puVar14 + -8) = local_2c;
      *(byte **)(puVar14 + -0xc) = local_34;
      *(undefined4 *)(puVar14 + -0x10) = 4;
      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;
      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));
      *(undefined4 *)(puVar14 + -8) = 5;
      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";
LAB_000119d0:
      *(undefined4 *)(puVar14 + -0x10) = 0;
      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;
      uVar8 = dcgettext();
      *(undefined4 *)(puVar14 + -0x14) = 0x119de;
      piVar10 = __errno_location();
      *(char **)(puVar14 + -0x14) = pcVar4;
      *(undefined4 *)(puVar14 + -0x18) = uVar8;
      _Var3 = false;
      *(int *)(puVar14 + -0x1c) = *piVar10;
      *(undefined4 *)(puVar14 + -0x20) = 0;
      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;
      error();
      iVar13 = extraout_EDX_01;
    }
    ppcVar5 = local_38 + 1;
    local_3d = local_3d & _Var3;
    local_34 = (byte *)*local_38;
    bVar19 = false;
    bVar20 = local_34 == (byte *)0x0;
    puVar15 = puVar14;
    local_38 = ppcVar5;
  } while (!bVar20);
LAB_00011970:
  *(undefined4 *)(puVar15 + -4) = 0x11979;
  output((char *)0x0,(char *)0x0);
  if (have_read_stdin != false) {
    *(undefined4 *)(puVar15 + -0x10) = 0;
    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;
    iVar13 = close(*(int *)(puVar15 + -0x10));
    if (iVar13 < 0) {
      *(undefined4 *)(puVar15 + -4) = 0x11b63;
      piVar10 = __errno_location();
      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;
      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;
      *(int *)(puVar15 + -0xc) = *piVar10;
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;
      error();
      local_3d = 0;
    }
  }
  return (uint)(local_3d ^ 1);
}



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

byte FUN_000114e0(int param_1,undefined4 *param_2)

{
  char cVar1;
  FILE *pFVar2;
  undefined4 *puVar3;
  byte bVar4;
  int iVar5;
  undefined **ppuVar6;
  size_t sVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  char *pcVar10;
  int *piVar11;
  uint uVar12;
  int iVar13;
  undefined4 extraout_ECX;
  int extraout_EDX;
  int extraout_EDX_00;
  int extraout_EDX_01;
  int extraout_EDX_02;
  int extraout_EDX_03;
  char *pcVar14;
  int extraout_EDX_04;
  undefined4 extraout_EDX_05;
  int extraout_EDX_06;
  int extraout_EDX_07;
  undefined1 *puVar15;
  undefined1 *puVar16;
  byte *pbVar17;
  byte *pbVar18;
  bool bVar19;
  bool bVar20;
  byte bVar21;
  __off64_t _Var22;
  int aiStack_74 [5];
  undefined1 auStack_50 [4];
  char *local_4c;
  int local_48;
  byte *local_44;
  byte local_3d;
  int local_3c;
  undefined **local_38;
  byte *local_34;
  FILE *local_30;
  int local_2c;
  undefined8 local_28;
  undefined4 *local_18;
  
  puVar3 = param_2;
  bVar21 = 0;
  local_18 = &param_1;
  local_2c = param_1;
  FUN_00012a70(*param_2);
  setlocale(6,"");
  bindtextdomain("coreutils","/usr/share/locale");
  textdomain("coreutils");
  FUN_00029610(PTR_FUN_00032fc8);
  DAT_00035334 = 1;
  DAT_00035338 = "\n";
  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);
  local_30 = (FILE *)&DAT_000354c8;
  DAT_00035330 = 1;
  puVar15 = auStack_50;
  while( true ) {
    *(undefined4 *)(puVar15 + -0x10) = 0;
    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;
    *(uint *)(puVar15 + -0x18) = (uint)local_28;
    *(undefined4 **)(puVar15 + -0x1c) = puVar3;
    *(int *)(puVar15 + -0x20) = local_2c;
    *(undefined4 *)(puVar15 + -0x24) = 0x11591;
    iVar5 = FUN_00016760();
    if (iVar5 == -1) break;
    puVar16 = puVar15;
    if (iVar5 == 0x62) {
LAB_00011640:
      DAT_00035334 = 0;
      puVar15 = puVar16;
    }
    else {
      if (iVar5 < 99) {
        local_28 = CONCAT44(local_28._4_4_,iVar5);
        if (iVar5 == -0x83) {
          *(undefined4 *)(puVar15 + -8) = 0;
          *(char **)(puVar15 + -0xc) = "David MacKenzie";
          *(char **)(puVar15 + -0x10) = "Jay Lepreau";
          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;
          *(char **)(puVar15 + -0x18) = "GNU coreutils";
          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;
          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;
          *(undefined4 *)(puVar15 + -0x24) = 0x11600;
          FUN_000153f0();
          *(undefined4 *)(puVar15 + -0x10) = 0;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;
          exit(*(int *)(puVar15 + -0x10));
        }
        if (iVar5 != -0x82) goto LAB_00011c4c;
        puVar16 = puVar15 + -0x10;
        *(undefined4 *)(puVar15 + -0x10) = 0;
        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;
        FUN_00012510();
        goto LAB_00011640;
      }
      if (iVar5 == 0x72) {
        DAT_00035330 = 0;
      }
      else {
        if (iVar5 != 0x73) {
LAB_00011c4c:
          *(undefined4 *)(puVar15 + -0x10) = 1;
          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;
          DAT_00035324 = FUN_00012510();
          puVar15 = puVar15 + -0x10;
          goto LAB_00011c56;
        }
        DAT_00035338 = (char *)local_30->_flags;
      }
    }
  }
  local_28 = CONCAT44(local_28._4_4_,0xffffffff);
  if (DAT_00035330 == 0) {
    if (*DAT_00035338 == '\0') {
      *(undefined4 **)(puVar15 + -4) = puVar3;
      *(undefined4 *)(puVar15 + -8) = 5;
      *(char **)(puVar15 + -0xc) = "separator cannot be empty";
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;
      uVar9 = dcgettext();
      *(undefined4 *)(puVar15 + -8) = uVar9;
      *(undefined4 *)(puVar15 + -0xc) = 0;
      puVar16 = puVar15 + -0x10;
      *(undefined4 *)(puVar15 + -0x10) = 1;
      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;
      iVar5 = error();
LAB_00011c7f:
      *(int *)(puVar16 + -4) = iVar5;
      *(char **)(puVar16 + -8) = "%s";
      *(undefined4 *)(puVar16 + -0xc) = 0;
      puVar15 = puVar16 + -0x10;
      *(undefined4 *)(puVar16 + -0x10) = 1;
      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;
      error();
      iVar5 = extraout_EDX_07;
      goto LAB_00011c90;
    }
    DAT_00035300 = 0;
    DAT_00035310 = &DAT_00035200;
    DAT_00035304 = 0;
    DAT_00035314 = 0;
    uVar12 = 0xffffffff;
    pcVar14 = DAT_00035338;
    do {
      if (uVar12 == 0) break;
      uVar12 = uVar12 - 1;
      cVar1 = *pcVar14;
      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;
    } while (cVar1 != '\0');
    *(uint *)(puVar15 + -4) = ~uVar12;
    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;
    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;
    *(char **)(puVar15 + -0x10) = DAT_00035338;
    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;
    iVar5 = FUN_00027c20();
    puVar16 = puVar15;
    if (iVar5 != 0) goto LAB_00011c7f;
  }
  else {
    DAT_0003532c = 1;
    DAT_00035330 = DAT_0003532c;
    if (*DAT_00035338 != '\0') {
      uVar12 = 0xffffffff;
      pcVar14 = DAT_00035338;
      do {
        if (uVar12 == 0) break;
        uVar12 = uVar12 - 1;
        cVar1 = *pcVar14;
        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;
      } while (cVar1 != '\0');
      DAT_0003532c = ~uVar12 - 1;
      DAT_00035330 = DAT_0003532c;
    }
  }
  iVar5 = 0x12;
  DAT_00035324 = 0x2000;
  uVar12 = 0x2000;
  if (0xfff < DAT_00035330) {
    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {
      iVar5 = iVar5 + -1;
      uVar12 = DAT_00035324;
      if (iVar5 == 0) {
LAB_00011c56:
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar15 + -4) = 0x11c61;
        FUN_000157c0();
      }
    }
  }
  uVar12 = DAT_00035324 + 1 + DAT_00035330;
  DAT_00035320 = uVar12 * 2;
  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar15 + -4) = 0x11c9c;
    FUN_000157c0();
  }
  *(uint *)(puVar15 + -0x10) = DAT_00035320;
  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;
  iVar5 = FUN_000154c0();
  if (DAT_00035330 == 0) {
    DAT_00035328 = iVar5 + 1;
    iVar5 = 0;
  }
  else {
    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);
    *(uint *)(puVar15 + -4) = DAT_00035330;
    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;
    *(char **)(puVar15 + -0xc) = DAT_00035338;
    *(int *)(puVar15 + -0x10) = iVar5;
    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;
    DAT_00035328 = iVar5;
    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));
    DAT_00035328 = iVar5 + (uint)local_28;
    iVar5 = (uint)local_28;
  }
  if (DAT_000331a8 < local_2c) {
    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);
    local_34 = *ppuVar6;
    if (*ppuVar6 == (byte *)0x0) {
      local_3d = 1;
      goto LAB_00011970;
    }
    local_44 = &DAT_0002b12a;
  }
  else {
    ppuVar6 = &PTR_DAT_00032e40;
    local_44 = &DAT_0002b12a;
    local_34 = &DAT_0002b12a;
  }
  local_44 = &DAT_0002b12a;
  bVar19 = (undefined **)0xfffffffb < ppuVar6;
  bVar20 = ppuVar6 + 1 == (undefined **)0x0;
  local_3d = 1;
  local_38 = ppuVar6 + 1;
  local_4c = "%s: read error";
  do {
    iVar13 = 2;
    pbVar17 = local_34;
    pbVar18 = local_44;
    do {
      if (iVar13 == 0) break;
      iVar13 = iVar13 + -1;
      bVar19 = *pbVar17 < *pbVar18;
      bVar20 = *pbVar17 == *pbVar18;
      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;
    } while (bVar20);
    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);
    if (local_3c == 0) {
      *(int *)(puVar15 + -4) = iVar13;
      *(undefined4 *)(puVar15 + -8) = 5;
      *(char **)(puVar15 + -0xc) = "standard input";
      *(undefined4 *)(puVar15 + -0x10) = 0;
      DAT_00035335 = '\x01';
      *(undefined4 *)(puVar15 + -0x14) = 0x11808;
      local_34 = (byte *)dcgettext();
      local_2c = 0;
LAB_00011815:
      *(undefined4 *)(puVar15 + -4) = 2;
      *(undefined4 *)(puVar15 + -8) = 0;
      *(undefined4 *)(puVar15 + -0xc) = 0;
      *(int *)(puVar15 + -0x10) = local_2c;
      *(undefined4 *)(puVar15 + -0x14) = 0x11823;
      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),
                       *(int *)(puVar15 + -4));
      if (_Var22 < 0) {
LAB_0001184e:
        pFVar2 = DAT_000351e4;
        if (DAT_000351e8 == 0) {
          *(char **)(puVar15 + -0x10) = "TMPDIR";
          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;
          pcVar10 = getenv(*(char **)(puVar15 + -0x10));
          pcVar14 = pcVar10;
          if (pcVar10 == (char *)0x0) {
            pcVar14 = "/tmp";
          }
          *(char **)(puVar15 + -4) = pcVar10;
          *(undefined4 *)(puVar15 + -8) = 0;
          *(char **)(puVar15 + -0xc) = "tacXXXXXX";
          *(char **)(puVar15 + -0x10) = pcVar14;
          local_28 = CONCAT44(local_28._4_4_,pcVar14);
          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;
          DAT_000351e8 = FUN_00012950();
          *(int *)(puVar15 + -0x10) = DAT_000351e8;
          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;
          iVar5 = FUN_00014de0();
          uVar9 = (uint)local_28;
          if (iVar5 < 0) {
            *(int *)(puVar15 + -4) = iVar5;
            *(int *)(puVar15 + -8) = iVar5;
            *(undefined4 *)(puVar15 + -0xc) = uVar9;
            *(undefined4 *)(puVar15 + -0x10) = 4;
            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;
            uVar9 = FUN_000148c0();
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";
            *(undefined4 *)(puVar15 + -0x10) = 0;
            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;
            uVar8 = dcgettext();
            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;
            piVar11 = __errno_location();
            *(undefined4 *)(puVar15 + -0x14) = uVar9;
            *(undefined4 *)(puVar15 + -0x18) = uVar8;
            *(int *)(puVar15 + -0x1c) = *piVar11;
            *(undefined4 *)(puVar15 + -0x20) = 0;
            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;
            error();
          }
          else {
            *(int *)(puVar15 + -4) = iVar5;
            *(int *)(puVar15 + -8) = iVar5;
            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;
            *(int *)(puVar15 + -0x10) = iVar5;
            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;
            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));
            if (DAT_000351e4 != (FILE *)0x0) {
              *(int *)(puVar15 + -0x10) = DAT_000351e8;
              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;
              unlink(*(char **)(puVar15 + -0x10));
              goto LAB_000118a7;
            }
            *(undefined4 *)(puVar15 + -4) = 0;
            *(undefined4 *)(puVar15 + -8) = 0;
            *(int *)(puVar15 + -0xc) = DAT_000351e8;
            *(undefined4 *)(puVar15 + -0x10) = 4;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;
            uVar9 = FUN_000148c0();
            local_28 = CONCAT44(local_28._4_4_,uVar9);
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";
            *(undefined4 *)(puVar15 + -0x10) = 0;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;
            uVar9 = dcgettext();
            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;
            piVar11 = __errno_location();
            *(uint *)(puVar15 + -0x14) = (uint)local_28;
            *(undefined4 *)(puVar15 + -0x18) = uVar9;
            *(int *)(puVar15 + -0x1c) = *piVar11;
            *(undefined4 *)(puVar15 + -0x20) = 0;
            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;
            error();
            *(int *)(puVar15 + -0x10) = iVar5;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;
            close(*(int *)(puVar15 + -0x10));
            *(int *)(puVar15 + -0x10) = DAT_000351e8;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;
            unlink(*(char **)(puVar15 + -0x10));
          }
          *(int *)(puVar15 + -0x10) = DAT_000351e8;
          bVar4 = 0;
          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;
          free(*(void **)(puVar15 + -0x10));
          DAT_000351e8 = 0;
          iVar5 = extraout_EDX_06;
        }
        else {
          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;
          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;
          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));
          *(undefined4 *)(puVar15 + -0x14) = 0;
          *(undefined4 *)(puVar15 + -0x18) = 0;
          *(undefined4 *)(puVar15 + -0x1c) = 0;
          *(FILE **)(puVar15 + -0x20) = pFVar2;
          *(undefined4 *)(puVar15 + -0x24) = 0x11876;
          iVar5 = FUN_00015800();
          if (iVar5 < 0) {
LAB_00011a5c:
            *(int *)(puVar15 + -4) = iVar5;
            *(int *)(puVar15 + -8) = iVar5;
            *(int *)(puVar15 + -0xc) = DAT_000351e8;
            *(undefined4 *)(puVar15 + -0x10) = 4;
            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;
            uVar9 = FUN_000148c0();
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";
          }
          else {
            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;
            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;
            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));
            *(undefined4 *)(puVar15 + -8) = 0;
            *(undefined4 *)(puVar15 + -0xc) = 0;
            *(int *)(puVar15 + -0x10) = iVar5;
            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;
            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));
            if (iVar5 < 0) goto LAB_00011a5c;
LAB_000118a7:
            local_30 = DAT_000351e4;
            uVar12 = 0;
            iVar13 = 0;
            local_48 = DAT_000351e8;
            while( true ) {
              *(uint *)(puVar15 + -8) = DAT_00035324;
              *(int *)(puVar15 + -0xc) = DAT_00035328;
              *(int *)(puVar15 + -0x10) = local_2c;
              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;
              iVar5 = FUN_00014d70();
              if (iVar5 == 0) break;
              if (iVar5 == -1) {
                *(int *)(puVar15 + -4) = iVar13;
                *(byte **)(puVar15 + -8) = local_34;
                *(undefined4 *)(puVar15 + -0xc) = 3;
                *(undefined4 *)(puVar15 + -0x10) = 0;
                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;
                uVar9 = FUN_00014a80();
                *(undefined4 *)(puVar15 + -8) = 5;
                *(char **)(puVar15 + -0xc) = local_4c;
                goto LAB_00011a39;
              }
              *(FILE **)(puVar15 + -4) = local_30;
              *(int *)(puVar15 + -8) = iVar5;
              *(undefined4 *)(puVar15 + -0xc) = 1;
              *(int *)(puVar15 + -0x10) = DAT_00035328;
              local_28 = CONCAT44(local_28._4_4_,iVar5);
              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;
              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),
                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));
              if ((uint)local_28 != sVar7) goto LAB_00011a7b;
              bVar19 = CARRY4(uVar12,(uint)local_28);
              uVar12 = uVar12 + (uint)local_28;
              iVar13 = iVar13 + (uint)bVar19;
            }
            *(FILE **)(puVar15 + -0x10) = local_30;
            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;
            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));
            if (iVar5 == 0) {
              iVar5 = extraout_EDX;
              if (iVar13 < 0) {
LAB_00011c90:
                bVar4 = 0;
              }
              else {
                *(FILE **)(puVar15 + -0x10) = local_30;
                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;
                fileno(*(FILE **)(puVar15 + -0x10));
                *(int *)(puVar15 + -0xc) = iVar13;
                *(uint *)(puVar15 + -0x10) = uVar12;
                *(undefined4 *)(puVar15 + -0x14) = 0x11946;
                bVar4 = FUN_00011f20();
                iVar5 = extraout_EDX_00;
              }
              goto LAB_0001194b;
            }
LAB_00011a7b:
            *(uint *)(puVar15 + -4) = uVar12;
            *(int *)(puVar15 + -8) = local_48;
            *(undefined4 *)(puVar15 + -0xc) = 3;
            *(undefined4 *)(puVar15 + -0x10) = 0;
            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;
            uVar9 = FUN_00014a80();
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "%s: write error";
          }
LAB_00011a39:
          *(undefined4 *)(puVar15 + -0x10) = 0;
          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;
          uVar8 = dcgettext();
          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;
          piVar11 = __errno_location();
          *(undefined4 *)(puVar15 + -0x14) = uVar9;
          *(undefined4 *)(puVar15 + -0x18) = uVar8;
          bVar4 = 0;
          *(int *)(puVar15 + -0x1c) = *piVar11;
          *(undefined4 *)(puVar15 + -0x20) = 0;
          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;
          error();
          iVar5 = extraout_EDX_03;
        }
      }
      else {
        *(int *)(puVar15 + -0x10) = local_2c;
        local_28 = _Var22;
        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;
        iVar5 = isatty(*(int *)(puVar15 + -0x10));
        uVar9 = (uint)local_28;
        uVar8 = local_28._4_4_;
        if (iVar5 != 0) goto LAB_0001184e;
        *(undefined4 *)(puVar15 + -4) = 0;
        *(undefined4 *)(puVar15 + -8) = 0;
        *(undefined4 *)(puVar15 + -0xc) = uVar8;
        *(undefined4 *)(puVar15 + -0x10) = uVar9;
        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;
        bVar4 = FUN_00011f20();
        iVar5 = extraout_EDX_04;
      }
LAB_0001194b:
      if (local_3c != 0) {
        *(int *)(puVar15 + -0x10) = local_2c;
        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;
        iVar13 = close(*(int *)(puVar15 + -0x10));
        iVar5 = extraout_EDX_02;
        if (iVar13 != 0) {
          *(undefined4 *)(puVar15 + -4) = extraout_ECX;
          *(byte **)(puVar15 + -8) = local_34;
          *(undefined4 *)(puVar15 + -0xc) = 3;
          *(undefined4 *)(puVar15 + -0x10) = 0;
          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;
          uVar9 = FUN_00014a80();
          *(undefined4 *)(puVar15 + -8) = 5;
          *(char **)(puVar15 + -0xc) = local_4c;
          goto LAB_000119d0;
        }
      }
    }
    else {
      *(int *)(puVar15 + -4) = iVar5;
      *(int *)(puVar15 + -8) = iVar5;
      *(undefined4 *)(puVar15 + -0xc) = 0;
      *(byte **)(puVar15 + -0x10) = local_34;
      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;
      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));
      local_2c = iVar5;
      if (-1 < iVar5) goto LAB_00011815;
      *(int *)(puVar15 + -4) = iVar5;
      *(int *)(puVar15 + -8) = iVar5;
      *(byte **)(puVar15 + -0xc) = local_34;
      *(undefined4 *)(puVar15 + -0x10) = 4;
      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;
      uVar9 = FUN_000148c0();
      *(undefined4 *)(puVar15 + -8) = 5;
      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";
LAB_000119d0:
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;
      uVar8 = dcgettext();
      *(undefined4 *)(puVar15 + -0x14) = 0x119de;
      piVar11 = __errno_location();
      *(undefined4 *)(puVar15 + -0x14) = uVar9;
      *(undefined4 *)(puVar15 + -0x18) = uVar8;
      bVar4 = 0;
      *(int *)(puVar15 + -0x1c) = *piVar11;
      *(undefined4 *)(puVar15 + -0x20) = 0;
      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;
      error();
      iVar5 = extraout_EDX_01;
    }
    ppuVar6 = local_38;
    local_38 = local_38 + 1;
    local_3d = local_3d & bVar4;
    local_34 = *ppuVar6;
    bVar19 = false;
    bVar20 = *ppuVar6 == (byte *)0x0;
  } while (!bVar20);
LAB_00011970:
  *(undefined4 *)(puVar15 + -4) = 0x11979;
  FUN_00011e20();
  if (DAT_00035335 != '\0') {
    *(undefined4 *)(puVar15 + -0x10) = 0;
    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;
    iVar5 = close(*(int *)(puVar15 + -0x10));
    if (iVar5 < 0) {
      *(undefined4 *)(puVar15 + -4) = 0x11b63;
      piVar11 = __errno_location();
      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;
      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;
      *(int *)(puVar15 + -0xc) = *piVar11;
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;
      error();
      local_3d = 0;
    }
  }
  return local_3d ^ 1;
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00011ce0
ADD EBX,0x21b0b
PUSH ECX
SUB ESP,0x44
MOV ESI,dword ptr [ECX + 0x4]
MOV EAX,dword ptr [ECX]
PUSH dword ptr [ESI]
MOV dword ptr [EBP + -0x24],EAX
CALL 0x00012a70
POP EDI
POP EAX
LEA EAX,[EBX + 0xffff8147]
PUSH EAX
LEA EDI,[EBX + 0xffff70b6]
PUSH 0x6
CALL 0x00011390
POP EAX
LEA EAX,[EBX + 0xffff70c9]
POP EDX
PUSH EAX
PUSH EDI
CALL 0x00011400
MOV dword ptr [ESP],EDI
LEA EDI,[EBX + 0xfffffe60]
CALL 0x00011180
POP ECX
PUSH dword ptr [EBX + 0xffffffc8]
CALL 0x00029610
LEA EAX,[EBX + 0xffff8146]
MOV byte ptr [EBX + 0x2334],0x1
ADD ESP,0x10
MOV dword ptr [EBX + 0x2338],EAX
LEA EAX,[EBX + 0xffff70f7]
MOV dword ptr [EBP + -0x20],EAX
LEA EAX,[EBX + 0x24c8]
MOV dword ptr [EBX + 0x2330],0x1
MOV dword ptr [EBP + -0x28],EAX
SUB ESP,0xc
PUSH 0x0
PUSH EDI
PUSH dword ptr [EBP + -0x20]
PUSH ESI
PUSH dword ptr [EBP + -0x24]
CALL 0x00016760
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x0001164c
CMP EAX,0x62
JZ 0x00011640
JLE 0x000115c0
CMP EAX,0x72
JNZ 0x00011610
MOV dword ptr [EBX + 0x2330],0x0
JMP 0x0001157f
MOV dword ptr [EBP + -0x20],EAX
CMP EAX,0xffffff7d
JNZ 0x00011629
SUB ESP,0x4
LEA EAX,[EBX + 0xffff70db]
PUSH 0x0
PUSH EAX
LEA EAX,[EBX + 0xffff70eb]
PUSH EAX
LEA EAX,[EBX + 0x148]
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xffff70b2]
PUSH EAX
LEA EAX,[EBX + 0xffff7038]
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffd0]
PUSH dword ptr [EAX]
CALL 0x000153f0
ADD ESP,0x14
PUSH 0x0
CALL 0x00011270
CMP EAX,0x73
JNZ 0x00011c4c
MOV EAX,dword ptr [EBP + -0x28]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBX + 0x2338],EAX
JMP 0x0001157f
CMP EAX,0xffffff7e
JNZ 0x00011c4c
SUB ESP,0xc
PUSH 0x0
CALL 0x00012510
NOP
MOV byte ptr [EBX + 0x2334],0x0
JMP 0x0001157f
MOV EDX,dword ptr [EBX + 0x2338]
CMP dword ptr [EBX + 0x2330],0x0
MOV dword ptr [EBP + -0x20],EAX
MOVZX EDI,byte ptr [EDX]
JNZ 0x00011777
MOV EAX,EDI
TEST AL,AL
JZ 0x00011c61
LEA EAX,[EBX + 0x2200]
MOV ECX,dword ptr [EBP + -0x20]
MOV EDI,EDX
MOV dword ptr [EBX + 0x2300],0x0
MOV dword ptr [EBX + 0x2310],EAX
XOR EAX,EAX
MOV dword ptr [EBX + 0x2304],0x0
MOV dword ptr [EBX + 0x2314],0x0
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[ECX + -0x1]
PUSH ECX
LEA ECX,[EBX + 0x2300]
PUSH ECX
PUSH EAX
PUSH EDX
CALL 0x00027c20
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00011c7f
MOV EDI,dword ptr [EBX + 0x2330]
MOV EDX,0x12
MOV EAX,0x2000
MOV dword ptr [EBX + 0x2324],0x2000
CMP EDI,0xfff
JA 0x000116f1
JMP 0x00011701
SUB EDX,0x1
JZ 0x00011c56
ADD EAX,EAX
MOV ECX,EAX
SHR ECX,0x1
CMP ECX,EDI
JBE 0x000116e8
MOV dword ptr [EBX + 0x2324],EAX
LEA EDX,[EAX + EDI*0x1 + 0x1]
CMP EDX,EAX
LEA ECX,[EDX + EDX*0x1]
SETBE AL
CMP ECX,EDX
MOV dword ptr [EBX + 0x2320],ECX
MOV EDI,EAX
SETBE AL
MOV EDX,EDI
OR DL,AL
JNZ 0x00011c97
SUB ESP,0xc
PUSH ECX
CALL 0x000154c0
MOV EDX,dword ptr [EBX + 0x2330]
ADD ESP,0x10
MOV EDI,EAX
MOV dword ptr [EBX + 0x2328],EAX
TEST EDX,EDX
JNZ 0x00011b80
ADD EDI,0x1
MOV dword ptr [EBX + 0x2328],EDI
LEA EAX,[EBX + 0x1a8]
MOV EAX,dword ptr [EAX]
CMP EAX,dword ptr [EBP + -0x24]
JGE 0x000117a1
LEA EAX,[ESI + EAX*0x4]
MOV EDI,dword ptr [EAX]
MOV dword ptr [EBP + -0x2c],EDI
TEST EDI,EDI
JZ 0x00011b40
LEA EDI,[EBX + 0xffff812a]
MOV dword ptr [EBP + -0x3c],EDI
JMP 0x000117b3
MOV ECX,EDI
MOV EAX,0x1
TEST CL,CL
JZ 0x00011790
MOV ECX,dword ptr [EBP + -0x20]
XOR EAX,EAX
MOV EDI,EDX
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[ECX + -0x1]
MOV dword ptr [EBX + 0x2330],EAX
MOV dword ptr [EBX + 0x232c],EAX
JMP 0x000116c1
LEA ECX,[EBX + 0xffff812a]
LEA EAX,[EBX + 0xfffffe40]
MOV dword ptr [EBP + -0x3c],ECX
MOV dword ptr [EBP + -0x2c],ECX
ADD EAX,0x4
MOV byte ptr [EBP + -0x35],0x1
MOV dword ptr [EBP + -0x30],EAX
LEA EAX,[EBX + 0xffff7018]
MOV dword ptr [EBP + -0x44],EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV ESI,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EBP + -0x3c]
MOV ECX,0x2
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
MOVSX EAX,AL
MOV dword ptr [EBP + -0x34],EAX
TEST EAX,EAX
JNZ 0x0001199c
LEA EAX,[EBX + 0xffff7116]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV byte ptr [EBX + 0x2335],0x1
CALL 0x00011140
MOV dword ptr [EBP + -0x24],0x0
ADD ESP,0x10
MOV dword ptr [EBP + -0x2c],EAX
PUSH 0x2
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x24]
CALL 0x000113e0
ADD ESP,0x10
MOV ECX,EDX
TEST ECX,ECX
JS 0x0001184e
SUB ESP,0xc
PUSH dword ptr [EBP + -0x24]
MOV dword ptr [EBP + -0x1c],ECX
MOV dword ptr [EBP + -0x20],EAX
CALL 0x00011420
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x20]
MOV ECX,dword ptr [EBP + -0x1c]
TEST EAX,EAX
JZ 0x00011b1c
CMP dword ptr [EBX + 0x21e8],0x0
JZ 0x00011a98
MOV ESI,dword ptr [EBX + 0x21e4]
SUB ESP,0xc
PUSH ESI
CALL 0x000113a0
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x00015800
ADD ESP,0x20
TEST EAX,EAX
JS 0x00011a5c
SUB ESP,0xc
PUSH dword ptr [EBX + 0x21e4]
CALL 0x00011320
ADD ESP,0xc
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x00011360
ADD ESP,0x10
TEST EAX,EAX
JS 0x00011a5c
MOV EAX,dword ptr [EBX + 0x21e4]
XOR ESI,ESI
XOR EDI,EDI
MOV dword ptr [EBP + -0x28],EAX
MOV EAX,dword ptr [EBX + 0x21e8]
MOV dword ptr [EBP + -0x40],EAX
JMP 0x000118f3
CMP EAX,-0x1
JZ 0x00011a22
PUSH dword ptr [EBP + -0x28]
PUSH EAX
PUSH 0x1
PUSH dword ptr [EBX + 0x2328]
MOV dword ptr [EBP + -0x20],EAX
CALL 0x00011330
MOV EDX,dword ptr [EBP + -0x20]
ADD ESP,0x10
CMP EDX,EAX
JNZ 0x00011a7b
MOV EAX,EDX
XOR EDX,EDX
ADD ESI,EAX
ADC EDI,EDX
SUB ESP,0x4
PUSH dword ptr [EBX + 0x2324]
PUSH dword ptr [EBX + 0x2328]
PUSH dword ptr [EBP + -0x24]
CALL 0x00014d70
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000118c0
SUB ESP,0xc
PUSH dword ptr [EBP + -0x28]
CALL 0x00011170
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00011a7b
TEST EDI,EDI
JS 0x00011c90
SUB ESP,0xc
PUSH dword ptr [EBP + -0x28]
CALL 0x00011320
POP EDX
POP ECX
PUSH EDI
PUSH ESI
MOV EDX,dword ptr [EBP + -0x40]
CALL 0x00011f20
ADD ESP,0x10
MOV ESI,EAX
MOV EDI,dword ptr [EBP + -0x34]
TEST EDI,EDI
JNZ 0x000119f3
ADD dword ptr [EBP + -0x30],0x4
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,ESI
AND byte ptr [EBP + -0x35],CL
MOV EAX,dword ptr [EAX + -0x4]
MOV dword ptr [EBP + -0x2c],EAX
TEST EAX,EAX
JNZ 0x000117d0
XOR EDX,EDX
XOR EAX,EAX
CALL 0x00011e20
CMP byte ptr [EBX + 0x2335],0x0
JNZ 0x00011b49
MOVZX EAX,byte ptr [EBP + -0x35]
LEA ESP,[EBP + -0x10]
POP ECX
POP EBX
XOR EAX,0x1
POP ESI
POP EDI
MOVZX EAX,AL
POP EBP
LEA ESP,[ECX + -0x4]
RET
PUSH EDX
PUSH EDX
PUSH 0x0
PUSH dword ptr [EBP + -0x2c]
CALL 0x00011070
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],EAX
TEST EAX,EAX
JNS 0x00011815
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + -0x2c]
PUSH 0x4
CALL 0x000148c0
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xffff7125]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011140
MOV ESI,EAX
CALL 0x00011300
PUSH EDI
PUSH ESI
XOR ESI,ESI
PUSH dword ptr [EAX]
PUSH 0x0
CALL 0x00011210
ADD ESP,0x20
JMP 0x00011956
SUB ESP,0xc
PUSH dword ptr [EBP + -0x24]
CALL 0x00011450
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011956
PUSH ECX
PUSH dword ptr [EBP + -0x2c]
PUSH 0x3
PUSH 0x0
CALL 0x00014a80
ADD ESP,0xc
PUSH 0x5
MOV EDI,EAX
PUSH dword ptr [EBP + -0x44]
JMP 0x000119d0
PUSH EDI
PUSH dword ptr [EBP + -0x2c]
PUSH 0x3
PUSH 0x0
CALL 0x00014a80
ADD ESP,0xc
PUSH 0x5
MOV EDI,EAX
PUSH dword ptr [EBP + -0x44]
PUSH 0x0
CALL 0x00011140
MOV ESI,EAX
CALL 0x00011300
PUSH EDI
PUSH ESI
XOR ESI,ESI
PUSH dword ptr [EAX]
PUSH 0x0
CALL 0x00011210
ADD ESP,0x20
JMP 0x0001194b
PUSH EAX
PUSH EAX
PUSH dword ptr [EBX + 0x21e8]
PUSH 0x4
CALL 0x000148c0
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xffff750c]
PUSH 0x5
PUSH EAX
JMP 0x00011a39
PUSH ESI
PUSH dword ptr [EBP + -0x40]
PUSH 0x3
PUSH 0x0
CALL 0x00014a80
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xffff716b]
PUSH 0x5
PUSH EAX
JMP 0x00011a39
SUB ESP,0xc
LEA EAX,[EBX + 0xffff7143]
PUSH EAX
CALL 0x00011220
ADD ESP,0x10
MOV EDX,EAX
TEST EAX,EAX
JZ 0x00011b35
PUSH EAX
LEA EAX,[EBX + 0xffff717b]
PUSH 0x0
PUSH EAX
PUSH EDX
MOV dword ptr [EBP + -0x20],EDX
CALL 0x00012950
MOV dword ptr [ESP],EAX
MOV dword ptr [EBX + 0x21e8],EAX
CALL 0x00014de0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x20]
TEST EAX,EAX
MOV ESI,EAX
JS 0x00011ba7
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffff714a]
PUSH EAX
PUSH ESI
CALL 0x00011280
MOV EDX,dword ptr [EBX + 0x21e8]
ADD ESP,0x10
MOV dword ptr [EBX + 0x21e4],EAX
TEST EAX,EAX
JZ 0x00011bfd
SUB ESP,0xc
PUSH EDX
CALL 0x00011160
ADD ESP,0x10
JMP 0x000118a7
PUSH EAX
PUSH EAX
MOV EAX,dword ptr [EBP + -0x24]
PUSH ECX
PUSH EDX
MOV EDX,dword ptr [EBP + -0x2c]
CALL 0x00011f20
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0001194b
LEA EDX,[EBX + 0xffff70c4]
JMP 0x00011ab4
MOV byte ptr [EBP + -0x35],0x1
JMP 0x00011970
SUB ESP,0xc
PUSH 0x0
CALL 0x00011450
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00011986
CALL 0x00011300
PUSH EDX
LEA EDX,[EBX + 0xffff812a]
PUSH EDX
PUSH dword ptr [EAX]
PUSH 0x0
CALL 0x00011210
ADD ESP,0x10
MOV byte ptr [EBP + -0x35],0x0
JMP 0x00011986
LEA EAX,[EDX + 0x1]
MOV dword ptr [EBP + -0x20],EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [EBX + 0x2338]
PUSH EDI
CALL 0x000110e0
MOV EDX,dword ptr [EBP + -0x20]
ADD ESP,0x10
ADD EDI,EDX
MOV dword ptr [EBX + 0x2328],EDI
JMP 0x0001174f
PUSH EAX
PUSH EAX
PUSH EDX
PUSH 0x4
CALL 0x000148c0
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xffff74e4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011140
MOV ESI,EAX
CALL 0x00011300
PUSH EDI
PUSH ESI
PUSH dword ptr [EAX]
PUSH 0x0
CALL 0x00011210
ADD ESP,0x20
SUB ESP,0xc
PUSH dword ptr [EBX + 0x21e8]
XOR ESI,ESI
CALL 0x000110c0
ADD ESP,0x10
MOV dword ptr [EBX + 0x21e8],0x0
JMP 0x0001194b
PUSH EAX
PUSH EAX
PUSH EDX
PUSH 0x4
CALL 0x000148c0
ADD ESP,0xc
MOV dword ptr [EBP + -0x20],EAX
LEA EAX,[EBX + 0xffff714d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011140
MOV EDI,EAX
CALL 0x00011300
MOV ECX,dword ptr [EBP + -0x20]
PUSH ECX
PUSH EDI
PUSH dword ptr [EAX]
PUSH 0x0
CALL 0x00011210
ADD ESP,0x14
PUSH ESI
CALL 0x00011450
POP EAX
PUSH dword ptr [EBX + 0x21e8]
CALL 0x00011160
ADD ESP,0x10
JMP 0x00011bdb
SUB ESP,0xc
PUSH 0x1
CALL 0x00012510
MOV dword ptr [EBX + 0x2324],EAX
CALL 0x000157c0
LEA EAX,[EBX + 0xffff70fc]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011140
ADD ESP,0xc
PUSH EAX
PUSH 0x0
PUSH 0x1
CALL 0x00011210
PUSH EAX
LEA EAX,[EBX + 0xffff7534]
PUSH EAX
PUSH 0x0
PUSH 0x1
CALL 0x00011210
XOR ESI,ESI
JMP 0x0001194b
CALL 0x000157c0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbyte FUN_000114e0(int param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}\n\n" comment (function_definition "byte FUN_000114e0(int param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}" type_identifier (function_declarator "FUN_000114e0(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "FILE *pFVar2;" type_identifier (pointer_declarator "*pFVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "int extraout_EDX_01;" primitive_type identifier ;) (declaration "int extraout_EDX_02;" primitive_type identifier ;) (declaration "int extraout_EDX_03;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int extraout_EDX_04;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX_05;" type_identifier identifier ;) (declaration "int extraout_EDX_06;" primitive_type identifier ;) (declaration "int extraout_EDX_07;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "__off64_t _Var22;" type_identifier identifier ;) (declaration "int aiStack_74 [5];" primitive_type (array_declarator "aiStack_74 [5]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_50 [4];" type_identifier (array_declarator "auStack_50 [4]" identifier [ number_literal ]) ;) (declaration "char *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "byte *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "byte local_3d;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined **local_38;" type_identifier (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "byte *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "FILE *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "puVar3 = param_2;" (assignment_expression "puVar3 = param_2" identifier = identifier) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_2c = param_1;" (assignment_expression "local_2c = param_1" identifier = identifier) ;) (expression_statement "FUN_00012a70(*param_2);" (call_expression "FUN_00012a70(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) ))) ;) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" identifier (argument_list "(6,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain("coreutils","/usr/share/locale");" (call_expression "bindtextdomain("coreutils","/usr/share/locale")" identifier (argument_list "("coreutils","/usr/share/locale")" ( (string_literal ""coreutils"" " string_content ") , (string_literal ""/usr/share/locale"" " string_content ") ))) ;) (expression_statement "textdomain("coreutils");" (call_expression "textdomain("coreutils")" identifier (argument_list "("coreutils")" ( (string_literal ""coreutils"" " string_content ") ))) ;) (expression_statement "FUN_00029610(PTR_FUN_00032fc8);" (call_expression "FUN_00029610(PTR_FUN_00032fc8)" identifier (argument_list "(PTR_FUN_00032fc8)" ( identifier ))) ;) (expression_statement "DAT_00035334 = 1;" (assignment_expression "DAT_00035334 = 1" identifier = number_literal) ;) (expression_statement "DAT_00035338 = "\n";" (assignment_expression "DAT_00035338 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7)" identifier = (call_expression "CONCAT44(local_28._4_4_,&DAT_0002a0f7)" identifier (argument_list "(local_28._4_4_,&DAT_0002a0f7)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (pointer_expression "&DAT_0002a0f7" & identifier) )))) ;) (expression_statement "local_30 = (FILE *)&DAT_000354c8;" (assignment_expression "local_30 = (FILE *)&DAT_000354c8" identifier = (cast_expression "(FILE *)&DAT_000354c8" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000354c8" & identifier))) ;) (expression_statement "DAT_00035330 = 1;" (assignment_expression "DAT_00035330 = 1" identifier = number_literal) ;) (expression_statement "puVar15 = auStack_50;" (assignment_expression "puVar15 = auStack_50" identifier = identifier) ;) (while_statement "while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;" (assignment_expression "*(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60" (pointer_expression "*(undefined ***)(puVar15 + -0x14)" * (cast_expression "(undefined ***)(puVar15 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&PTR_s_before_00032e60" & identifier)) ;) (expression_statement "*(uint *)(puVar15 + -0x18) = (uint)local_28;" (assignment_expression "*(uint *)(puVar15 + -0x18) = (uint)local_28" (pointer_expression "*(uint *)(puVar15 + -0x18)" * (cast_expression "(uint *)(puVar15 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 **)(puVar15 + -0x1c) = puVar3;" (assignment_expression "*(undefined4 **)(puVar15 + -0x1c) = puVar3" (pointer_expression "*(undefined4 **)(puVar15 + -0x1c)" * (cast_expression "(undefined4 **)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x20) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x20) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x20)" * (cast_expression "(int *)(puVar15 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11591;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11591" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00016760();" (assignment_expression "iVar5 = FUN_00016760()" identifier = (call_expression "FUN_00016760()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == -1) break;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" if (parenthesized_expression "(iVar5 == 0x62)" ( (binary_expression "iVar5 == 0x62" identifier == number_literal) )) (compound_statement "{\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }" { (labeled_statement "LAB_00011640:\n      DAT_00035334 = 0;" statement_identifier : (expression_statement "DAT_00035334 = 0;" (assignment_expression "DAT_00035334 = 0" identifier = number_literal) ;)) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) }) (else_clause "else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" else (compound_statement "{\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" { (if_statement "if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }" if (parenthesized_expression "(iVar5 < 99)" ( (binary_expression "iVar5 < 99" identifier < number_literal) )) (compound_statement "{\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }" { (expression_statement "local_28 = CONCAT44(local_28._4_4_,iVar5);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,iVar5)" identifier = (call_expression "CONCAT44(local_28._4_4_,iVar5)" identifier (argument_list "(local_28._4_4_,iVar5)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }" if (parenthesized_expression "(iVar5 == -0x83)" ( (binary_expression "iVar5 == -0x83" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "David MacKenzie";" (assignment_expression "*(char **)(puVar15 + -0xc) = "David MacKenzie"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""David MacKenzie"" " string_content ")) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "Jay Lepreau";" (assignment_expression "*(char **)(puVar15 + -0x10) = "Jay Lepreau"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""Jay Lepreau"" " string_content ")) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar15 + -0x18) = "GNU coreutils";" (assignment_expression "*(char **)(puVar15 + -0x18) = "GNU coreutils"" (pointer_expression "*(char **)(puVar15 + -0x18)" * (cast_expression "(char **)(puVar15 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (string_literal ""GNU coreutils"" " string_content ")) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;" (assignment_expression "*(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038" (pointer_expression "*(undefined1 **)(puVar15 + -0x1c)" * (cast_expression "(undefined1 **)(puVar15 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a038" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_00032fd0" * (cast_expression "(undefined4 *)PTR_stdout_00032fd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11600;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11600" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000153f0();" (call_expression "FUN_000153f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_0001160a;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_0001160a" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001160a" & identifier)) ;) (expression_statement "exit(*(int *)(puVar15 + -0x10));" (call_expression "exit(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (iVar5 != -0x82) goto LAB_00011c4c;" if (parenthesized_expression "(iVar5 != -0x82)" ( (binary_expression "iVar5 != -0x82" identifier != number_literal) )) (goto_statement "goto LAB_00011c4c;" goto statement_identifier ;)) (expression_statement "puVar16 = puVar15 + -0x10;" (assignment_expression "puVar16 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1163e;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1163e" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012510();" (call_expression "FUN_00012510()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011640;" goto statement_identifier ;) })) (if_statement "if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" if (parenthesized_expression "(iVar5 == 0x72)" ( (binary_expression "iVar5 == 0x72" identifier == number_literal) )) (compound_statement "{\n        DAT_00035330 = 0;\n      }" { (expression_statement "DAT_00035330 = 0;" (assignment_expression "DAT_00035330 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" else (compound_statement "{\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" { (if_statement "if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }" if (parenthesized_expression "(iVar5 != 0x73)" ( (binary_expression "iVar5 != 0x73" identifier != number_literal) )) (compound_statement "{\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }" { (labeled_statement "LAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c56;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c56" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00035324 = FUN_00012510();" (assignment_expression "DAT_00035324 = FUN_00012510()" identifier = (call_expression "FUN_00012510()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = puVar15 + -0x10;" (assignment_expression "puVar15 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_00011c56;" goto statement_identifier ;) })) (expression_statement "DAT_00035338 = (char *)local_30->_flags;" (assignment_expression "DAT_00035338 = (char *)local_30->_flags" identifier = (cast_expression "(char *)local_30->_flags" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_30->_flags" identifier -> field_identifier))) ;) }))) }))) })) (expression_statement "local_28 = CONCAT44(local_28._4_4_,0xffffffff);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_28._4_4_,0xffffffff)" identifier (argument_list "(local_28._4_4_,0xffffffff)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" if (parenthesized_expression "(DAT_00035330 == 0)" ( (binary_expression "DAT_00035330 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }" { (if_statement "if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" if (parenthesized_expression "(*DAT_00035338 == '\0')" ( (binary_expression "*DAT_00035338 == '\0'" (pointer_expression "*DAT_00035338" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" { (expression_statement "*(undefined4 **)(puVar15 + -4) = puVar3;" (assignment_expression "*(undefined4 **)(puVar15 + -4) = puVar3" (pointer_expression "*(undefined4 **)(puVar15 + -4)" * (cast_expression "(undefined4 **)(puVar15 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "separator cannot be empty";" (assignment_expression "*(char **)(puVar15 + -0xc) = "separator cannot be empty"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""separator cannot be empty"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c72;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c72" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar16 = puVar15 + -0x10;" (assignment_expression "puVar16 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c7f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c7f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = error();" (assignment_expression "iVar5 = error()" identifier = (call_expression "error()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;" statement_identifier : (expression_statement "*(int *)(puVar16 + -4) = iVar5;" (assignment_expression "*(int *)(puVar16 + -4) = iVar5" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar16 + -8) = "%s";" (assignment_expression "*(char **)(puVar16 + -8) = "%s"" (pointer_expression "*(char **)(puVar16 + -8)" * (cast_expression "(char **)(puVar16 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (string_literal ""%s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar15 = puVar16 + -0x10;" (assignment_expression "puVar15 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x11c90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x11c90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_EDX_07;" (assignment_expression "iVar5 = extraout_EDX_07" identifier = identifier) ;) (goto_statement "goto LAB_00011c90;" goto statement_identifier ;) })) (expression_statement "DAT_00035300 = 0;" (assignment_expression "DAT_00035300 = 0" identifier = number_literal) ;) (expression_statement "DAT_00035310 = &DAT_00035200;" (assignment_expression "DAT_00035310 = &DAT_00035200" identifier = (pointer_expression "&DAT_00035200" & identifier)) ;) (expression_statement "DAT_00035304 = 0;" (assignment_expression "DAT_00035304 = 0" identifier = number_literal) ;) (expression_statement "DAT_00035314 = 0;" (assignment_expression "DAT_00035314 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 0xffffffff;" (assignment_expression "uVar12 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar14 = DAT_00035338;" (assignment_expression "pcVar14 = DAT_00035338" identifier = identifier) ;) (do_statement "do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');" do (compound_statement "{\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    }" { (if_statement "if (uVar12 == 0) break;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pcVar14 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar14 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "*(uint *)(puVar15 + -4) = ~uVar12;" (assignment_expression "*(uint *)(puVar15 + -4) = ~uVar12" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (unary_expression "~uVar12" ~ identifier)) ;) (expression_statement "*(undefined4 **)(puVar15 + -8) = &DAT_00035300;" (assignment_expression "*(undefined4 **)(puVar15 + -8) = &DAT_00035300" (pointer_expression "*(undefined4 **)(puVar15 + -8)" * (cast_expression "(undefined4 **)(puVar15 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_00035300" & identifier)) ;) (expression_statement "*(uint *)(puVar15 + -0xc) = ~uVar12 - 1;" (assignment_expression "*(uint *)(puVar15 + -0xc) = ~uVar12 - 1" (pointer_expression "*(uint *)(puVar15 + -0xc)" * (cast_expression "(uint *)(puVar15 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "~uVar12 - 1" (unary_expression "~uVar12" ~ identifier) - number_literal)) ;) (expression_statement "*(char **)(puVar15 + -0x10) = DAT_00035338;" (assignment_expression "*(char **)(puVar15 + -0x10) = DAT_00035338" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x116b6;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x116b6" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00027c20();" (assignment_expression "iVar5 = FUN_00027c20()" identifier = (call_expression "FUN_00027c20()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (iVar5 != 0) goto LAB_00011c7f;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00011c7f;" goto statement_identifier ;)) }) (else_clause "else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" else (compound_statement "{\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" { (expression_statement "DAT_0003532c = 1;" (assignment_expression "DAT_0003532c = 1" identifier = number_literal) ;) (expression_statement "DAT_00035330 = DAT_0003532c;" (assignment_expression "DAT_00035330 = DAT_0003532c" identifier = identifier) ;) (if_statement "if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }" if (parenthesized_expression "(*DAT_00035338 != '\0')" ( (binary_expression "*DAT_00035338 != '\0'" (pointer_expression "*DAT_00035338" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }" { (expression_statement "uVar12 = 0xffffffff;" (assignment_expression "uVar12 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar14 = DAT_00035338;" (assignment_expression "pcVar14 = DAT_00035338" identifier = identifier) ;) (do_statement "do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      }" { (if_statement "if (uVar12 == 0) break;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pcVar14 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar14 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "DAT_0003532c = ~uVar12 - 1;" (assignment_expression "DAT_0003532c = ~uVar12 - 1" identifier = (binary_expression "~uVar12 - 1" (unary_expression "~uVar12" ~ identifier) - number_literal)) ;) (expression_statement "DAT_00035330 = DAT_0003532c;" (assignment_expression "DAT_00035330 = DAT_0003532c" identifier = identifier) ;) })) }))) (expression_statement "iVar5 = 0x12;" (assignment_expression "iVar5 = 0x12" identifier = number_literal) ;) (expression_statement "DAT_00035324 = 0x2000;" (assignment_expression "DAT_00035324 = 0x2000" identifier = number_literal) ;) (expression_statement "uVar12 = 0x2000;" (assignment_expression "uVar12 = 0x2000" identifier = number_literal) ;) (if_statement "if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }" if (parenthesized_expression "(0xfff < DAT_00035330)" ( (binary_expression "0xfff < DAT_00035330" number_literal < identifier) )) (compound_statement "{\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }" { (while_statement "while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }" while (parenthesized_expression "(DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330)" ( (comma_expression "DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330" (assignment_expression "DAT_00035324 = uVar12 * 2" identifier = (binary_expression "uVar12 * 2" identifier * number_literal)) , (binary_expression "(uVar12 & 0x7fffffff) <= DAT_00035330" (parenthesized_expression "(uVar12 & 0x7fffffff)" ( (binary_expression "uVar12 & 0x7fffffff" identifier & number_literal) )) <= identifier)) )) (compound_statement "{\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }" { (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) (expression_statement "uVar12 = DAT_00035324;" (assignment_expression "uVar12 = DAT_00035324" identifier = identifier) ;) (if_statement "if (iVar5 == 0) {\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }" { (labeled_statement "LAB_00011c56:\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar15 + -4) = 0x11c61;" statement_identifier : comment (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11c61;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11c61" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000157c0();" (call_expression "FUN_000157c0()" identifier (argument_list "()" ( ))) ;) })) })) })) (expression_statement "uVar12 = DAT_00035324 + 1 + DAT_00035330;" (assignment_expression "uVar12 = DAT_00035324 + 1 + DAT_00035330" identifier = (binary_expression "DAT_00035324 + 1 + DAT_00035330" (binary_expression "DAT_00035324 + 1" identifier + number_literal) + identifier)) ;) (expression_statement "DAT_00035320 = uVar12 * 2;" (assignment_expression "DAT_00035320 = uVar12 * 2" identifier = (binary_expression "uVar12 * 2" identifier * number_literal)) ;) (if_statement "if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }" if (parenthesized_expression "(uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12)" ( (binary_expression "uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12" (binary_expression "uVar12 <= DAT_00035324" identifier <= identifier) || (binary_expression "DAT_00035320 <= uVar12" identifier <= identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }" { comment (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11c9c;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11c9c" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000157c0();" (call_expression "FUN_000157c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(uint *)(puVar15 + -0x10) = DAT_00035320;" (assignment_expression "*(uint *)(puVar15 + -0x10) = DAT_00035320" (pointer_expression "*(uint *)(puVar15 + -0x10)" * (cast_expression "(uint *)(puVar15 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1172d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1172d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_000154c0();" (assignment_expression "iVar5 = FUN_000154c0()" identifier = (call_expression "FUN_000154c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" if (parenthesized_expression "(DAT_00035330 == 0)" ( (binary_expression "DAT_00035330 == 0" identifier == number_literal) )) (compound_statement "{\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }" { (expression_statement "DAT_00035328 = iVar5 + 1;" (assignment_expression "DAT_00035328 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" else (compound_statement "{\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" { (expression_statement "local_28 = CONCAT44(local_28._4_4_,DAT_00035330);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,DAT_00035330)" identifier = (call_expression "CONCAT44(local_28._4_4_,DAT_00035330)" identifier (argument_list "(local_28._4_4_,DAT_00035330)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(uint *)(puVar15 + -4) = DAT_00035330;" (assignment_expression "*(uint *)(puVar15 + -4) = DAT_00035330" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar15 + -8) = DAT_00035330 + 1;" (assignment_expression "*(uint *)(puVar15 + -8) = DAT_00035330 + 1" (pointer_expression "*(uint *)(puVar15 + -8)" * (cast_expression "(uint *)(puVar15 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "DAT_00035330 + 1" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar15 + -0xc) = DAT_00035338;" (assignment_expression "*(char **)(puVar15 + -0xc) = DAT_00035338" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b94;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b94" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00035328 = iVar5;" (assignment_expression "DAT_00035328 = iVar5" identifier = identifier) ;) (expression_statement "memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));" (call_expression "memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8))" identifier (argument_list "(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8))" ( (pointer_expression "*(void **)(puVar15 + -0x10)" * (cast_expression "(void **)(puVar15 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar15 + -0xc)" * (cast_expression "(void **)(puVar15 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -8)" * (cast_expression "(size_t *)(puVar15 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "DAT_00035328 = iVar5 + (uint)local_28;" (assignment_expression "DAT_00035328 = iVar5 + (uint)local_28" identifier = (binary_expression "iVar5 + (uint)local_28" identifier + (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar5 = (uint)local_28;" (assignment_expression "iVar5 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (if_statement "if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" if (parenthesized_expression "(DAT_000331a8 < local_2c)" ( (binary_expression "DAT_000331a8 < local_2c" identifier < identifier) )) (compound_statement "{\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }" { (expression_statement "ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);" (assignment_expression "ppuVar6 = (undefined **)(puVar3 + DAT_000331a8)" identifier = (cast_expression "(undefined **)(puVar3 + DAT_000331a8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + DAT_000331a8)" ( (binary_expression "puVar3 + DAT_000331a8" identifier + identifier) )))) ;) (expression_statement "local_34 = *ppuVar6;" (assignment_expression "local_34 = *ppuVar6" identifier = (pointer_expression "*ppuVar6" * identifier)) ;) (if_statement "if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }" if (parenthesized_expression "(*ppuVar6 == (byte *)0x0)" ( (binary_expression "*ppuVar6 == (byte *)0x0" (pointer_expression "*ppuVar6" * identifier) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_3d = 1;\n      goto LAB_00011970;\n    }" { (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00011970;" goto statement_identifier ;) })) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) }) (else_clause "else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" else (compound_statement "{\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" { (expression_statement "ppuVar6 = &PTR_DAT_00032e40;" (assignment_expression "ppuVar6 = &PTR_DAT_00032e40" identifier = (pointer_expression "&PTR_DAT_00032e40" & identifier)) ;) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "local_34 = &DAT_0002b12a;" (assignment_expression "local_34 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) }))) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "bVar19 = (undefined **)0xfffffffb < ppuVar6;" (assignment_expression "bVar19 = (undefined **)0xfffffffb < ppuVar6" identifier = (binary_expression "(undefined **)0xfffffffb < ppuVar6" (cast_expression "(undefined **)0xfffffffb" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier)) ;) (expression_statement "bVar20 = ppuVar6 + 1 == (undefined **)0x0;" (assignment_expression "bVar20 = ppuVar6 + 1 == (undefined **)0x0" identifier = (binary_expression "ppuVar6 + 1 == (undefined **)0x0" (binary_expression "ppuVar6 + 1" identifier + number_literal) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" identifier = number_literal) ;) (expression_statement "local_38 = ppuVar6 + 1;" (assignment_expression "local_38 = ppuVar6 + 1" identifier = (binary_expression "ppuVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_4c = "%s: read error";" (assignment_expression "local_4c = "%s: read error"" identifier = (string_literal ""%s: read error"" " string_content ")) ;) (do_statement "do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);" do (compound_statement "{\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  }" { (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;) (expression_statement "pbVar17 = local_34;" (assignment_expression "pbVar17 = local_34" identifier = identifier) ;) (expression_statement "pbVar18 = local_44;" (assignment_expression "pbVar18 = local_44" identifier = identifier) ;) (do_statement "do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar19 = *pbVar17 < *pbVar18;" (assignment_expression "bVar19 = *pbVar17 < *pbVar18" identifier = (binary_expression "*pbVar17 < *pbVar18" (pointer_expression "*pbVar17" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar17 == *pbVar18;" (assignment_expression "bVar20 = *pbVar17 == *pbVar18" identifier = (binary_expression "*pbVar17 == *pbVar18" (pointer_expression "*pbVar17" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pbVar17 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar17 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);" (assignment_expression "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19)" identifier = (cast_expression "(int)(char)((!bVar19 && !bVar20) - bVar19)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)((!bVar19 && !bVar20) - bVar19)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((!bVar19 && !bVar20) - bVar19)" ( (binary_expression "(!bVar19 && !bVar20) - bVar19" (parenthesized_expression "(!bVar19 && !bVar20)" ( (binary_expression "!bVar19 && !bVar20" (unary_expression "!bVar19" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) - identifier) ))))) ;) (if_statement "if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" if (parenthesized_expression "(local_3c == 0)" ( (binary_expression "local_3c == 0" identifier == number_literal) )) (compound_statement "{\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }" { (expression_statement "*(int *)(puVar15 + -4) = iVar13;" (assignment_expression "*(int *)(puVar15 + -4) = iVar13" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "standard input";" (assignment_expression "*(char **)(puVar15 + -0xc) = "standard input"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""standard input"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00035335 = '\x01';" (assignment_expression "DAT_00035335 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11808;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11808" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = (byte *)dcgettext();" (assignment_expression "local_34 = (byte *)dcgettext()" identifier = (cast_expression "(byte *)dcgettext()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (labeled_statement "LAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -4) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11823;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11823" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "_Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));" (assignment_expression "_Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" identifier = (call_expression "lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__off64_t *)(puVar15 + -0xc)" * (cast_expression "(__off64_t *)(puVar15 + -0xc)" ( (type_descriptor "__off64_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" if (parenthesized_expression "(_Var22 < 0)" ( (binary_expression "_Var22 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }" { (labeled_statement "LAB_0001184e:\n        pFVar2 = DAT_000351e4;" statement_identifier : (expression_statement "pFVar2 = DAT_000351e4;" (assignment_expression "pFVar2 = DAT_000351e4" identifier = identifier) ;)) (if_statement "if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" if (parenthesized_expression "(DAT_000351e8 == 0)" ( (binary_expression "DAT_000351e8 == 0" identifier == number_literal) )) (compound_statement "{\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }" { (expression_statement "*(char **)(puVar15 + -0x10) = "TMPDIR";" (assignment_expression "*(char **)(puVar15 + -0x10) = "TMPDIR"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""TMPDIR"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11aa7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11aa7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar10 = getenv(*(char **)(puVar15 + -0x10));" (assignment_expression "pcVar10 = getenv(*(char **)(puVar15 + -0x10))" identifier = (call_expression "getenv(*(char **)(puVar15 + -0x10))" identifier (argument_list "(*(char **)(puVar15 + -0x10))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar14 = pcVar10;" (assignment_expression "pcVar14 = pcVar10" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar14 = "/tmp";\n          }" { (expression_statement "pcVar14 = "/tmp";" (assignment_expression "pcVar14 = "/tmp"" identifier = (string_literal ""/tmp"" " string_content ")) ;) })) (expression_statement "*(char **)(puVar15 + -4) = pcVar10;" (assignment_expression "*(char **)(puVar15 + -4) = pcVar10" (pointer_expression "*(char **)(puVar15 + -4)" * (cast_expression "(char **)(puVar15 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "tacXXXXXX";" (assignment_expression "*(char **)(puVar15 + -0xc) = "tacXXXXXX"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""tacXXXXXX"" " string_content ")) ;) (expression_statement "*(char **)(puVar15 + -0x10) = pcVar14;" (assignment_expression "*(char **)(puVar15 + -0x10) = pcVar14" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,pcVar14);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,pcVar14)" identifier = (call_expression "CONCAT44(local_28._4_4_,pcVar14)" identifier (argument_list "(local_28._4_4_,pcVar14)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11ac7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11ac7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_000351e8 = FUN_00012950();" (assignment_expression "DAT_000351e8 = FUN_00012950()" identifier = (call_expression "FUN_00012950()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11ad5;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11ad5" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00014de0();" (assignment_expression "iVar5 = FUN_00014de0()" identifier = (call_expression "FUN_00014de0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = (uint)local_28;" (assignment_expression "uVar9 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }" { (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bb1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bb1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to create temporary file in %s"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to create temporary file in %s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bc6;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bc6" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bcd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bcd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11bd8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11bd8" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" else (compound_statement "{\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" { (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;" (assignment_expression "*(undefined **)(puVar15 + -0xc) = &DAT_0002a14a" (pointer_expression "*(undefined **)(puVar15 + -0xc)" * (cast_expression "(undefined **)(puVar15 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a14a" & identifier)) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11af4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11af4" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));" (assignment_expression "DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" identifier = (call_expression "fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }" if (parenthesized_expression "(DAT_000351e4 != (FILE *)0x0)" ( (binary_expression "DAT_000351e4 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }" { (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b14;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b14" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar15 + -0x10));" (call_expression "unlink(*(char **)(puVar15 + -0x10))" identifier (argument_list "(*(char **)(puVar15 + -0x10))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_000118a7;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c07;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c07" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,uVar9);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,uVar9)" identifier = (call_expression "CONCAT44(local_28._4_4_,uVar9)" identifier (argument_list "(local_28._4_4_,uVar9)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to open %s for writing";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to open %s for writing"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to open %s for writing"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c1d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c1d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c24;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c24" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar15 + -0x14) = (uint)local_28;" (assignment_expression "*(uint *)(puVar15 + -0x14) = (uint)local_28" (pointer_expression "*(uint *)(puVar15 + -0x14)" * (cast_expression "(uint *)(puVar15 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11c32;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11c32" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "close(*(int *)(puVar15 + -0x10));" (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c47;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c47" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar15 + -0x10));" (call_expression "unlink(*(char **)(puVar15 + -0x10))" identifier (argument_list "(*(char **)(puVar15 + -0x10))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11beb;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11beb" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar15 + -0x10));" (call_expression "free(*(void **)(puVar15 + -0x10))" identifier (argument_list "(*(void **)(puVar15 + -0x10))" ( (pointer_expression "*(void **)(puVar15 + -0x10)" * (cast_expression "(void **)(puVar15 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "DAT_000351e8 = 0;" (assignment_expression "DAT_000351e8 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = extraout_EDX_06;" (assignment_expression "iVar5 = extraout_EDX_06" identifier = identifier) ;) }) (else_clause "else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" else (compound_statement "{\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" { (expression_statement "*(FILE **)(puVar15 + -0x10) = DAT_000351e4;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = DAT_000351e4" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1186a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1186a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "clearerr_unlocked(*(FILE **)(puVar15 + -0x10));" (call_expression "clearerr_unlocked(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(FILE **)(puVar15 + -0x20) = pFVar2;" (assignment_expression "*(FILE **)(puVar15 + -0x20) = pFVar2" (pointer_expression "*(FILE **)(puVar15 + -0x20)" * (cast_expression "(FILE **)(puVar15 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11876;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11876" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00015800();" (assignment_expression "iVar5 = FUN_00015800()" identifier = (call_expression "FUN_00015800()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }" { (labeled_statement "LAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;" statement_identifier : (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a6b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a6b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to rewind stream for %s"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to rewind stream for %s"" " string_content ")) ;) }) (else_clause "else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" else (compound_statement "{\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" { (expression_statement "*(FILE **)(puVar15 + -0x10) = DAT_000351e4;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = DAT_000351e4" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1188f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1188f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = fileno(*(FILE **)(puVar15 + -0x10));" (assignment_expression "iVar5 = fileno(*(FILE **)(puVar15 + -0x10))" identifier = (call_expression "fileno(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1189c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1189c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));" (assignment_expression "iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" identifier = (call_expression "ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__off64_t *)(puVar15 + -0xc)" * (cast_expression "(__off64_t *)(puVar15 + -0xc)" ( (type_descriptor "__off64_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar5 < 0) goto LAB_00011a5c;" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011a5c;" goto statement_identifier ;)) (labeled_statement "LAB_000118a7:\n            local_30 = DAT_000351e4;" statement_identifier : (expression_statement "local_30 = DAT_000351e4;" (assignment_expression "local_30 = DAT_000351e4" identifier = identifier) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "local_48 = DAT_000351e8;" (assignment_expression "local_48 = DAT_000351e8" identifier = identifier) ;) (while_statement "while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }" { (expression_statement "*(uint *)(puVar15 + -8) = DAT_00035324;" (assignment_expression "*(uint *)(puVar15 + -8) = DAT_00035324" (pointer_expression "*(uint *)(puVar15 + -8)" * (cast_expression "(uint *)(puVar15 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_00035328;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_00035328" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1190a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1190a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00014d70();" (assignment_expression "iVar5 = FUN_00014d70()" identifier = (call_expression "FUN_00014d70()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" { (expression_statement "*(int *)(puVar15 + -4) = iVar13;" (assignment_expression "*(int *)(puVar15 + -4) = iVar13" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar15 + -8) = local_34;" (assignment_expression "*(byte **)(puVar15 + -8) = local_34" (pointer_expression "*(byte **)(puVar15 + -8)" * (cast_expression "(byte **)(puVar15 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a2f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a2f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" identifier = (call_expression "FUN_00014a80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar15 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00011a39;" goto statement_identifier ;) })) (expression_statement "*(FILE **)(puVar15 + -4) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -4) = local_30" (pointer_expression "*(FILE **)(puVar15 + -4)" * (cast_expression "(FILE **)(puVar15 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_00035328;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_00035328" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,iVar5);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,iVar5)" identifier = (call_expression "CONCAT44(local_28._4_4_,iVar5)" identifier (argument_list "(local_28._4_4_,iVar5)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x118dd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x118dd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));" (assignment_expression "sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" identifier = (call_expression "fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" identifier (argument_list "(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" ( (pointer_expression "*(void **)(puVar15 + -0x10)" * (cast_expression "(void **)(puVar15 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -0xc)" * (cast_expression "(size_t *)(puVar15 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -8)" * (cast_expression "(size_t *)(puVar15 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar15 + -4)" * (cast_expression "(FILE **)(puVar15 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if ((uint)local_28 != sVar7) goto LAB_00011a7b;" if (parenthesized_expression "((uint)local_28 != sVar7)" ( (binary_expression "(uint)local_28 != sVar7" (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) != identifier) )) (goto_statement "goto LAB_00011a7b;" goto statement_identifier ;)) (expression_statement "bVar19 = CARRY4(uVar12,(uint)local_28);" (assignment_expression "bVar19 = CARRY4(uVar12,(uint)local_28)" identifier = (call_expression "CARRY4(uVar12,(uint)local_28)" identifier (argument_list "(uVar12,(uint)local_28)" ( identifier , (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "uVar12 = uVar12 + (uint)local_28;" (assignment_expression "uVar12 = uVar12 + (uint)local_28" identifier = (binary_expression "uVar12 + (uint)local_28" identifier + (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar13 = iVar13 + (uint)bVar19;" (assignment_expression "iVar13 = iVar13 + (uint)bVar19" identifier = (binary_expression "iVar13 + (uint)bVar19" identifier + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "*(FILE **)(puVar15 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1191c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1191c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));" (assignment_expression "iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10))" identifier = (call_expression "fflush_unlocked(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" { (expression_statement "iVar5 = extraout_EDX;" (assignment_expression "iVar5 = extraout_EDX" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011c90:\n                bVar4 = 0;\n              }" { (labeled_statement "LAB_00011c90:\n                bVar4 = 0;" statement_identifier : (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" else (compound_statement "{\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" { (expression_statement "*(FILE **)(puVar15 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1193a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1193a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fileno(*(FILE **)(puVar15 + -0x10));" (call_expression "fileno(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar15 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar15 + -0x10) = uVar12;" (assignment_expression "*(uint *)(puVar15 + -0x10) = uVar12" (pointer_expression "*(uint *)(puVar15 + -0x10)" * (cast_expression "(uint *)(puVar15 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11946;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11946" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar4 = FUN_00011f20();" (assignment_expression "bVar4 = FUN_00011f20()" identifier = (call_expression "FUN_00011f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = extraout_EDX_00;" (assignment_expression "iVar5 = extraout_EDX_00" identifier = identifier) ;) }))) (goto_statement "goto LAB_0001194b;" goto statement_identifier ;) })) (labeled_statement "LAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;" statement_identifier : (expression_statement "*(uint *)(puVar15 + -4) = uVar12;" (assignment_expression "*(uint *)(puVar15 + -4) = uVar12" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(puVar15 + -8) = local_48;" (assignment_expression "*(int *)(puVar15 + -8) = local_48" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a88;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a88" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" identifier = (call_expression "FUN_00014a80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "%s: write error";" (assignment_expression "*(char **)(puVar15 + -0xc) = "%s: write error"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: write error"" " string_content ")) ;) }))) (labeled_statement "LAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a40;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a40" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a47;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a47" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11a54;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11a54" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_EDX_03;" (assignment_expression "iVar5 = extraout_EDX_03" identifier = identifier) ;) }))) }) (else_clause "else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" else (compound_statement "{\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" { (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = _Var22;" (assignment_expression "local_28 = _Var22" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1183d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1183d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = isatty(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar5 = isatty(*(int *)(puVar15 + -0x10))" identifier = (call_expression "isatty(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "uVar9 = (uint)local_28;" (assignment_expression "uVar9 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = local_28._4_4_;" (assignment_expression "uVar8 = local_28._4_4_" identifier = (field_expression "local_28._4_4_" identifier . field_identifier)) ;) (if_statement "if (iVar5 != 0) goto LAB_0001184e;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001184e;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b2b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b2b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar4 = FUN_00011f20();" (assignment_expression "bVar4 = FUN_00011f20()" identifier = (call_expression "FUN_00011f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = extraout_EDX_04;" (assignment_expression "iVar5 = extraout_EDX_04" identifier = identifier) ;) }))) (labeled_statement "LAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" statement_identifier : (if_statement "if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" if (parenthesized_expression "(local_3c != 0)" ( (binary_expression "local_3c != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" { (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119fe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119fe" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar13 = close(*(int *)(puVar15 + -0x10))" identifier = (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar5 = extraout_EDX_02;" (assignment_expression "iVar5 = extraout_EDX_02" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar15 + -8) = local_34;" (assignment_expression "*(byte **)(puVar15 + -8) = local_34" (pointer_expression "*(byte **)(puVar15 + -8)" * (cast_expression "(byte **)(puVar15 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a16;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a16" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" identifier = (call_expression "FUN_00014a80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar15 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000119d0;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" else (compound_statement "{\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" { (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar15 + -0x10) = local_34;" (assignment_expression "*(byte **)(puVar15 + -0x10) = local_34" (pointer_expression "*(byte **)(puVar15 + -0x10)" * (cast_expression "(byte **)(puVar15 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119a8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119a8" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));" (assignment_expression "iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" identifier = (call_expression "open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" identifier (argument_list "(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_2c = iVar5;" (assignment_expression "local_2c = iVar5" identifier = identifier) ;) (if_statement "if (-1 < iVar5) goto LAB_00011815;" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_00011815;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar15 + -0xc) = local_34;" (assignment_expression "*(byte **)(puVar15 + -0xc) = local_34" (pointer_expression "*(byte **)(puVar15 + -0xc)" * (cast_expression "(byte **)(puVar15 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119c2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119c2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to open %s for reading";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to open %s for reading"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to open %s for reading"" " string_content ")) ;) (labeled_statement "LAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119d7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119d7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119de;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119de" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x119eb;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x119eb" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_EDX_01;" (assignment_expression "iVar5 = extraout_EDX_01" identifier = identifier) ;) }))) (expression_statement "ppuVar6 = local_38;" (assignment_expression "ppuVar6 = local_38" identifier = identifier) ;) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" identifier = (binary_expression "local_38 + 1" identifier + number_literal)) ;) (expression_statement "local_3d = local_3d & bVar4;" (assignment_expression "local_3d = local_3d & bVar4" identifier = (binary_expression "local_3d & bVar4" identifier & identifier)) ;) (expression_statement "local_34 = *ppuVar6;" (assignment_expression "local_34 = *ppuVar6" identifier = (pointer_expression "*ppuVar6" * identifier)) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (expression_statement "bVar20 = *ppuVar6 == (byte *)0x0;" (assignment_expression "bVar20 = *ppuVar6 == (byte *)0x0" identifier = (binary_expression "*ppuVar6 == (byte *)0x0" (pointer_expression "*ppuVar6" * identifier) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) while (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) ;) (labeled_statement "LAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11979;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11979" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00011e20();" (call_expression "FUN_00011e20()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" if (parenthesized_expression "(DAT_00035335 != '\0')" ( (binary_expression "DAT_00035335 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b53;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b53" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar5 = close(*(int *)(puVar15 + -0x10))" identifier = (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11b63;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11b63" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "*(int *)(puVar15 + -0xc) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0xc) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b74;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b74" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3d = 0;" (assignment_expression "local_3d = 0" identifier = number_literal) ;) })) })) (return_statement "return local_3d ^ 1;" return (binary_expression "local_3d ^ 1" identifier ^ number_literal) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint main(int argc,char **argv)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  _Bool _Var3;\n  char *pcVar4;\n  char **ppcVar5;\n  size_t sVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  int *piVar10;\n  uint uVar11;\n  int iVar12;\n  undefined4 extraout_ECX;\n  int iVar13;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_94 [2];\n  undefined8 uStack_8c;\n  int iStack_84;\n  undefined1 auStack_80 [8];\n  size_t sStack_78;\n  uint uStack_74;\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  char *local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  char **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  int *local_18;\n  \n  ppcVar5 = argv;\n  bVar21 = 0;\n  local_18 = &argc;\n  local_2c = argc;\n  set_program_name(*argv);\n  setlocale(6,"");\n  bindtextdomain();\n  textdomain();\n  atexit((__func *)PTR_close_stdout_00032fc8);\n  separator_ends_record = true;\n  puVar16 = auStack_50;\n  puVar15 = auStack_50;\n  puVar14 = auStack_50;\n  separator = "\n";\n  local_28._0_4_ = "brs:";\n  local_30 = (FILE *)&rpl_optarg;\n  sentinel_length = 1;\n  while (pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),\n        pcVar4 != (char *)0xffffffff) {\n    if (pcVar4 == (char *)0x62) {\n      separator_ends_record = false;\n    }\n    else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (sentinel_length == 0) {\n    if (*separator == '\0') {\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    compiled_separator.buffer = (re_dfa_t *)0x0;\n    compiled_separator.fastmap = compiled_separator_fastmap;\n    compiled_separator.allocated = 0;\n    compiled_separator.translate = (uchar *)0x0;\n    uVar11 = 0xffffffff;\n    pcVar4 = separator;\n    do {\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);\n    if (pcVar4 != (char *)0x0) goto LAB_00011c7f;\n  }\n  else {\n    match_length = 1;\n    sentinel_length = match_length;\n    if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }\n  }\n  iVar13 = 0x12;\n  read_size = 0x2000;\n  uVar11 = 0x2000;\n  if (0xfff < sentinel_length) {\n    while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }\n  }\n  uVar11 = read_size + 1 + sentinel_length;\n  G_buffer_size = uVar11 * 2;\n  if (uVar11 <= read_size || G_buffer_size <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n    xalloc_die();\n  }\n  pcVar4 = (char *)xmalloc(G_buffer_size);\n  if (sentinel_length == 0) {\n    G_buffer = pcVar4 + 1;\n    iVar13 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,sentinel_length);\n    G_buffer = pcVar4;\n    memcpy(pcVar4,separator,sentinel_length + 1);\n    G_buffer = pcVar4 + (int)(char *)local_28;\n    iVar13 = (int)(char *)local_28;\n  }\n  if (rpl_optind < local_2c) {\n    ppcVar5 = ppcVar5 + rpl_optind;\n    local_34 = (byte *)*ppcVar5;\n    if (local_34 == (byte *)0x0) {\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }\n  }\n  else {\n    ppcVar5 = main::default_file_list;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (char **)0xfffffffb < ppcVar5;\n  bVar20 = ppcVar5 + 1 == (char **)0x0;\n  local_3d = 1;\n  local_4c = "%s: read error";\n  local_38 = ppcVar5 + 1;\n  do {\n    iVar12 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }\n    ppcVar5 = local_38 + 1;\n    local_3d = local_3d & _Var3;\n    local_34 = (byte *)*local_38;\n    bVar19 = false;\n    bVar20 = local_34 == (byte *)0x0;\n    puVar15 = puVar14;\n    local_38 = ppcVar5;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  output((char *)0x0,(char *)0x0);\n  if (have_read_stdin != false) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar13 = close(*(int *)(puVar15 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return (uint)(local_3d ^ 1);\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  _Bool _Var3;\n  char *pcVar4;\n  char **ppcVar5;\n  size_t sVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  int *piVar10;\n  uint uVar11;\n  int iVar12;\n  undefined4 extraout_ECX;\n  int iVar13;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_94 [2];\n  undefined8 uStack_8c;\n  int iStack_84;\n  undefined1 auStack_80 [8];\n  size_t sStack_78;\n  uint uStack_74;\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  char *local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  char **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  int *local_18;\n  \n  ppcVar5 = argv;\n  bVar21 = 0;\n  local_18 = &argc;\n  local_2c = argc;\n  set_program_name(*argv);\n  setlocale(6,"");\n  bindtextdomain();\n  textdomain();\n  atexit((__func *)PTR_close_stdout_00032fc8);\n  separator_ends_record = true;\n  puVar16 = auStack_50;\n  puVar15 = auStack_50;\n  puVar14 = auStack_50;\n  separator = "\n";\n  local_28._0_4_ = "brs:";\n  local_30 = (FILE *)&rpl_optarg;\n  sentinel_length = 1;\n  while (pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),\n        pcVar4 != (char *)0xffffffff) {\n    if (pcVar4 == (char *)0x62) {\n      separator_ends_record = false;\n    }\n    else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (sentinel_length == 0) {\n    if (*separator == '\0') {\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    compiled_separator.buffer = (re_dfa_t *)0x0;\n    compiled_separator.fastmap = compiled_separator_fastmap;\n    compiled_separator.allocated = 0;\n    compiled_separator.translate = (uchar *)0x0;\n    uVar11 = 0xffffffff;\n    pcVar4 = separator;\n    do {\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);\n    if (pcVar4 != (char *)0x0) goto LAB_00011c7f;\n  }\n  else {\n    match_length = 1;\n    sentinel_length = match_length;\n    if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }\n  }\n  iVar13 = 0x12;\n  read_size = 0x2000;\n  uVar11 = 0x2000;\n  if (0xfff < sentinel_length) {\n    while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }\n  }\n  uVar11 = read_size + 1 + sentinel_length;\n  G_buffer_size = uVar11 * 2;\n  if (uVar11 <= read_size || G_buffer_size <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n    xalloc_die();\n  }\n  pcVar4 = (char *)xmalloc(G_buffer_size);\n  if (sentinel_length == 0) {\n    G_buffer = pcVar4 + 1;\n    iVar13 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,sentinel_length);\n    G_buffer = pcVar4;\n    memcpy(pcVar4,separator,sentinel_length + 1);\n    G_buffer = pcVar4 + (int)(char *)local_28;\n    iVar13 = (int)(char *)local_28;\n  }\n  if (rpl_optind < local_2c) {\n    ppcVar5 = ppcVar5 + rpl_optind;\n    local_34 = (byte *)*ppcVar5;\n    if (local_34 == (byte *)0x0) {\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }\n  }\n  else {\n    ppcVar5 = main::default_file_list;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (char **)0xfffffffb < ppcVar5;\n  bVar20 = ppcVar5 + 1 == (char **)0x0;\n  local_3d = 1;\n  local_4c = "%s: read error";\n  local_38 = ppcVar5 + 1;\n  do {\n    iVar12 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }\n    ppcVar5 = local_38 + 1;\n    local_3d = local_3d & _Var3;\n    local_34 = (byte *)*local_38;\n    bVar19 = false;\n    bVar20 = local_34 == (byte *)0x0;\n    puVar15 = puVar14;\n    local_38 = ppcVar5;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  output((char *)0x0,(char *)0x0);\n  if (have_read_stdin != false) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar13 = close(*(int *)(puVar15 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return (uint)(local_3d ^ 1);\n}" primitive_type (function_declarator "main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  char cVar1;\n  FILE *pFVar2;\n  _Bool _Var3;\n  char *pcVar4;\n  char **ppcVar5;\n  size_t sVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  int *piVar10;\n  uint uVar11;\n  int iVar12;\n  undefined4 extraout_ECX;\n  int iVar13;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_94 [2];\n  undefined8 uStack_8c;\n  int iStack_84;\n  undefined1 auStack_80 [8];\n  size_t sStack_78;\n  uint uStack_74;\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  char *local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  char **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  int *local_18;\n  \n  ppcVar5 = argv;\n  bVar21 = 0;\n  local_18 = &argc;\n  local_2c = argc;\n  set_program_name(*argv);\n  setlocale(6,"");\n  bindtextdomain();\n  textdomain();\n  atexit((__func *)PTR_close_stdout_00032fc8);\n  separator_ends_record = true;\n  puVar16 = auStack_50;\n  puVar15 = auStack_50;\n  puVar14 = auStack_50;\n  separator = "\n";\n  local_28._0_4_ = "brs:";\n  local_30 = (FILE *)&rpl_optarg;\n  sentinel_length = 1;\n  while (pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),\n        pcVar4 != (char *)0xffffffff) {\n    if (pcVar4 == (char *)0x62) {\n      separator_ends_record = false;\n    }\n    else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (sentinel_length == 0) {\n    if (*separator == '\0') {\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    compiled_separator.buffer = (re_dfa_t *)0x0;\n    compiled_separator.fastmap = compiled_separator_fastmap;\n    compiled_separator.allocated = 0;\n    compiled_separator.translate = (uchar *)0x0;\n    uVar11 = 0xffffffff;\n    pcVar4 = separator;\n    do {\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);\n    if (pcVar4 != (char *)0x0) goto LAB_00011c7f;\n  }\n  else {\n    match_length = 1;\n    sentinel_length = match_length;\n    if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }\n  }\n  iVar13 = 0x12;\n  read_size = 0x2000;\n  uVar11 = 0x2000;\n  if (0xfff < sentinel_length) {\n    while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }\n  }\n  uVar11 = read_size + 1 + sentinel_length;\n  G_buffer_size = uVar11 * 2;\n  if (uVar11 <= read_size || G_buffer_size <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n    xalloc_die();\n  }\n  pcVar4 = (char *)xmalloc(G_buffer_size);\n  if (sentinel_length == 0) {\n    G_buffer = pcVar4 + 1;\n    iVar13 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,sentinel_length);\n    G_buffer = pcVar4;\n    memcpy(pcVar4,separator,sentinel_length + 1);\n    G_buffer = pcVar4 + (int)(char *)local_28;\n    iVar13 = (int)(char *)local_28;\n  }\n  if (rpl_optind < local_2c) {\n    ppcVar5 = ppcVar5 + rpl_optind;\n    local_34 = (byte *)*ppcVar5;\n    if (local_34 == (byte *)0x0) {\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }\n  }\n  else {\n    ppcVar5 = main::default_file_list;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (char **)0xfffffffb < ppcVar5;\n  bVar20 = ppcVar5 + 1 == (char **)0x0;\n  local_3d = 1;\n  local_4c = "%s: read error";\n  local_38 = ppcVar5 + 1;\n  do {\n    iVar12 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }\n    ppcVar5 = local_38 + 1;\n    local_3d = local_3d & _Var3;\n    local_34 = (byte *)*local_38;\n    bVar19 = false;\n    bVar20 = local_34 == (byte *)0x0;\n    puVar15 = puVar14;\n    local_38 = ppcVar5;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  output((char *)0x0,(char *)0x0);\n  if (have_read_stdin != false) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar13 = close(*(int *)(puVar15 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return (uint)(local_3d ^ 1);\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "FILE *pFVar2;" type_identifier (pointer_declarator "*pFVar2" * identifier) ;) (declaration "_Bool _Var3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char **ppcVar5;" primitive_type (pointer_declarator "**ppcVar5" * (pointer_declarator "*ppcVar5" * identifier)) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "int extraout_EDX_01;" primitive_type identifier ;) (declaration "int extraout_EDX_02;" primitive_type identifier ;) (declaration "int extraout_EDX_03;" primitive_type identifier ;) (declaration "int extraout_EDX_04;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX_05;" type_identifier identifier ;) (declaration "int extraout_EDX_06;" primitive_type identifier ;) (declaration "int extraout_EDX_07;" primitive_type identifier ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "__off64_t _Var22;" type_identifier identifier ;) (declaration "int aiStack_94 [2];" primitive_type (array_declarator "aiStack_94 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_8c;" type_identifier identifier ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "undefined1 auStack_80 [8];" type_identifier (array_declarator "auStack_80 [8]" identifier [ number_literal ]) ;) (declaration "size_t sStack_78;" primitive_type identifier ;) (declaration "uint uStack_74;" type_identifier identifier ;) (declaration "undefined1 auStack_50 [4];" type_identifier (array_declarator "auStack_50 [4]" identifier [ number_literal ]) ;) (declaration "char *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "byte *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "byte local_3d;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "char **local_38;" primitive_type (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "byte *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "FILE *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "int *local_18;" primitive_type (pointer_declarator "*local_18" * identifier) ;) (expression_statement "ppcVar5 = argv;" (assignment_expression "ppcVar5 = argv" identifier = identifier) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &argc;" (assignment_expression "local_18 = &argc" identifier = (pointer_expression "&argc" & identifier)) ;) (expression_statement "local_2c = argc;" (assignment_expression "local_2c = argc" identifier = identifier) ;) (expression_statement "set_program_name(*argv);" (call_expression "set_program_name(*argv)" identifier (argument_list "(*argv)" ( (pointer_expression "*argv" * identifier) ))) ;) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" identifier (argument_list "(6,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain();" (call_expression "bindtextdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "textdomain();" (call_expression "textdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "atexit((__func *)PTR_close_stdout_00032fc8);" (call_expression "atexit((__func *)PTR_close_stdout_00032fc8)" identifier (argument_list "((__func *)PTR_close_stdout_00032fc8)" ( (cast_expression "(__func *)PTR_close_stdout_00032fc8" ( (type_descriptor "__func *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "separator_ends_record = true;" (assignment_expression "separator_ends_record = true" identifier = true) ;) (expression_statement "puVar16 = auStack_50;" (assignment_expression "puVar16 = auStack_50" identifier = identifier) ;) (expression_statement "puVar15 = auStack_50;" (assignment_expression "puVar15 = auStack_50" identifier = identifier) ;) (expression_statement "puVar14 = auStack_50;" (assignment_expression "puVar14 = auStack_50" identifier = identifier) ;) (expression_statement "separator = "\n";" (assignment_expression "separator = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "local_28._0_4_ = "brs:";" (assignment_expression "local_28._0_4_ = "brs:"" (field_expression "local_28._0_4_" identifier . field_identifier) = (string_literal ""brs:"" " string_content ")) ;) (expression_statement "local_30 = (FILE *)&rpl_optarg;" (assignment_expression "local_30 = (FILE *)&rpl_optarg" identifier = (cast_expression "(FILE *)&rpl_optarg" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpl_optarg" & identifier))) ;) (expression_statement "sentinel_length = 1;" (assignment_expression "sentinel_length = 1" identifier = number_literal) ;) (while_statement "while (pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),\n        pcVar4 != (char *)0xffffffff) {\n    if (pcVar4 == (char *)0x62) {\n      separator_ends_record = false;\n    }\n    else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }\n  }" while (parenthesized_expression "(pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),\n        pcVar4 != (char *)0xffffffff)" ( (comma_expression "pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0),\n        pcVar4 != (char *)0xffffffff" (assignment_expression "pcVar4 = (char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0)" identifier = (cast_expression "(char *)rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "rpl_getopt_long(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0)" identifier (argument_list "(local_2c,ppcVar5,(char *)local_28,longopts,(int *)0x0)" ( identifier , identifier , (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) , (binary_expression "pcVar4 != (char *)0xffffffff" identifier != (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    if (pcVar4 == (char *)0x62) {\n      separator_ends_record = false;\n    }\n    else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }\n  }" { (if_statement "if (pcVar4 == (char *)0x62) {\n      separator_ends_record = false;\n    }\n    else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }" if (parenthesized_expression "(pcVar4 == (char *)0x62)" ( (binary_expression "pcVar4 == (char *)0x62" identifier == (cast_expression "(char *)0x62" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      separator_ends_record = false;\n    }" { (expression_statement "separator_ends_record = false;" (assignment_expression "separator_ends_record = false" identifier = false) ;) }) (else_clause "else {\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }" else (compound_statement "{\n      if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }\n      if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }\n    }" { (if_statement "if ((int)pcVar4 < 99) {\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }" if (parenthesized_expression "((int)pcVar4 < 99)" ( (binary_expression "(int)pcVar4 < 99" (cast_expression "(int)pcVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        local_28._0_4_ = pcVar4;\n        if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }\n        if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }\nLAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);\n      }" { (expression_statement "local_28._0_4_ = pcVar4;" (assignment_expression "local_28._0_4_ = pcVar4" (field_expression "local_28._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (pcVar4 == (char *)0xffffff7d) {\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }" if (parenthesized_expression "(pcVar4 == (char *)0xffffff7d)" ( (binary_expression "pcVar4 == (char *)0xffffff7d" identifier == (cast_expression "(char *)0xffffff7d" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);\n                    /* WARNING: Subroutine does not return */\n          exit(0);\n        }" { (expression_statement "version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);" (call_expression "version_etc(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version)" identifier (argument_list "(*(FILE **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version)" ( (pointer_expression "*(FILE **)PTR_stdout_00032fd0" * (cast_expression "(FILE **)PTR_stdout_00032fd0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""tac"" " string_content ") , (string_literal ""GNU coreutils"" " string_content ") , identifier ))) ;) comment (expression_statement "exit(0);" (call_expression "exit(0)" identifier (argument_list "(0)" ( number_literal ))) ;) })) (if_statement "if (pcVar4 == (char *)0xffffff7e) {\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }" if (parenthesized_expression "(pcVar4 == (char *)0xffffff7e)" ( (binary_expression "pcVar4 == (char *)0xffffff7e" identifier == (cast_expression "(char *)0xffffff7e" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          usage(0);\n        }" { comment (expression_statement "usage(0);" (call_expression "usage(0)" identifier (argument_list "(0)" ( number_literal ))) ;) })) (labeled_statement "LAB_00011c4c:\n                    /* WARNING: Subroutine does not return */\n        usage(1);" statement_identifier : comment (expression_statement "usage(1);" (call_expression "usage(1)" identifier (argument_list "(1)" ( number_literal ))) ;)) })) (if_statement "if (pcVar4 == (char *)0x72) {\n        sentinel_length = 0;\n      }\n      else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }" if (parenthesized_expression "(pcVar4 == (char *)0x72)" ( (binary_expression "pcVar4 == (char *)0x72" identifier == (cast_expression "(char *)0x72" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sentinel_length = 0;\n      }" { (expression_statement "sentinel_length = 0;" (assignment_expression "sentinel_length = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }" else (compound_statement "{\n        if (pcVar4 != (char *)0x73) goto LAB_00011c4c;\n        separator = (char *)local_30->_flags;\n      }" { (if_statement "if (pcVar4 != (char *)0x73) goto LAB_00011c4c;" if (parenthesized_expression "(pcVar4 != (char *)0x73)" ( (binary_expression "pcVar4 != (char *)0x73" identifier != (cast_expression "(char *)0x73" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011c4c;" goto statement_identifier ;)) (expression_statement "separator = (char *)local_30->_flags;" (assignment_expression "separator = (char *)local_30->_flags" identifier = (cast_expression "(char *)local_30->_flags" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_30->_flags" identifier -> field_identifier))) ;) }))) }))) })) (expression_statement "local_28 = CONCAT44(local_28._4_4_,0xffffffff);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_28._4_4_,0xffffffff)" identifier (argument_list "(local_28._4_4_,0xffffffff)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (sentinel_length == 0) {\n    if (*separator == '\0') {\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    compiled_separator.buffer = (re_dfa_t *)0x0;\n    compiled_separator.fastmap = compiled_separator_fastmap;\n    compiled_separator.allocated = 0;\n    compiled_separator.translate = (uchar *)0x0;\n    uVar11 = 0xffffffff;\n    pcVar4 = separator;\n    do {\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);\n    if (pcVar4 != (char *)0x0) goto LAB_00011c7f;\n  }\n  else {\n    match_length = 1;\n    sentinel_length = match_length;\n    if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }\n  }" if (parenthesized_expression "(sentinel_length == 0)" ( (binary_expression "sentinel_length == 0" identifier == number_literal) )) (compound_statement "{\n    if (*separator == '\0') {\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    compiled_separator.buffer = (re_dfa_t *)0x0;\n    compiled_separator.fastmap = compiled_separator_fastmap;\n    compiled_separator.allocated = 0;\n    compiled_separator.translate = (uchar *)0x0;\n    uVar11 = 0xffffffff;\n    pcVar4 = separator;\n    do {\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);\n    if (pcVar4 != (char *)0x0) goto LAB_00011c7f;\n  }" { (if_statement "if (*separator == '\0') {\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" if (parenthesized_expression "(*separator == '\0')" ( (binary_expression "*separator == '\0'" (pointer_expression "*separator" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      dcgettext();\n      puVar16 = &stack0xffffffa0;\n      pcVar4 = (char *)error();\nLAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar14 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar13 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" { (expression_statement "dcgettext();" (call_expression "dcgettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar16 = &stack0xffffffa0;" (assignment_expression "puVar16 = &stack0xffffffa0" identifier = (pointer_expression "&stack0xffffffa0" & identifier)) ;) (expression_statement "pcVar4 = (char *)error();" (assignment_expression "pcVar4 = (char *)error()" identifier = (cast_expression "(char *)error()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "error()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "LAB_00011c7f:\n      *(char **)(puVar16 + -4) = pcVar4;" statement_identifier : (expression_statement "*(char **)(puVar16 + -4) = pcVar4;" (assignment_expression "*(char **)(puVar16 + -4) = pcVar4" (pointer_expression "*(char **)(puVar16 + -4)" * (cast_expression "(char **)(puVar16 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar16 + -8) = "%s";" (assignment_expression "*(char **)(puVar16 + -8) = "%s"" (pointer_expression "*(char **)(puVar16 + -8)" * (cast_expression "(char **)(puVar16 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (string_literal ""%s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar14 = puVar16 + -0x10;" (assignment_expression "puVar14 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x11c90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x11c90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar13 = extraout_EDX_07;" (assignment_expression "iVar13 = extraout_EDX_07" identifier = identifier) ;) (goto_statement "goto LAB_00011c90;" goto statement_identifier ;) })) (expression_statement "compiled_separator.buffer = (re_dfa_t *)0x0;" (assignment_expression "compiled_separator.buffer = (re_dfa_t *)0x0" (field_expression "compiled_separator.buffer" identifier . field_identifier) = (cast_expression "(re_dfa_t *)0x0" ( (type_descriptor "re_dfa_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compiled_separator.fastmap = compiled_separator_fastmap;" (assignment_expression "compiled_separator.fastmap = compiled_separator_fastmap" (field_expression "compiled_separator.fastmap" identifier . field_identifier) = identifier) ;) (expression_statement "compiled_separator.allocated = 0;" (assignment_expression "compiled_separator.allocated = 0" (field_expression "compiled_separator.allocated" identifier . field_identifier) = number_literal) ;) (expression_statement "compiled_separator.translate = (uchar *)0x0;" (assignment_expression "compiled_separator.translate = (uchar *)0x0" (field_expression "compiled_separator.translate" identifier . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar11 = 0xffffffff;" (assignment_expression "uVar11 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar4 = separator;" (assignment_expression "pcVar4 = separator" identifier = identifier) ;) (do_statement "do {\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');" do (compound_statement "{\n      if (uVar11 == 0) break;\n      uVar11 = uVar11 - 1;\n      cVar1 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n    }" { (if_statement "if (uVar11 == 0) break;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar11 - 1;" (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar4;" (assignment_expression "cVar1 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) (expression_statement "pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pcVar4 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar4 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator);" (assignment_expression "pcVar4 = rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator)" identifier = (call_expression "rpl_re_compile_pattern(separator,~uVar11 - 1,&compiled_separator)" identifier (argument_list "(separator,~uVar11 - 1,&compiled_separator)" ( identifier , (binary_expression "~uVar11 - 1" (unary_expression "~uVar11" ~ identifier) - number_literal) , (pointer_expression "&compiled_separator" & identifier) )))) ;) (if_statement "if (pcVar4 != (char *)0x0) goto LAB_00011c7f;" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011c7f;" goto statement_identifier ;)) }) (else_clause "else {\n    match_length = 1;\n    sentinel_length = match_length;\n    if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }\n  }" else (compound_statement "{\n    match_length = 1;\n    sentinel_length = match_length;\n    if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }\n  }" { (expression_statement "match_length = 1;" (assignment_expression "match_length = 1" identifier = number_literal) ;) (expression_statement "sentinel_length = match_length;" (assignment_expression "sentinel_length = match_length" identifier = identifier) ;) (if_statement "if (*separator != '\0') {\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }" if (parenthesized_expression "(*separator != '\0')" ( (binary_expression "*separator != '\0'" (pointer_expression "*separator" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar11 = 0xffffffff;\n      pcVar4 = separator;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      match_length = ~uVar11 - 1;\n      sentinel_length = match_length;\n    }" { (expression_statement "uVar11 = 0xffffffff;" (assignment_expression "uVar11 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar4 = separator;" (assignment_expression "pcVar4 = separator" identifier = identifier) ;) (do_statement "do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;\n      }" { (if_statement "if (uVar11 == 0) break;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar11 - 1;" (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar4;" (assignment_expression "cVar1 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) (expression_statement "pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar4 = pcVar4 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pcVar4 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar4 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "match_length = ~uVar11 - 1;" (assignment_expression "match_length = ~uVar11 - 1" identifier = (binary_expression "~uVar11 - 1" (unary_expression "~uVar11" ~ identifier) - number_literal)) ;) (expression_statement "sentinel_length = match_length;" (assignment_expression "sentinel_length = match_length" identifier = identifier) ;) })) }))) (expression_statement "iVar13 = 0x12;" (assignment_expression "iVar13 = 0x12" identifier = number_literal) ;) (expression_statement "read_size = 0x2000;" (assignment_expression "read_size = 0x2000" identifier = number_literal) ;) (expression_statement "uVar11 = 0x2000;" (assignment_expression "uVar11 = 0x2000" identifier = number_literal) ;) (if_statement "if (0xfff < sentinel_length) {\n    while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }\n  }" if (parenthesized_expression "(0xfff < sentinel_length)" ( (binary_expression "0xfff < sentinel_length" number_literal < identifier) )) (compound_statement "{\n    while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }\n  }" { (while_statement "while (read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length) {\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }" while (parenthesized_expression "(read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length)" ( (comma_expression "read_size = uVar11 * 2, (uVar11 & 0x7fffffff) <= sentinel_length" (assignment_expression "read_size = uVar11 * 2" identifier = (binary_expression "uVar11 * 2" identifier * number_literal)) , (binary_expression "(uVar11 & 0x7fffffff) <= sentinel_length" (parenthesized_expression "(uVar11 & 0x7fffffff)" ( (binary_expression "uVar11 & 0x7fffffff" identifier & number_literal) )) <= identifier)) )) (compound_statement "{\n      iVar13 = iVar13 + -1;\n      uVar11 = read_size;\n      if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n    }" { (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "uVar11 = read_size;" (assignment_expression "uVar11 = read_size" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }" { comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) })) })) })) (expression_statement "uVar11 = read_size + 1 + sentinel_length;" (assignment_expression "uVar11 = read_size + 1 + sentinel_length" identifier = (binary_expression "read_size + 1 + sentinel_length" (binary_expression "read_size + 1" identifier + number_literal) + identifier)) ;) (expression_statement "G_buffer_size = uVar11 * 2;" (assignment_expression "G_buffer_size = uVar11 * 2" identifier = (binary_expression "uVar11 * 2" identifier * number_literal)) ;) (if_statement "if (uVar11 <= read_size || G_buffer_size <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n    xalloc_die();\n  }" if (parenthesized_expression "(uVar11 <= read_size || G_buffer_size <= uVar11)" ( (binary_expression "uVar11 <= read_size || G_buffer_size <= uVar11" (binary_expression "uVar11 <= read_size" identifier <= identifier) || (binary_expression "G_buffer_size <= uVar11" identifier <= identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    xalloc_die();\n  }" { comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar4 = (char *)xmalloc(G_buffer_size);" (assignment_expression "pcVar4 = (char *)xmalloc(G_buffer_size)" identifier = (cast_expression "(char *)xmalloc(G_buffer_size)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(G_buffer_size)" identifier (argument_list "(G_buffer_size)" ( identifier ))))) ;) (if_statement "if (sentinel_length == 0) {\n    G_buffer = pcVar4 + 1;\n    iVar13 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,sentinel_length);\n    G_buffer = pcVar4;\n    memcpy(pcVar4,separator,sentinel_length + 1);\n    G_buffer = pcVar4 + (int)(char *)local_28;\n    iVar13 = (int)(char *)local_28;\n  }" if (parenthesized_expression "(sentinel_length == 0)" ( (binary_expression "sentinel_length == 0" identifier == number_literal) )) (compound_statement "{\n    G_buffer = pcVar4 + 1;\n    iVar13 = 0;\n  }" { (expression_statement "G_buffer = pcVar4 + 1;" (assignment_expression "G_buffer = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_28 = CONCAT44(local_28._4_4_,sentinel_length);\n    G_buffer = pcVar4;\n    memcpy(pcVar4,separator,sentinel_length + 1);\n    G_buffer = pcVar4 + (int)(char *)local_28;\n    iVar13 = (int)(char *)local_28;\n  }" else (compound_statement "{\n    local_28 = CONCAT44(local_28._4_4_,sentinel_length);\n    G_buffer = pcVar4;\n    memcpy(pcVar4,separator,sentinel_length + 1);\n    G_buffer = pcVar4 + (int)(char *)local_28;\n    iVar13 = (int)(char *)local_28;\n  }" { (expression_statement "local_28 = CONCAT44(local_28._4_4_,sentinel_length);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,sentinel_length)" identifier = (call_expression "CONCAT44(local_28._4_4_,sentinel_length)" identifier (argument_list "(local_28._4_4_,sentinel_length)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "G_buffer = pcVar4;" (assignment_expression "G_buffer = pcVar4" identifier = identifier) ;) (expression_statement "memcpy(pcVar4,separator,sentinel_length + 1);" (call_expression "memcpy(pcVar4,separator,sentinel_length + 1)" identifier (argument_list "(pcVar4,separator,sentinel_length + 1)" ( identifier , identifier , (binary_expression "sentinel_length + 1" identifier + number_literal) ))) ;) (expression_statement "G_buffer = pcVar4 + (int)(char *)local_28;" (assignment_expression "G_buffer = pcVar4 + (int)(char *)local_28" identifier = (binary_expression "pcVar4 + (int)(char *)local_28" identifier + (cast_expression "(int)(char *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "iVar13 = (int)(char *)local_28;" (assignment_expression "iVar13 = (int)(char *)local_28" identifier = (cast_expression "(int)(char *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (if_statement "if (rpl_optind < local_2c) {\n    ppcVar5 = ppcVar5 + rpl_optind;\n    local_34 = (byte *)*ppcVar5;\n    if (local_34 == (byte *)0x0) {\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }\n  }\n  else {\n    ppcVar5 = main::default_file_list;\n    local_34 = &DAT_0002b12a;\n  }" if (parenthesized_expression "(rpl_optind < local_2c)" ( (binary_expression "rpl_optind < local_2c" identifier < identifier) )) (compound_statement "{\n    ppcVar5 = ppcVar5 + rpl_optind;\n    local_34 = (byte *)*ppcVar5;\n    if (local_34 == (byte *)0x0) {\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }\n  }" { (expression_statement "ppcVar5 = ppcVar5 + rpl_optind;" (assignment_expression "ppcVar5 = ppcVar5 + rpl_optind" identifier = (binary_expression "ppcVar5 + rpl_optind" identifier + identifier)) ;) (expression_statement "local_34 = (byte *)*ppcVar5;" (assignment_expression "local_34 = (byte *)*ppcVar5" identifier = (cast_expression "(byte *)*ppcVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppcVar5" * identifier))) ;) (if_statement "if (local_34 == (byte *)0x0) {\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }" if (parenthesized_expression "(local_34 == (byte *)0x0)" ( (binary_expression "local_34 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_3d = 1;\n      local_34 = (byte *)0x0;\n      goto LAB_00011970;\n    }" { (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" identifier = number_literal) ;) (expression_statement "local_34 = (byte *)0x0;" (assignment_expression "local_34 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011970;" goto statement_identifier ;) })) }) (else_clause "else {\n    ppcVar5 = main::default_file_list;\n    local_34 = &DAT_0002b12a;\n  }" else (compound_statement "{\n    ppcVar5 = main::default_file_list;\n    local_34 = &DAT_0002b12a;\n  }" { (ERROR "ppcVar5 = main::" (assignment_expression "ppcVar5 = main" identifier = identifier) : :) (expression_statement "default_file_list;" identifier ;) (expression_statement "local_34 = &DAT_0002b12a;" (assignment_expression "local_34 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) }))) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "bVar19 = (char **)0xfffffffb < ppcVar5;" (assignment_expression "bVar19 = (char **)0xfffffffb < ppcVar5" identifier = (binary_expression "(char **)0xfffffffb < ppcVar5" (cast_expression "(char **)0xfffffffb" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier)) ;) (expression_statement "bVar20 = ppcVar5 + 1 == (char **)0x0;" (assignment_expression "bVar20 = ppcVar5 + 1 == (char **)0x0" identifier = (binary_expression "ppcVar5 + 1 == (char **)0x0" (binary_expression "ppcVar5 + 1" identifier + number_literal) == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" identifier = number_literal) ;) (expression_statement "local_4c = "%s: read error";" (assignment_expression "local_4c = "%s: read error"" identifier = (string_literal ""%s: read error"" " string_content ")) ;) (expression_statement "local_38 = ppcVar5 + 1;" (assignment_expression "local_38 = ppcVar5 + 1" identifier = (binary_expression "ppcVar5 + 1" identifier + number_literal)) ;) (do_statement "do {\n    iVar12 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }\n    ppcVar5 = local_38 + 1;\n    local_3d = local_3d & _Var3;\n    local_34 = (byte *)*local_38;\n    bVar19 = false;\n    bVar20 = local_34 == (byte *)0x0;\n    puVar15 = puVar14;\n    local_38 = ppcVar5;\n  } while (!bVar20);" do (compound_statement "{\n    iVar12 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }\n    ppcVar5 = local_38 + 1;\n    local_3d = local_3d & _Var3;\n    local_34 = (byte *)*local_38;\n    bVar19 = false;\n    bVar20 = local_34 == (byte *)0x0;\n    puVar15 = puVar14;\n    local_38 = ppcVar5;\n  }" { (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) (expression_statement "pbVar17 = local_34;" (assignment_expression "pbVar17 = local_34" identifier = identifier) ;) (expression_statement "pbVar18 = local_44;" (assignment_expression "pbVar18 = local_44" identifier = identifier) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar19 = *pbVar17 < *pbVar18;" (assignment_expression "bVar19 = *pbVar17 < *pbVar18" identifier = (binary_expression "*pbVar17 < *pbVar18" (pointer_expression "*pbVar17" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar17 == *pbVar18;" (assignment_expression "bVar20 = *pbVar17 == *pbVar18" identifier = (binary_expression "*pbVar17 == *pbVar18" (pointer_expression "*pbVar17" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pbVar17 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar17 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);" (assignment_expression "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19)" identifier = (cast_expression "(int)(char)((!bVar19 && !bVar20) - bVar19)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)((!bVar19 && !bVar20) - bVar19)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((!bVar19 && !bVar20) - bVar19)" ( (binary_expression "(!bVar19 && !bVar20) - bVar19" (parenthesized_expression "(!bVar19 && !bVar20)" ( (binary_expression "!bVar19 && !bVar20" (unary_expression "!bVar19" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) - identifier) ))))) ;) (if_statement "if (local_3c == 0) {\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }" if (parenthesized_expression "(local_3c == 0)" ( (binary_expression "local_3c == 0" identifier == number_literal) )) (compound_statement "{\n      *(int *)(puVar14 + -4) = iVar12;\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "standard input";\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      have_read_stdin = true;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;\n      *(undefined4 *)(puVar14 + -8) = 0;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(int *)(puVar14 + -0x10) = local_2c;\n      *(undefined4 *)(puVar14 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }" { (expression_statement "*(int *)(puVar14 + -4) = iVar12;" (assignment_expression "*(int *)(puVar14 + -4) = iVar12" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "standard input";" (assignment_expression "*(char **)(puVar14 + -0xc) = "standard input"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""standard input"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "have_read_stdin = true;" (assignment_expression "have_read_stdin = true" identifier = true) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11808;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11808" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = (byte *)dcgettext();" (assignment_expression "local_34 = (byte *)dcgettext()" identifier = (cast_expression "(byte *)dcgettext()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (labeled_statement "LAB_00011815:\n      *(undefined4 *)(puVar14 + -4) = 2;" statement_identifier : (expression_statement "*(undefined4 *)(puVar14 + -4) = 2;" (assignment_expression "*(undefined4 *)(puVar14 + -4) = 2" (pointer_expression "*(undefined4 *)(puVar14 + -4)" * (cast_expression "(undefined4 *)(puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar14 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar14 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar14 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11823;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11823" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "_Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4));" (assignment_expression "_Var22 = lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4))" identifier = (call_expression "lseek64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc),\n                       *(int *)(puVar14 + -4))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__off64_t *)(puVar14 + -0xc)" * (cast_expression "(__off64_t *)(puVar14 + -0xc)" ( (type_descriptor "__off64_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }" if (parenthesized_expression "(_Var22 < 0)" ( (binary_expression "_Var22 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_0001184e:\n        pFVar2 = tmp_fp_6837;\n        if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }\n      }" { (labeled_statement "LAB_0001184e:\n        pFVar2 = tmp_fp_6837;" statement_identifier : (expression_statement "pFVar2 = tmp_fp_6837;" (assignment_expression "pFVar2 = tmp_fp_6837" identifier = identifier) ;)) (if_statement "if (tempfile_6836 == (char *)0x0) {\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }" if (parenthesized_expression "(tempfile_6836 == (char *)0x0)" ( (binary_expression "tempfile_6836 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(char **)(puVar14 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar14 + -0x14) = 0x11aa7;\n          pcVar9 = getenv(*(char **)(puVar14 + -0x10));\n          pcVar4 = pcVar9;\n          if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }\n          *(char **)(puVar14 + -4) = pcVar9;\n          *(undefined4 *)(puVar14 + -8) = 0;\n          *(char **)(puVar14 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar14 + -0x10) = pcVar4;\n          local_28 = CONCAT44(local_28._4_4_,pcVar4);\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ac7;\n          tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11ad5;\n          iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));\n          if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }\n          *(char **)(puVar14 + -0x10) = tempfile_6836;\n          _Var3 = false;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11beb;\n          free(*(void **)(puVar14 + -0x10));\n          tempfile_6836 = (char *)0x0;\n          iVar13 = extraout_EDX_06;\n        }" { (expression_statement "*(char **)(puVar14 + -0x10) = "TMPDIR";" (assignment_expression "*(char **)(puVar14 + -0x10) = "TMPDIR"" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = (string_literal ""TMPDIR"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11aa7;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11aa7" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar9 = getenv(*(char **)(puVar14 + -0x10));" (assignment_expression "pcVar9 = getenv(*(char **)(puVar14 + -0x10))" identifier = (call_expression "getenv(*(char **)(puVar14 + -0x10))" identifier (argument_list "(*(char **)(puVar14 + -0x10))" ( (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar4 = pcVar9;" (assignment_expression "pcVar4 = pcVar9" identifier = identifier) ;) (if_statement "if (pcVar9 == (char *)0x0) {\n            pcVar4 = "/tmp";\n          }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar4 = "/tmp";\n          }" { (expression_statement "pcVar4 = "/tmp";" (assignment_expression "pcVar4 = "/tmp"" identifier = (string_literal ""/tmp"" " string_content ")) ;) })) (expression_statement "*(char **)(puVar14 + -4) = pcVar9;" (assignment_expression "*(char **)(puVar14 + -4) = pcVar9" (pointer_expression "*(char **)(puVar14 + -4)" * (cast_expression "(char **)(puVar14 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "tacXXXXXX";" (assignment_expression "*(char **)(puVar14 + -0xc) = "tacXXXXXX"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""tacXXXXXX"" " string_content ")) ;) (expression_statement "*(char **)(puVar14 + -0x10) = pcVar4;" (assignment_expression "*(char **)(puVar14 + -0x10) = pcVar4" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,pcVar4);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,pcVar4)" identifier = (call_expression "CONCAT44(local_28._4_4_,pcVar4)" identifier (argument_list "(local_28._4_4_,pcVar4)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11ac7;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11ac7" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8));" (assignment_expression "tempfile_6836 =\n               mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8))" identifier = (call_expression "mfile_name_concat(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8))" identifier (argument_list "(*(char **)(puVar14 + -0x10),*(char **)(puVar14 + -0xc),\n                                 *(char ***)(puVar14 + -8))" ( (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(char ***)(puVar14 + -8)" * (cast_expression "(char ***)(puVar14 + -8)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar14 + -0x10) = tempfile_6836;" (assignment_expression "*(char **)(puVar14 + -0x10) = tempfile_6836" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11ad5;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11ad5" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10));" (assignment_expression "iVar13 = mkstemp_safer(*(char **)(puVar14 + -0x10))" identifier = (call_expression "mkstemp_safer(*(char **)(puVar14 + -0x10))" identifier (argument_list "(*(char **)(puVar14 + -0x10))" ( (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bb1;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11bcd;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = pcVar4;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11bd8;\n            error();\n          }" { (expression_statement "*(int *)(puVar14 + -4) = iVar13;" (assignment_expression "*(int *)(puVar14 + -4) = iVar13" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -8) = iVar13;" (assignment_expression "*(int *)(puVar14 + -8) = iVar13" (pointer_expression "*(int *)(puVar14 + -8)" * (cast_expression "(int *)(puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar14 + -0xc) = (char *)local_28;" (assignment_expression "*(char **)(puVar14 + -0xc) = (char *)local_28" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11bb1;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11bb1" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));" (assignment_expression "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier = (call_expression "quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier (argument_list "(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" ( (pointer_expression "*(quoting_style *)(puVar14 + -0x10)" * (cast_expression "(quoting_style *)(puVar14 + -0x10)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "failed to create temporary file in %s";" (assignment_expression "*(char **)(puVar14 + -0xc) = "failed to create temporary file in %s"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to create temporary file in %s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11bc6;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11bc6" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11bcd;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11bcd" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar14 + -0x14) = pcVar4;" (assignment_expression "*(char **)(puVar14 + -0x14) = pcVar4" (pointer_expression "*(char **)(puVar14 + -0x14)" * (cast_expression "(char **)(puVar14 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar14 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar14 + -0x18)" * (cast_expression "(undefined4 *)(puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x18)" ( (binary_expression "puVar14 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -0x1c) = *piVar10;" (assignment_expression "*(int *)(puVar14 + -0x1c) = *piVar10" (pointer_expression "*(int *)(puVar14 + -0x1c)" * (cast_expression "(int *)(puVar14 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x1c)" ( (binary_expression "puVar14 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x20)" * (cast_expression "(undefined4 *)(puVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x20)" ( (binary_expression "puVar14 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x24) = 0x11bd8;" (assignment_expression "*(undefined4 *)(puVar14 + -0x24) = 0x11bd8" (pointer_expression "*(undefined4 *)(puVar14 + -0x24)" * (cast_expression "(undefined4 *)(puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x24)" ( (binary_expression "puVar14 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }" else (compound_statement "{\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11af4;\n            tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar14 + -4) = 0;\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c07;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            local_28 = CONCAT44(local_28._4_4_,pcVar4);\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c1d;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c24;\n            piVar10 = __errno_location();\n            *(char **)(puVar14 + -0x14) = (char *)local_28;\n            *(undefined4 *)(puVar14 + -0x18) = uVar8;\n            *(int *)(puVar14 + -0x1c) = *piVar10;\n            *(undefined4 *)(puVar14 + -0x20) = 0;\n            *(undefined4 *)(puVar14 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar14 + -0x10));\n            *(char **)(puVar14 + -0x10) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar14 + -0x10));\n          }" { (expression_statement "*(int *)(puVar14 + -4) = iVar13;" (assignment_expression "*(int *)(puVar14 + -4) = iVar13" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -8) = iVar13;" (assignment_expression "*(int *)(puVar14 + -8) = iVar13" (pointer_expression "*(int *)(puVar14 + -8)" * (cast_expression "(int *)(puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar14 + -0xc) = &DAT_0002a14a;" (assignment_expression "*(undefined **)(puVar14 + -0xc) = &DAT_0002a14a" (pointer_expression "*(undefined **)(puVar14 + -0xc)" * (cast_expression "(undefined **)(puVar14 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a14a" & identifier)) ;) (expression_statement "*(int *)(puVar14 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar14 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11af4;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11af4" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));" (assignment_expression "tmp_fp_6837 = fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier = (call_expression "fdopen(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (tmp_fp_6837 != (FILE *)0x0) {\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }" if (parenthesized_expression "(tmp_fp_6837 != (FILE *)0x0)" ( (binary_expression "tmp_fp_6837 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(char **)(puVar14 + -0x10) = tempfile_6836;\n              *(undefined4 *)(puVar14 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar14 + -0x10));\n              goto LAB_000118a7;\n            }" { (expression_statement "*(char **)(puVar14 + -0x10) = tempfile_6836;" (assignment_expression "*(char **)(puVar14 + -0x10) = tempfile_6836" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11b14;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11b14" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar14 + -0x10));" (call_expression "unlink(*(char **)(puVar14 + -0x10))" identifier (argument_list "(*(char **)(puVar14 + -0x10))" ( (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_000118a7;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar14 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -4)" * (cast_expression "(undefined4 *)(puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = tempfile_6836;" (assignment_expression "*(char **)(puVar14 + -0xc) = tempfile_6836" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11c07;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11c07" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));" (assignment_expression "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier = (call_expression "quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier (argument_list "(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" ( (pointer_expression "*(quoting_style *)(puVar14 + -0x10)" * (cast_expression "(quoting_style *)(puVar14 + -0x10)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,pcVar4);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,pcVar4)" identifier = (call_expression "CONCAT44(local_28._4_4_,pcVar4)" identifier (argument_list "(local_28._4_4_,pcVar4)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "failed to open %s for writing";" (assignment_expression "*(char **)(puVar14 + -0xc) = "failed to open %s for writing"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to open %s for writing"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11c1d;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11c1d" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11c24;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11c24" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar14 + -0x14) = (char *)local_28;" (assignment_expression "*(char **)(puVar14 + -0x14) = (char *)local_28" (pointer_expression "*(char **)(puVar14 + -0x14)" * (cast_expression "(char **)(puVar14 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar14 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar14 + -0x18)" * (cast_expression "(undefined4 *)(puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x18)" ( (binary_expression "puVar14 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -0x1c) = *piVar10;" (assignment_expression "*(int *)(puVar14 + -0x1c) = *piVar10" (pointer_expression "*(int *)(puVar14 + -0x1c)" * (cast_expression "(int *)(puVar14 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x1c)" ( (binary_expression "puVar14 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x20)" * (cast_expression "(undefined4 *)(puVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x20)" ( (binary_expression "puVar14 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x24) = 0x11c32;" (assignment_expression "*(undefined4 *)(puVar14 + -0x24) = 0x11c32" (pointer_expression "*(undefined4 *)(puVar14 + -0x24)" * (cast_expression "(undefined4 *)(puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x24)" ( (binary_expression "puVar14 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar14 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar14 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11c3b;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11c3b" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "close(*(int *)(puVar14 + -0x10));" (call_expression "close(*(int *)(puVar14 + -0x10))" identifier (argument_list "(*(int *)(puVar14 + -0x10))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(char **)(puVar14 + -0x10) = tempfile_6836;" (assignment_expression "*(char **)(puVar14 + -0x10) = tempfile_6836" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11c47;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11c47" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar14 + -0x10));" (call_expression "unlink(*(char **)(puVar14 + -0x10))" identifier (argument_list "(*(char **)(puVar14 + -0x10))" ( (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "*(char **)(puVar14 + -0x10) = tempfile_6836;" (assignment_expression "*(char **)(puVar14 + -0x10) = tempfile_6836" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "_Var3 = false;" (assignment_expression "_Var3 = false" identifier = false) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11beb;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11beb" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar14 + -0x10));" (call_expression "free(*(void **)(puVar14 + -0x10))" identifier (argument_list "(*(void **)(puVar14 + -0x10))" ( (pointer_expression "*(void **)(puVar14 + -0x10)" * (cast_expression "(void **)(puVar14 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "tempfile_6836 = (char *)0x0;" (assignment_expression "tempfile_6836 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = extraout_EDX_06;" (assignment_expression "iVar13 = extraout_EDX_06" identifier = identifier) ;) }) (else_clause "else {\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }" else (compound_statement "{\n          *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n          *(undefined4 *)(puVar14 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar14 + -0x10));\n          *(undefined4 *)(puVar14 + -0x14) = 0;\n          *(undefined4 *)(puVar14 + -0x18) = 0;\n          *(undefined4 *)(puVar14 + -0x1c) = 0;\n          *(FILE **)(puVar14 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11876;\n          iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));\n          if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a47;\n          piVar10 = __errno_location();\n          *(char **)(puVar14 + -0x14) = pcVar4;\n          *(undefined4 *)(puVar14 + -0x18) = uVar8;\n          _Var3 = false;\n          *(int *)(puVar14 + -0x1c) = *piVar10;\n          *(undefined4 *)(puVar14 + -0x20) = 0;\n          *(undefined4 *)(puVar14 + -0x24) = 0x11a54;\n          error();\n          iVar13 = extraout_EDX_03;\n        }" { (expression_statement "*(FILE **)(puVar14 + -0x10) = tmp_fp_6837;" (assignment_expression "*(FILE **)(puVar14 + -0x10) = tmp_fp_6837" (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1186a;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1186a" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "clearerr_unlocked(*(FILE **)(puVar14 + -0x10));" (call_expression "clearerr_unlocked(*(FILE **)(puVar14 + -0x10))" identifier (argument_list "(*(FILE **)(puVar14 + -0x10))" ( (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x18)" * (cast_expression "(undefined4 *)(puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x18)" ( (binary_expression "puVar14 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x1c)" * (cast_expression "(undefined4 *)(puVar14 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x1c)" ( (binary_expression "puVar14 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(FILE **)(puVar14 + -0x20) = pFVar2;" (assignment_expression "*(FILE **)(puVar14 + -0x20) = pFVar2" (pointer_expression "*(FILE **)(puVar14 + -0x20)" * (cast_expression "(FILE **)(puVar14 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x20)" ( (binary_expression "puVar14 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x24) = 0x11876;" (assignment_expression "*(undefined4 *)(puVar14 + -0x24) = 0x11876" (pointer_expression "*(undefined4 *)(puVar14 + -0x24)" * (cast_expression "(undefined4 *)(puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x24)" ( (binary_expression "puVar14 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14));" (assignment_expression "iVar13 = rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14))" identifier = (call_expression "rpl_fseeko(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14))" identifier (argument_list "(*(FILE **)(puVar14 + -0x20),*(off_t *)(puVar14 + -0x1c),\n                              *(int *)(puVar14 + -0x14))" ( (pointer_expression "*(FILE **)(puVar14 + -0x20)" * (cast_expression "(FILE **)(puVar14 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x20)" ( (binary_expression "puVar14 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(off_t *)(puVar14 + -0x1c)" * (cast_expression "(off_t *)(puVar14 + -0x1c)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x1c)" ( (binary_expression "puVar14 + -0x1c" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar14 + -0x14)" * (cast_expression "(int *)(puVar14 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;\n            *(int *)(puVar14 + -8) = iVar13;\n            *(char **)(puVar14 + -0xc) = tempfile_6836;\n            *(undefined4 *)(puVar14 + -0x10) = 4;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a6b;\n            pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";\n          }" { (labeled_statement "LAB_00011a5c:\n            *(int *)(puVar14 + -4) = iVar13;" statement_identifier : (expression_statement "*(int *)(puVar14 + -4) = iVar13;" (assignment_expression "*(int *)(puVar14 + -4) = iVar13" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(puVar14 + -8) = iVar13;" (assignment_expression "*(int *)(puVar14 + -8) = iVar13" (pointer_expression "*(int *)(puVar14 + -8)" * (cast_expression "(int *)(puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar14 + -0xc) = tempfile_6836;" (assignment_expression "*(char **)(puVar14 + -0xc) = tempfile_6836" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11a6b;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11a6b" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));" (assignment_expression "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier = (call_expression "quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier (argument_list "(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" ( (pointer_expression "*(quoting_style *)(puVar14 + -0x10)" * (cast_expression "(quoting_style *)(puVar14 + -0x10)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "failed to rewind stream for %s";" (assignment_expression "*(char **)(puVar14 + -0xc) = "failed to rewind stream for %s"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to rewind stream for %s"" " string_content ")) ;) }) (else_clause "else {\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }" else (compound_statement "{\n            *(FILE **)(puVar14 + -0x10) = tmp_fp_6837;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1188f;\n            iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n            *(undefined4 *)(puVar14 + -8) = 0;\n            *(undefined4 *)(puVar14 + -0xc) = 0;\n            *(int *)(puVar14 + -0x10) = iVar13;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1189c;\n            iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));\n            if (iVar13 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = tmp_fp_6837;\n            uVar11 = 0;\n            iVar12 = 0;\n            local_48 = tempfile_6836;\n            while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }\n            *(FILE **)(puVar14 + -0x10) = local_30;\n            *(undefined4 *)(puVar14 + -0x14) = 0x1191c;\n            iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));\n            if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;\n            *(char **)(puVar14 + -8) = local_48;\n            *(undefined4 *)(puVar14 + -0xc) = 3;\n            *(undefined4 *)(puVar14 + -0x10) = 0;\n            *(undefined4 *)(puVar14 + -0x14) = 0x11a88;\n            pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));\n            *(undefined4 *)(puVar14 + -8) = 5;\n            *(char **)(puVar14 + -0xc) = "%s: write error";\n          }" { (expression_statement "*(FILE **)(puVar14 + -0x10) = tmp_fp_6837;" (assignment_expression "*(FILE **)(puVar14 + -0x10) = tmp_fp_6837" (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1188f;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1188f" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = fileno(*(FILE **)(puVar14 + -0x10));" (assignment_expression "iVar13 = fileno(*(FILE **)(puVar14 + -0x10))" identifier = (call_expression "fileno(*(FILE **)(puVar14 + -0x10))" identifier (argument_list "(*(FILE **)(puVar14 + -0x10))" ( (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar14 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar14 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1189c;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1189c" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc));" (assignment_expression "iVar13 = ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc))" identifier = (call_expression "ftruncate64(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(__off64_t *)(puVar14 + -0xc))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__off64_t *)(puVar14 + -0xc)" * (cast_expression "(__off64_t *)(puVar14 + -0xc)" ( (type_descriptor "__off64_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) goto LAB_00011a5c;" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011a5c;" goto statement_identifier ;)) (labeled_statement "LAB_000118a7:\n            local_30 = tmp_fp_6837;" statement_identifier : (expression_statement "local_30 = tmp_fp_6837;" (assignment_expression "local_30 = tmp_fp_6837" identifier = identifier) ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "local_48 = tempfile_6836;" (assignment_expression "local_48 = tempfile_6836" identifier = identifier) ;) (while_statement "while( true ) {\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              *(size_t *)(puVar14 + -8) = read_size;\n              *(char **)(puVar14 + -0xc) = G_buffer;\n              *(int *)(puVar14 + -0x10) = local_2c;\n              *(undefined4 *)(puVar14 + -0x14) = 0x1190a;\n              sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));\n              if (sVar7 == 0) break;\n              if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar14 + -4) = local_30;\n              *(size_t *)(puVar14 + -8) = sVar7;\n              *(undefined4 *)(puVar14 + -0xc) = 1;\n              *(char **)(puVar14 + -0x10) = G_buffer;\n              local_28 = CONCAT44(local_28._4_4_,sVar7);\n              *(undefined4 *)(puVar14 + -0x14) = 0x118dd;\n              sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));\n              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar11,(uint)(char *)local_28);\n              uVar11 = uVar11 + (int)(char *)local_28;\n              iVar12 = iVar12 + (uint)bVar19;\n            }" { (expression_statement "*(size_t *)(puVar14 + -8) = read_size;" (assignment_expression "*(size_t *)(puVar14 + -8) = read_size" (pointer_expression "*(size_t *)(puVar14 + -8)" * (cast_expression "(size_t *)(puVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar14 + -0xc) = G_buffer;" (assignment_expression "*(char **)(puVar14 + -0xc) = G_buffer" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar14 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1190a;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1190a" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8));" (assignment_expression "sVar7 = safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8))" identifier = (call_expression "safe_read(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(void **)(puVar14 + -0xc),\n                                *(size_t *)(puVar14 + -8))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar14 + -0xc)" * (cast_expression "(void **)(puVar14 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar14 + -8)" * (cast_expression "(size_t *)(puVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar7 == 0) break;" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (sVar7 == 0xffffffff) {\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" if (parenthesized_expression "(sVar7 == 0xffffffff)" ( (binary_expression "sVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                *(int *)(puVar14 + -4) = iVar12;\n                *(byte **)(puVar14 + -8) = local_34;\n                *(undefined4 *)(puVar14 + -0xc) = 3;\n                *(undefined4 *)(puVar14 + -0x10) = 0;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11a2f;\n                pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));\n                *(undefined4 *)(puVar14 + -8) = 5;\n                *(char **)(puVar14 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" { (expression_statement "*(int *)(puVar14 + -4) = iVar12;" (assignment_expression "*(int *)(puVar14 + -4) = iVar12" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar14 + -8) = local_34;" (assignment_expression "*(byte **)(puVar14 + -8) = local_34" (pointer_expression "*(byte **)(puVar14 + -8)" * (cast_expression "(byte **)(puVar14 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11a2f;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11a2f" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8));" (assignment_expression "pcVar4 = quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8))" identifier = (call_expression "quotearg_n_style_colon\n                                   (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                    *(char **)(puVar14 + -8))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(quoting_style *)(puVar14 + -0xc)" * (cast_expression "(quoting_style *)(puVar14 + -0xc)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -8)" * (cast_expression "(char **)(puVar14 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar14 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00011a39;" goto statement_identifier ;) })) (expression_statement "*(FILE **)(puVar14 + -4) = local_30;" (assignment_expression "*(FILE **)(puVar14 + -4) = local_30" (pointer_expression "*(FILE **)(puVar14 + -4)" * (cast_expression "(FILE **)(puVar14 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(puVar14 + -8) = sVar7;" (assignment_expression "*(size_t *)(puVar14 + -8) = sVar7" (pointer_expression "*(size_t *)(puVar14 + -8)" * (cast_expression "(size_t *)(puVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0x10) = G_buffer;" (assignment_expression "*(char **)(puVar14 + -0x10) = G_buffer" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,sVar7);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,sVar7)" identifier = (call_expression "CONCAT44(local_28._4_4_,sVar7)" identifier (argument_list "(local_28._4_4_,sVar7)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x118dd;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x118dd" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4));" (assignment_expression "sVar6 = fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4))" identifier = (call_expression "fwrite_unlocked(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4))" identifier (argument_list "(*(void **)(puVar14 + -0x10),*(size_t *)(puVar14 + -0xc),\n                                      *(size_t *)(puVar14 + -8),*(FILE **)(puVar14 + -4))" ( (pointer_expression "*(void **)(puVar14 + -0x10)" * (cast_expression "(void **)(puVar14 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar14 + -0xc)" * (cast_expression "(size_t *)(puVar14 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar14 + -8)" * (cast_expression "(size_t *)(puVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar14 + -4)" * (cast_expression "(FILE **)(puVar14 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;" if (parenthesized_expression "((char *)local_28 != (char *)sVar6)" ( (binary_expression "(char *)local_28 != (char *)sVar6" (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(char *)sVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00011a7b;" goto statement_identifier ;)) (expression_statement "bVar19 = CARRY4(uVar11,(uint)(char *)local_28);" (assignment_expression "bVar19 = CARRY4(uVar11,(uint)(char *)local_28)" identifier = (call_expression "CARRY4(uVar11,(uint)(char *)local_28)" identifier (argument_list "(uVar11,(uint)(char *)local_28)" ( identifier , (cast_expression "(uint)(char *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "uVar11 = uVar11 + (int)(char *)local_28;" (assignment_expression "uVar11 = uVar11 + (int)(char *)local_28" identifier = (binary_expression "uVar11 + (int)(char *)local_28" identifier + (cast_expression "(int)(char *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "iVar12 = iVar12 + (uint)bVar19;" (assignment_expression "iVar12 = iVar12 + (uint)bVar19" identifier = (binary_expression "iVar12 + (uint)bVar19" identifier + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "*(FILE **)(puVar14 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar14 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1191c;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1191c" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10));" (assignment_expression "iVar13 = fflush_unlocked(*(FILE **)(puVar14 + -0x10))" identifier = (call_expression "fflush_unlocked(*(FILE **)(puVar14 + -0x10))" identifier (argument_list "(*(FILE **)(puVar14 + -0x10))" ( (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) {\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar13 = extraout_EDX;\n              if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" { (expression_statement "iVar13 = extraout_EDX;" (assignment_expression "iVar13 = extraout_EDX" identifier = identifier) ;) (if_statement "if (iVar12 < 0) {\nLAB_00011c90:\n                _Var3 = false;\n              }\n              else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011c90:\n                _Var3 = false;\n              }" { (labeled_statement "LAB_00011c90:\n                _Var3 = false;" statement_identifier : (expression_statement "_Var3 = false;" (assignment_expression "_Var3 = false" identifier = false) ;)) }) (else_clause "else {\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }" else (compound_statement "{\n                *(FILE **)(puVar14 + -0x10) = local_30;\n                *(undefined4 *)(puVar14 + -0x14) = 0x1193a;\n                iVar13 = fileno(*(FILE **)(puVar14 + -0x10));\n                *(int *)(puVar14 + -0xc) = iVar12;\n                *(uint *)(puVar14 + -0x10) = uVar11;\n                *(undefined4 *)(puVar14 + -0x14) = 0x11946;\n                _Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));\n                iVar13 = extraout_EDX_00;\n              }" { (expression_statement "*(FILE **)(puVar14 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar14 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1193a;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1193a" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = fileno(*(FILE **)(puVar14 + -0x10));" (assignment_expression "iVar13 = fileno(*(FILE **)(puVar14 + -0x10))" identifier = (call_expression "fileno(*(FILE **)(puVar14 + -0x10))" identifier (argument_list "(*(FILE **)(puVar14 + -0x10))" ( (pointer_expression "*(FILE **)(puVar14 + -0x10)" * (cast_expression "(FILE **)(puVar14 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(puVar14 + -0xc) = iVar12;" (assignment_expression "*(int *)(puVar14 + -0xc) = iVar12" (pointer_expression "*(int *)(puVar14 + -0xc)" * (cast_expression "(int *)(puVar14 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar14 + -0x10) = uVar11;" (assignment_expression "*(uint *)(puVar14 + -0x10) = uVar11" (pointer_expression "*(uint *)(puVar14 + -0x10)" * (cast_expression "(uint *)(puVar14 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11946;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11946" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "_Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10));" (assignment_expression "_Var3 = tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10))" identifier = (call_expression "tac_seekable(iVar13,local_48,*(off_t *)(puVar14 + -0x10))" identifier (argument_list "(iVar13,local_48,*(off_t *)(puVar14 + -0x10))" ( identifier , identifier , (pointer_expression "*(off_t *)(puVar14 + -0x10)" * (cast_expression "(off_t *)(puVar14 + -0x10)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar13 = extraout_EDX_00;" (assignment_expression "iVar13 = extraout_EDX_00" identifier = identifier) ;) }))) (goto_statement "goto LAB_0001194b;" goto statement_identifier ;) })) (labeled_statement "LAB_00011a7b:\n            *(uint *)(puVar14 + -4) = uVar11;" statement_identifier : (expression_statement "*(uint *)(puVar14 + -4) = uVar11;" (assignment_expression "*(uint *)(puVar14 + -4) = uVar11" (pointer_expression "*(uint *)(puVar14 + -4)" * (cast_expression "(uint *)(puVar14 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar14 + -8) = local_48;" (assignment_expression "*(char **)(puVar14 + -8) = local_48" (pointer_expression "*(char **)(puVar14 + -8)" * (cast_expression "(char **)(puVar14 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11a88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11a88" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8));" (assignment_expression "pcVar4 = quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8))" identifier = (call_expression "quotearg_n_style_colon\n                               (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                                *(char **)(puVar14 + -8))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(quoting_style *)(puVar14 + -0xc)" * (cast_expression "(quoting_style *)(puVar14 + -0xc)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -8)" * (cast_expression "(char **)(puVar14 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "%s: write error";" (assignment_expression "*(char **)(puVar14 + -0xc) = "%s: write error"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: write error"" " string_content ")) ;) }))) (labeled_statement "LAB_00011a39:\n          *(undefined4 *)(puVar14 + -0x10) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11a40;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11a40" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11a47;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11a47" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar14 + -0x14) = pcVar4;" (assignment_expression "*(char **)(puVar14 + -0x14) = pcVar4" (pointer_expression "*(char **)(puVar14 + -0x14)" * (cast_expression "(char **)(puVar14 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar14 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar14 + -0x18)" * (cast_expression "(undefined4 *)(puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x18)" ( (binary_expression "puVar14 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "_Var3 = false;" (assignment_expression "_Var3 = false" identifier = false) ;) (expression_statement "*(int *)(puVar14 + -0x1c) = *piVar10;" (assignment_expression "*(int *)(puVar14 + -0x1c) = *piVar10" (pointer_expression "*(int *)(puVar14 + -0x1c)" * (cast_expression "(int *)(puVar14 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x1c)" ( (binary_expression "puVar14 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x20)" * (cast_expression "(undefined4 *)(puVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x20)" ( (binary_expression "puVar14 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x24) = 0x11a54;" (assignment_expression "*(undefined4 *)(puVar14 + -0x24) = 0x11a54" (pointer_expression "*(undefined4 *)(puVar14 + -0x24)" * (cast_expression "(undefined4 *)(puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x24)" ( (binary_expression "puVar14 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar13 = extraout_EDX_03;" (assignment_expression "iVar13 = extraout_EDX_03" identifier = identifier) ;) }))) }) (else_clause "else {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }" else (compound_statement "{\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x1183d;\n        local_28 = _Var22;\n        iVar13 = isatty(*(int *)(puVar14 + -0x10));\n        if (iVar13 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar14 + -4) = 0;\n        *(undefined4 *)(puVar14 + -8) = 0;\n        *(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;\n        *(char **)(puVar14 + -0x10) = (char *)local_28;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11b2b;\n        _Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_04;\n      }" { (expression_statement "*(int *)(puVar14 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar14 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x1183d;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x1183d" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_28 = _Var22;" (assignment_expression "local_28 = _Var22" identifier = identifier) ;) (expression_statement "iVar13 = isatty(*(int *)(puVar14 + -0x10));" (assignment_expression "iVar13 = isatty(*(int *)(puVar14 + -0x10))" identifier = (call_expression "isatty(*(int *)(puVar14 + -0x10))" identifier (argument_list "(*(int *)(puVar14 + -0x10))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) goto LAB_0001184e;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001184e;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar14 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -4)" * (cast_expression "(undefined4 *)(puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = local_28._4_4_;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = local_28._4_4_" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (field_expression "local_28._4_4_" identifier . field_identifier)) ;) (expression_statement "*(char **)(puVar14 + -0x10) = (char *)local_28;" (assignment_expression "*(char **)(puVar14 + -0x10) = (char *)local_28" (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11b2b;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11b2b" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "_Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10));" (assignment_expression "_Var3 = tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10))" identifier = (call_expression "tac_seekable(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10))" identifier (argument_list "(local_2c,(char *)local_34,*(off_t *)(puVar14 + -0x10))" ( identifier , (cast_expression "(char *)local_34" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "*(off_t *)(puVar14 + -0x10)" * (cast_expression "(off_t *)(puVar14 + -0x10)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar13 = extraout_EDX_04;" (assignment_expression "iVar13 = extraout_EDX_04" identifier = identifier) ;) }))) (labeled_statement "LAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" statement_identifier : (if_statement "if (local_3c != 0) {\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" if (parenthesized_expression "(local_3c != 0)" ( (binary_expression "local_3c != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar14 + -0x10) = local_2c;\n        *(undefined4 *)(puVar14 + -0x14) = 0x119fe;\n        iVar12 = close(*(int *)(puVar14 + -0x10));\n        iVar13 = extraout_EDX_02;\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" { (expression_statement "*(int *)(puVar14 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar14 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x119fe;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x119fe" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar14 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar14 + -0x10))" identifier = (call_expression "close(*(int *)(puVar14 + -0x10))" identifier (argument_list "(*(int *)(puVar14 + -0x10))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar13 = extraout_EDX_02;" (assignment_expression "iVar13 = extraout_EDX_02" identifier = identifier) ;) (if_statement "if (iVar12 != 0) {\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar14 + -4) = extraout_ECX;\n          *(byte **)(puVar14 + -8) = local_34;\n          *(undefined4 *)(puVar14 + -0xc) = 3;\n          *(undefined4 *)(puVar14 + -0x10) = 0;\n          *(undefined4 *)(puVar14 + -0x14) = 0x11a16;\n          pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));\n          *(undefined4 *)(puVar14 + -8) = 5;\n          *(char **)(puVar14 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" { (expression_statement "*(undefined4 *)(puVar14 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar14 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar14 + -4)" * (cast_expression "(undefined4 *)(puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar14 + -8) = local_34;" (assignment_expression "*(byte **)(puVar14 + -8) = local_34" (pointer_expression "*(byte **)(puVar14 + -8)" * (cast_expression "(byte **)(puVar14 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11a16;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11a16" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8));" (assignment_expression "pcVar4 = quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8))" identifier = (call_expression "quotearg_n_style_colon\n                             (*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8))" identifier (argument_list "(*(int *)(puVar14 + -0x10),*(quoting_style *)(puVar14 + -0xc),\n                              *(char **)(puVar14 + -8))" ( (pointer_expression "*(int *)(puVar14 + -0x10)" * (cast_expression "(int *)(puVar14 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(quoting_style *)(puVar14 + -0xc)" * (cast_expression "(quoting_style *)(puVar14 + -0xc)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -8)" * (cast_expression "(char **)(puVar14 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar14 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000119d0;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }" else (compound_statement "{\n      *(int *)(puVar14 + -4) = iVar13;\n      *(int *)(puVar14 + -8) = iVar13;\n      *(undefined4 *)(puVar14 + -0xc) = 0;\n      *(byte **)(puVar14 + -0x10) = local_34;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119a8;\n      local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));\n      if (-1 < local_2c) goto LAB_00011815;\n      *(int *)(puVar14 + -4) = local_2c;\n      *(int *)(puVar14 + -8) = local_2c;\n      *(byte **)(puVar14 + -0xc) = local_34;\n      *(undefined4 *)(puVar14 + -0x10) = 4;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119c2;\n      pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));\n      *(undefined4 *)(puVar14 + -8) = 5;\n      *(char **)(puVar14 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;\n      *(undefined4 *)(puVar14 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar14 + -0x14) = 0x119de;\n      piVar10 = __errno_location();\n      *(char **)(puVar14 + -0x14) = pcVar4;\n      *(undefined4 *)(puVar14 + -0x18) = uVar8;\n      _Var3 = false;\n      *(int *)(puVar14 + -0x1c) = *piVar10;\n      *(undefined4 *)(puVar14 + -0x20) = 0;\n      *(undefined4 *)(puVar14 + -0x24) = 0x119eb;\n      error();\n      iVar13 = extraout_EDX_01;\n    }" { (expression_statement "*(int *)(puVar14 + -4) = iVar13;" (assignment_expression "*(int *)(puVar14 + -4) = iVar13" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -8) = iVar13;" (assignment_expression "*(int *)(puVar14 + -8) = iVar13" (pointer_expression "*(int *)(puVar14 + -8)" * (cast_expression "(int *)(puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0xc)" * (cast_expression "(undefined4 *)(puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar14 + -0x10) = local_34;" (assignment_expression "*(byte **)(puVar14 + -0x10) = local_34" (pointer_expression "*(byte **)(puVar14 + -0x10)" * (cast_expression "(byte **)(puVar14 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x119a8;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x119a8" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc));" (assignment_expression "local_2c = open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc))" identifier = (call_expression "open64(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc))" identifier (argument_list "(*(char **)(puVar14 + -0x10),*(int *)(puVar14 + -0xc))" ( (pointer_expression "*(char **)(puVar14 + -0x10)" * (cast_expression "(char **)(puVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar14 + -0xc)" * (cast_expression "(int *)(puVar14 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < local_2c) goto LAB_00011815;" if (parenthesized_expression "(-1 < local_2c)" ( (binary_expression "-1 < local_2c" number_literal < identifier) )) (goto_statement "goto LAB_00011815;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar14 + -4) = local_2c;" (assignment_expression "*(int *)(puVar14 + -4) = local_2c" (pointer_expression "*(int *)(puVar14 + -4)" * (cast_expression "(int *)(puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -4)" ( (binary_expression "puVar14 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar14 + -8) = local_2c;" (assignment_expression "*(int *)(puVar14 + -8) = local_2c" (pointer_expression "*(int *)(puVar14 + -8)" * (cast_expression "(int *)(puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar14 + -0xc) = local_34;" (assignment_expression "*(byte **)(puVar14 + -0xc) = local_34" (pointer_expression "*(byte **)(puVar14 + -0xc)" * (cast_expression "(byte **)(puVar14 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x119c2;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x119c2" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc));" (assignment_expression "pcVar4 = quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier = (call_expression "quotearg_style(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" identifier (argument_list "(*(quoting_style *)(puVar14 + -0x10),*(char **)(puVar14 + -0xc))" ( (pointer_expression "*(quoting_style *)(puVar14 + -0x10)" * (cast_expression "(quoting_style *)(puVar14 + -0x10)" ( (type_descriptor "quoting_style *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar14 + -8)" * (cast_expression "(undefined4 *)(puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -8)" ( (binary_expression "puVar14 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar14 + -0xc) = "failed to open %s for reading";" (assignment_expression "*(char **)(puVar14 + -0xc) = "failed to open %s for reading"" (pointer_expression "*(char **)(puVar14 + -0xc)" * (cast_expression "(char **)(puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0xc)" ( (binary_expression "puVar14 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to open %s for reading"" " string_content ")) ;) (labeled_statement "LAB_000119d0:\n      *(undefined4 *)(puVar14 + -0x10) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x119d7;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x119d7" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x119de;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x119de" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar14 + -0x14) = pcVar4;" (assignment_expression "*(char **)(puVar14 + -0x14) = pcVar4" (pointer_expression "*(char **)(puVar14 + -0x14)" * (cast_expression "(char **)(puVar14 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar14 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar14 + -0x18)" * (cast_expression "(undefined4 *)(puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x18)" ( (binary_expression "puVar14 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "_Var3 = false;" (assignment_expression "_Var3 = false" identifier = false) ;) (expression_statement "*(int *)(puVar14 + -0x1c) = *piVar10;" (assignment_expression "*(int *)(puVar14 + -0x1c) = *piVar10" (pointer_expression "*(int *)(puVar14 + -0x1c)" * (cast_expression "(int *)(puVar14 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x1c)" ( (binary_expression "puVar14 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar14 + -0x20)" * (cast_expression "(undefined4 *)(puVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x20)" ( (binary_expression "puVar14 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x24) = 0x119eb;" (assignment_expression "*(undefined4 *)(puVar14 + -0x24) = 0x119eb" (pointer_expression "*(undefined4 *)(puVar14 + -0x24)" * (cast_expression "(undefined4 *)(puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x24)" ( (binary_expression "puVar14 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar13 = extraout_EDX_01;" (assignment_expression "iVar13 = extraout_EDX_01" identifier = identifier) ;) }))) (expression_statement "ppcVar5 = local_38 + 1;" (assignment_expression "ppcVar5 = local_38 + 1" identifier = (binary_expression "local_38 + 1" identifier + number_literal)) ;) (expression_statement "local_3d = local_3d & _Var3;" (assignment_expression "local_3d = local_3d & _Var3" identifier = (binary_expression "local_3d & _Var3" identifier & identifier)) ;) (expression_statement "local_34 = (byte *)*local_38;" (assignment_expression "local_34 = (byte *)*local_38" identifier = (cast_expression "(byte *)*local_38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_38" * identifier))) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (expression_statement "bVar20 = local_34 == (byte *)0x0;" (assignment_expression "bVar20 = local_34 == (byte *)0x0" identifier = (binary_expression "local_34 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "puVar15 = puVar14;" (assignment_expression "puVar15 = puVar14" identifier = identifier) ;) (expression_statement "local_38 = ppcVar5;" (assignment_expression "local_38 = ppcVar5" identifier = identifier) ;) }) while (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) ;) (labeled_statement "LAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11979;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11979" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "output((char *)0x0,(char *)0x0);" (call_expression "output((char *)0x0,(char *)0x0)" identifier (argument_list "((char *)0x0,(char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (if_statement "if (have_read_stdin != false) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar13 = close(*(int *)(puVar15 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" if (parenthesized_expression "(have_read_stdin != false)" ( (binary_expression "have_read_stdin != false" identifier != false) )) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar13 = close(*(int *)(puVar15 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b53;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b53" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar13 = close(*(int *)(puVar15 + -0x10))" identifier = (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar10 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar10;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11b63;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11b63" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "*(int *)(puVar15 + -0xc) = *piVar10;" (assignment_expression "*(int *)(puVar15 + -0xc) = *piVar10" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b74;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b74" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3d = 0;" (assignment_expression "local_3d = 0" identifier = number_literal) ;) })) })) (return_statement "return (uint)(local_3d ^ 1);" return (call_expression "(uint)(local_3d ^ 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_3d ^ 1)" ( (binary_expression "local_3d ^ 1" identifier ^ number_literal) ))) ;) })))
(translation_unit "byte FUN_000114e0(int param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}\n\n" (function_definition "byte FUN_000114e0(int param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}" type_identifier (function_declarator "FUN_000114e0(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "FILE *pFVar2;" type_identifier (pointer_declarator "*pFVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "int extraout_EDX_01;" primitive_type identifier ;) (declaration "int extraout_EDX_02;" primitive_type identifier ;) (declaration "int extraout_EDX_03;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int extraout_EDX_04;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX_05;" type_identifier identifier ;) (declaration "int extraout_EDX_06;" primitive_type identifier ;) (declaration "int extraout_EDX_07;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "__off64_t _Var22;" type_identifier identifier ;) (declaration "int aiStack_74 [5];" primitive_type (array_declarator "aiStack_74 [5]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_50 [4];" type_identifier (array_declarator "auStack_50 [4]" identifier [ number_literal ]) ;) (declaration "char *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "byte *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "byte local_3d;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined **local_38;" type_identifier (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "byte *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "FILE *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "puVar3 = param_2;" (assignment_expression "puVar3 = param_2" identifier = identifier) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_2c = param_1;" (assignment_expression "local_2c = param_1" identifier = identifier) ;) (expression_statement "FUN_00012a70(*param_2);" (call_expression "FUN_00012a70(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) ))) ;) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" identifier (argument_list "(6,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain("coreutils","/usr/share/locale");" (call_expression "bindtextdomain("coreutils","/usr/share/locale")" identifier (argument_list "("coreutils","/usr/share/locale")" ( (string_literal ""coreutils"" " string_content ") , (string_literal ""/usr/share/locale"" " string_content ") ))) ;) (expression_statement "textdomain("coreutils");" (call_expression "textdomain("coreutils")" identifier (argument_list "("coreutils")" ( (string_literal ""coreutils"" " string_content ") ))) ;) (expression_statement "FUN_00029610(PTR_FUN_00032fc8);" (call_expression "FUN_00029610(PTR_FUN_00032fc8)" identifier (argument_list "(PTR_FUN_00032fc8)" ( identifier ))) ;) (expression_statement "DAT_00035334 = 1;" (assignment_expression "DAT_00035334 = 1" identifier = number_literal) ;) (expression_statement "DAT_00035338 = "\n";" (assignment_expression "DAT_00035338 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7)" identifier = (call_expression "CONCAT44(local_28._4_4_,&DAT_0002a0f7)" identifier (argument_list "(local_28._4_4_,&DAT_0002a0f7)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (pointer_expression "&DAT_0002a0f7" & identifier) )))) ;) (expression_statement "local_30 = (FILE *)&DAT_000354c8;" (assignment_expression "local_30 = (FILE *)&DAT_000354c8" identifier = (cast_expression "(FILE *)&DAT_000354c8" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000354c8" & identifier))) ;) (expression_statement "DAT_00035330 = 1;" (assignment_expression "DAT_00035330 = 1" identifier = number_literal) ;) (expression_statement "puVar15 = auStack_50;" (assignment_expression "puVar15 = auStack_50" identifier = identifier) ;) (while_statement "while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;" (assignment_expression "*(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60" (pointer_expression "*(undefined ***)(puVar15 + -0x14)" * (cast_expression "(undefined ***)(puVar15 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&PTR_s_before_00032e60" & identifier)) ;) (expression_statement "*(uint *)(puVar15 + -0x18) = (uint)local_28;" (assignment_expression "*(uint *)(puVar15 + -0x18) = (uint)local_28" (pointer_expression "*(uint *)(puVar15 + -0x18)" * (cast_expression "(uint *)(puVar15 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 **)(puVar15 + -0x1c) = puVar3;" (assignment_expression "*(undefined4 **)(puVar15 + -0x1c) = puVar3" (pointer_expression "*(undefined4 **)(puVar15 + -0x1c)" * (cast_expression "(undefined4 **)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x20) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x20) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x20)" * (cast_expression "(int *)(puVar15 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11591;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11591" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00016760();" (assignment_expression "iVar5 = FUN_00016760()" identifier = (call_expression "FUN_00016760()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == -1) break;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" if (parenthesized_expression "(iVar5 == 0x62)" ( (binary_expression "iVar5 == 0x62" identifier == number_literal) )) (compound_statement "{\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }" { (labeled_statement "LAB_00011640:\n      DAT_00035334 = 0;" statement_identifier : (expression_statement "DAT_00035334 = 0;" (assignment_expression "DAT_00035334 = 0" identifier = number_literal) ;)) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) }) (else_clause "else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" else (compound_statement "{\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" { (if_statement "if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }" if (parenthesized_expression "(iVar5 < 99)" ( (binary_expression "iVar5 < 99" identifier < number_literal) )) (compound_statement "{\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }" { (expression_statement "local_28 = CONCAT44(local_28._4_4_,iVar5);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,iVar5)" identifier = (call_expression "CONCAT44(local_28._4_4_,iVar5)" identifier (argument_list "(local_28._4_4_,iVar5)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }" if (parenthesized_expression "(iVar5 == -0x83)" ( (binary_expression "iVar5 == -0x83" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "David MacKenzie";" (assignment_expression "*(char **)(puVar15 + -0xc) = "David MacKenzie"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""David MacKenzie"" " string_content ")) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "Jay Lepreau";" (assignment_expression "*(char **)(puVar15 + -0x10) = "Jay Lepreau"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""Jay Lepreau"" " string_content ")) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar15 + -0x18) = "GNU coreutils";" (assignment_expression "*(char **)(puVar15 + -0x18) = "GNU coreutils"" (pointer_expression "*(char **)(puVar15 + -0x18)" * (cast_expression "(char **)(puVar15 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (string_literal ""GNU coreutils"" " string_content ")) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;" (assignment_expression "*(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038" (pointer_expression "*(undefined1 **)(puVar15 + -0x1c)" * (cast_expression "(undefined1 **)(puVar15 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a038" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_00032fd0" * (cast_expression "(undefined4 *)PTR_stdout_00032fd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11600;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11600" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000153f0();" (call_expression "FUN_000153f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_0001160a;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_0001160a" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001160a" & identifier)) ;) (expression_statement "exit(*(int *)(puVar15 + -0x10));" (call_expression "exit(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (iVar5 != -0x82) goto LAB_00011c4c;" if (parenthesized_expression "(iVar5 != -0x82)" ( (binary_expression "iVar5 != -0x82" identifier != number_literal) )) (goto_statement "goto LAB_00011c4c;" goto statement_identifier ;)) (expression_statement "puVar16 = puVar15 + -0x10;" (assignment_expression "puVar16 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1163e;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1163e" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012510();" (call_expression "FUN_00012510()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011640;" goto statement_identifier ;) })) (if_statement "if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" if (parenthesized_expression "(iVar5 == 0x72)" ( (binary_expression "iVar5 == 0x72" identifier == number_literal) )) (compound_statement "{\n        DAT_00035330 = 0;\n      }" { (expression_statement "DAT_00035330 = 0;" (assignment_expression "DAT_00035330 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" else (compound_statement "{\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" { (if_statement "if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }" if (parenthesized_expression "(iVar5 != 0x73)" ( (binary_expression "iVar5 != 0x73" identifier != number_literal) )) (compound_statement "{\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }" { (labeled_statement "LAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c56;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c56" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00035324 = FUN_00012510();" (assignment_expression "DAT_00035324 = FUN_00012510()" identifier = (call_expression "FUN_00012510()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = puVar15 + -0x10;" (assignment_expression "puVar15 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_00011c56;" goto statement_identifier ;) })) (expression_statement "DAT_00035338 = (char *)local_30->_flags;" (assignment_expression "DAT_00035338 = (char *)local_30->_flags" identifier = (cast_expression "(char *)local_30->_flags" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_30->_flags" identifier -> field_identifier))) ;) }))) }))) })) (expression_statement "local_28 = CONCAT44(local_28._4_4_,0xffffffff);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_28._4_4_,0xffffffff)" identifier (argument_list "(local_28._4_4_,0xffffffff)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" if (parenthesized_expression "(DAT_00035330 == 0)" ( (binary_expression "DAT_00035330 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }" { (if_statement "if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" if (parenthesized_expression "(*DAT_00035338 == '\0')" ( (binary_expression "*DAT_00035338 == '\0'" (pointer_expression "*DAT_00035338" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" { (expression_statement "*(undefined4 **)(puVar15 + -4) = puVar3;" (assignment_expression "*(undefined4 **)(puVar15 + -4) = puVar3" (pointer_expression "*(undefined4 **)(puVar15 + -4)" * (cast_expression "(undefined4 **)(puVar15 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "separator cannot be empty";" (assignment_expression "*(char **)(puVar15 + -0xc) = "separator cannot be empty"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""separator cannot be empty"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c72;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c72" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar16 = puVar15 + -0x10;" (assignment_expression "puVar16 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c7f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c7f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = error();" (assignment_expression "iVar5 = error()" identifier = (call_expression "error()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;" statement_identifier : (expression_statement "*(int *)(puVar16 + -4) = iVar5;" (assignment_expression "*(int *)(puVar16 + -4) = iVar5" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar16 + -8) = "%s";" (assignment_expression "*(char **)(puVar16 + -8) = "%s"" (pointer_expression "*(char **)(puVar16 + -8)" * (cast_expression "(char **)(puVar16 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (string_literal ""%s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar15 = puVar16 + -0x10;" (assignment_expression "puVar15 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x11c90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x11c90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_EDX_07;" (assignment_expression "iVar5 = extraout_EDX_07" identifier = identifier) ;) (goto_statement "goto LAB_00011c90;" goto statement_identifier ;) })) (expression_statement "DAT_00035300 = 0;" (assignment_expression "DAT_00035300 = 0" identifier = number_literal) ;) (expression_statement "DAT_00035310 = &DAT_00035200;" (assignment_expression "DAT_00035310 = &DAT_00035200" identifier = (pointer_expression "&DAT_00035200" & identifier)) ;) (expression_statement "DAT_00035304 = 0;" (assignment_expression "DAT_00035304 = 0" identifier = number_literal) ;) (expression_statement "DAT_00035314 = 0;" (assignment_expression "DAT_00035314 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 0xffffffff;" (assignment_expression "uVar12 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar14 = DAT_00035338;" (assignment_expression "pcVar14 = DAT_00035338" identifier = identifier) ;) (do_statement "do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');" do (compound_statement "{\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    }" { (if_statement "if (uVar12 == 0) break;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pcVar14 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar14 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "*(uint *)(puVar15 + -4) = ~uVar12;" (assignment_expression "*(uint *)(puVar15 + -4) = ~uVar12" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (unary_expression "~uVar12" ~ identifier)) ;) (expression_statement "*(undefined4 **)(puVar15 + -8) = &DAT_00035300;" (assignment_expression "*(undefined4 **)(puVar15 + -8) = &DAT_00035300" (pointer_expression "*(undefined4 **)(puVar15 + -8)" * (cast_expression "(undefined4 **)(puVar15 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_00035300" & identifier)) ;) (expression_statement "*(uint *)(puVar15 + -0xc) = ~uVar12 - 1;" (assignment_expression "*(uint *)(puVar15 + -0xc) = ~uVar12 - 1" (pointer_expression "*(uint *)(puVar15 + -0xc)" * (cast_expression "(uint *)(puVar15 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "~uVar12 - 1" (unary_expression "~uVar12" ~ identifier) - number_literal)) ;) (expression_statement "*(char **)(puVar15 + -0x10) = DAT_00035338;" (assignment_expression "*(char **)(puVar15 + -0x10) = DAT_00035338" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x116b6;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x116b6" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00027c20();" (assignment_expression "iVar5 = FUN_00027c20()" identifier = (call_expression "FUN_00027c20()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (iVar5 != 0) goto LAB_00011c7f;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00011c7f;" goto statement_identifier ;)) }) (else_clause "else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" else (compound_statement "{\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" { (expression_statement "DAT_0003532c = 1;" (assignment_expression "DAT_0003532c = 1" identifier = number_literal) ;) (expression_statement "DAT_00035330 = DAT_0003532c;" (assignment_expression "DAT_00035330 = DAT_0003532c" identifier = identifier) ;) (if_statement "if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }" if (parenthesized_expression "(*DAT_00035338 != '\0')" ( (binary_expression "*DAT_00035338 != '\0'" (pointer_expression "*DAT_00035338" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }" { (expression_statement "uVar12 = 0xffffffff;" (assignment_expression "uVar12 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar14 = DAT_00035338;" (assignment_expression "pcVar14 = DAT_00035338" identifier = identifier) ;) (do_statement "do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      }" { (if_statement "if (uVar12 == 0) break;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pcVar14 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar14 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "DAT_0003532c = ~uVar12 - 1;" (assignment_expression "DAT_0003532c = ~uVar12 - 1" identifier = (binary_expression "~uVar12 - 1" (unary_expression "~uVar12" ~ identifier) - number_literal)) ;) (expression_statement "DAT_00035330 = DAT_0003532c;" (assignment_expression "DAT_00035330 = DAT_0003532c" identifier = identifier) ;) })) }))) (expression_statement "iVar5 = 0x12;" (assignment_expression "iVar5 = 0x12" identifier = number_literal) ;) (expression_statement "DAT_00035324 = 0x2000;" (assignment_expression "DAT_00035324 = 0x2000" identifier = number_literal) ;) (expression_statement "uVar12 = 0x2000;" (assignment_expression "uVar12 = 0x2000" identifier = number_literal) ;) (if_statement "if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }" if (parenthesized_expression "(0xfff < DAT_00035330)" ( (binary_expression "0xfff < DAT_00035330" number_literal < identifier) )) (compound_statement "{\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }" { (while_statement "while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }" while (parenthesized_expression "(DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330)" ( (comma_expression "DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330" (assignment_expression "DAT_00035324 = uVar12 * 2" identifier = (binary_expression "uVar12 * 2" identifier * number_literal)) , (binary_expression "(uVar12 & 0x7fffffff) <= DAT_00035330" (parenthesized_expression "(uVar12 & 0x7fffffff)" ( (binary_expression "uVar12 & 0x7fffffff" identifier & number_literal) )) <= identifier)) )) (compound_statement "{\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }" { (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) (expression_statement "uVar12 = DAT_00035324;" (assignment_expression "uVar12 = DAT_00035324" identifier = identifier) ;) (if_statement "if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }" { (labeled_statement "LAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11c61;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11c61" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000157c0();" (call_expression "FUN_000157c0()" identifier (argument_list "()" ( ))) ;) })) })) })) (expression_statement "uVar12 = DAT_00035324 + 1 + DAT_00035330;" (assignment_expression "uVar12 = DAT_00035324 + 1 + DAT_00035330" identifier = (binary_expression "DAT_00035324 + 1 + DAT_00035330" (binary_expression "DAT_00035324 + 1" identifier + number_literal) + identifier)) ;) (expression_statement "DAT_00035320 = uVar12 * 2;" (assignment_expression "DAT_00035320 = uVar12 * 2" identifier = (binary_expression "uVar12 * 2" identifier * number_literal)) ;) (if_statement "if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }" if (parenthesized_expression "(uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12)" ( (binary_expression "uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12" (binary_expression "uVar12 <= DAT_00035324" identifier <= identifier) || (binary_expression "DAT_00035320 <= uVar12" identifier <= identifier)) )) (compound_statement "{\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11c9c;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11c9c" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000157c0();" (call_expression "FUN_000157c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(uint *)(puVar15 + -0x10) = DAT_00035320;" (assignment_expression "*(uint *)(puVar15 + -0x10) = DAT_00035320" (pointer_expression "*(uint *)(puVar15 + -0x10)" * (cast_expression "(uint *)(puVar15 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1172d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1172d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_000154c0();" (assignment_expression "iVar5 = FUN_000154c0()" identifier = (call_expression "FUN_000154c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" if (parenthesized_expression "(DAT_00035330 == 0)" ( (binary_expression "DAT_00035330 == 0" identifier == number_literal) )) (compound_statement "{\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }" { (expression_statement "DAT_00035328 = iVar5 + 1;" (assignment_expression "DAT_00035328 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" else (compound_statement "{\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" { (expression_statement "local_28 = CONCAT44(local_28._4_4_,DAT_00035330);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,DAT_00035330)" identifier = (call_expression "CONCAT44(local_28._4_4_,DAT_00035330)" identifier (argument_list "(local_28._4_4_,DAT_00035330)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(uint *)(puVar15 + -4) = DAT_00035330;" (assignment_expression "*(uint *)(puVar15 + -4) = DAT_00035330" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar15 + -8) = DAT_00035330 + 1;" (assignment_expression "*(uint *)(puVar15 + -8) = DAT_00035330 + 1" (pointer_expression "*(uint *)(puVar15 + -8)" * (cast_expression "(uint *)(puVar15 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "DAT_00035330 + 1" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar15 + -0xc) = DAT_00035338;" (assignment_expression "*(char **)(puVar15 + -0xc) = DAT_00035338" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b94;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b94" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00035328 = iVar5;" (assignment_expression "DAT_00035328 = iVar5" identifier = identifier) ;) (expression_statement "memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));" (call_expression "memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8))" identifier (argument_list "(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8))" ( (pointer_expression "*(void **)(puVar15 + -0x10)" * (cast_expression "(void **)(puVar15 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar15 + -0xc)" * (cast_expression "(void **)(puVar15 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -8)" * (cast_expression "(size_t *)(puVar15 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "DAT_00035328 = iVar5 + (uint)local_28;" (assignment_expression "DAT_00035328 = iVar5 + (uint)local_28" identifier = (binary_expression "iVar5 + (uint)local_28" identifier + (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar5 = (uint)local_28;" (assignment_expression "iVar5 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (if_statement "if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" if (parenthesized_expression "(DAT_000331a8 < local_2c)" ( (binary_expression "DAT_000331a8 < local_2c" identifier < identifier) )) (compound_statement "{\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }" { (expression_statement "ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);" (assignment_expression "ppuVar6 = (undefined **)(puVar3 + DAT_000331a8)" identifier = (cast_expression "(undefined **)(puVar3 + DAT_000331a8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + DAT_000331a8)" ( (binary_expression "puVar3 + DAT_000331a8" identifier + identifier) )))) ;) (expression_statement "local_34 = *ppuVar6;" (assignment_expression "local_34 = *ppuVar6" identifier = (pointer_expression "*ppuVar6" * identifier)) ;) (if_statement "if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }" if (parenthesized_expression "(*ppuVar6 == (byte *)0x0)" ( (binary_expression "*ppuVar6 == (byte *)0x0" (pointer_expression "*ppuVar6" * identifier) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_3d = 1;\n      goto LAB_00011970;\n    }" { (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00011970;" goto statement_identifier ;) })) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) }) (else_clause "else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" else (compound_statement "{\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" { (expression_statement "ppuVar6 = &PTR_DAT_00032e40;" (assignment_expression "ppuVar6 = &PTR_DAT_00032e40" identifier = (pointer_expression "&PTR_DAT_00032e40" & identifier)) ;) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "local_34 = &DAT_0002b12a;" (assignment_expression "local_34 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) }))) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" identifier = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "bVar19 = (undefined **)0xfffffffb < ppuVar6;" (assignment_expression "bVar19 = (undefined **)0xfffffffb < ppuVar6" identifier = (binary_expression "(undefined **)0xfffffffb < ppuVar6" (cast_expression "(undefined **)0xfffffffb" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier)) ;) (expression_statement "bVar20 = ppuVar6 + 1 == (undefined **)0x0;" (assignment_expression "bVar20 = ppuVar6 + 1 == (undefined **)0x0" identifier = (binary_expression "ppuVar6 + 1 == (undefined **)0x0" (binary_expression "ppuVar6 + 1" identifier + number_literal) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" identifier = number_literal) ;) (expression_statement "local_38 = ppuVar6 + 1;" (assignment_expression "local_38 = ppuVar6 + 1" identifier = (binary_expression "ppuVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_4c = "%s: read error";" (assignment_expression "local_4c = "%s: read error"" identifier = (string_literal ""%s: read error"" " string_content ")) ;) (do_statement "do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);" do (compound_statement "{\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  }" { (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;) (expression_statement "pbVar17 = local_34;" (assignment_expression "pbVar17 = local_34" identifier = identifier) ;) (expression_statement "pbVar18 = local_44;" (assignment_expression "pbVar18 = local_44" identifier = identifier) ;) (do_statement "do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar19 = *pbVar17 < *pbVar18;" (assignment_expression "bVar19 = *pbVar17 < *pbVar18" identifier = (binary_expression "*pbVar17 < *pbVar18" (pointer_expression "*pbVar17" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar17 == *pbVar18;" (assignment_expression "bVar20 = *pbVar17 == *pbVar18" identifier = (binary_expression "*pbVar17 == *pbVar18" (pointer_expression "*pbVar17" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pbVar17 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar17 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);" (assignment_expression "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19)" identifier = (cast_expression "(int)(char)((!bVar19 && !bVar20) - bVar19)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)((!bVar19 && !bVar20) - bVar19)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((!bVar19 && !bVar20) - bVar19)" ( (binary_expression "(!bVar19 && !bVar20) - bVar19" (parenthesized_expression "(!bVar19 && !bVar20)" ( (binary_expression "!bVar19 && !bVar20" (unary_expression "!bVar19" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) - identifier) ))))) ;) (if_statement "if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" if (parenthesized_expression "(local_3c == 0)" ( (binary_expression "local_3c == 0" identifier == number_literal) )) (compound_statement "{\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }" { (expression_statement "*(int *)(puVar15 + -4) = iVar13;" (assignment_expression "*(int *)(puVar15 + -4) = iVar13" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "standard input";" (assignment_expression "*(char **)(puVar15 + -0xc) = "standard input"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""standard input"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00035335 = '\x01';" (assignment_expression "DAT_00035335 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11808;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11808" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = (byte *)dcgettext();" (assignment_expression "local_34 = (byte *)dcgettext()" identifier = (cast_expression "(byte *)dcgettext()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (labeled_statement "LAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -4) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11823;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11823" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "_Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));" (assignment_expression "_Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" identifier = (call_expression "lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__off64_t *)(puVar15 + -0xc)" * (cast_expression "(__off64_t *)(puVar15 + -0xc)" ( (type_descriptor "__off64_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" if (parenthesized_expression "(_Var22 < 0)" ( (binary_expression "_Var22 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }" { (labeled_statement "LAB_0001184e:\n        pFVar2 = DAT_000351e4;" statement_identifier : (expression_statement "pFVar2 = DAT_000351e4;" (assignment_expression "pFVar2 = DAT_000351e4" identifier = identifier) ;)) (if_statement "if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" if (parenthesized_expression "(DAT_000351e8 == 0)" ( (binary_expression "DAT_000351e8 == 0" identifier == number_literal) )) (compound_statement "{\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }" { (expression_statement "*(char **)(puVar15 + -0x10) = "TMPDIR";" (assignment_expression "*(char **)(puVar15 + -0x10) = "TMPDIR"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""TMPDIR"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11aa7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11aa7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar10 = getenv(*(char **)(puVar15 + -0x10));" (assignment_expression "pcVar10 = getenv(*(char **)(puVar15 + -0x10))" identifier = (call_expression "getenv(*(char **)(puVar15 + -0x10))" identifier (argument_list "(*(char **)(puVar15 + -0x10))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar14 = pcVar10;" (assignment_expression "pcVar14 = pcVar10" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar14 = "/tmp";\n          }" { (expression_statement "pcVar14 = "/tmp";" (assignment_expression "pcVar14 = "/tmp"" identifier = (string_literal ""/tmp"" " string_content ")) ;) })) (expression_statement "*(char **)(puVar15 + -4) = pcVar10;" (assignment_expression "*(char **)(puVar15 + -4) = pcVar10" (pointer_expression "*(char **)(puVar15 + -4)" * (cast_expression "(char **)(puVar15 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "tacXXXXXX";" (assignment_expression "*(char **)(puVar15 + -0xc) = "tacXXXXXX"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""tacXXXXXX"" " string_content ")) ;) (expression_statement "*(char **)(puVar15 + -0x10) = pcVar14;" (assignment_expression "*(char **)(puVar15 + -0x10) = pcVar14" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,pcVar14);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,pcVar14)" identifier = (call_expression "CONCAT44(local_28._4_4_,pcVar14)" identifier (argument_list "(local_28._4_4_,pcVar14)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11ac7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11ac7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_000351e8 = FUN_00012950();" (assignment_expression "DAT_000351e8 = FUN_00012950()" identifier = (call_expression "FUN_00012950()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11ad5;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11ad5" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00014de0();" (assignment_expression "iVar5 = FUN_00014de0()" identifier = (call_expression "FUN_00014de0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = (uint)local_28;" (assignment_expression "uVar9 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }" { (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bb1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bb1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to create temporary file in %s"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to create temporary file in %s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bc6;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bc6" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bcd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bcd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11bd8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11bd8" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" else (compound_statement "{\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" { (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;" (assignment_expression "*(undefined **)(puVar15 + -0xc) = &DAT_0002a14a" (pointer_expression "*(undefined **)(puVar15 + -0xc)" * (cast_expression "(undefined **)(puVar15 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a14a" & identifier)) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11af4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11af4" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));" (assignment_expression "DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" identifier = (call_expression "fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }" if (parenthesized_expression "(DAT_000351e4 != (FILE *)0x0)" ( (binary_expression "DAT_000351e4 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }" { (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b14;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b14" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar15 + -0x10));" (call_expression "unlink(*(char **)(puVar15 + -0x10))" identifier (argument_list "(*(char **)(puVar15 + -0x10))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_000118a7;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c07;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c07" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,uVar9);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,uVar9)" identifier = (call_expression "CONCAT44(local_28._4_4_,uVar9)" identifier (argument_list "(local_28._4_4_,uVar9)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to open %s for writing";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to open %s for writing"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to open %s for writing"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c1d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c1d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c24;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c24" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar15 + -0x14) = (uint)local_28;" (assignment_expression "*(uint *)(puVar15 + -0x14) = (uint)local_28" (pointer_expression "*(uint *)(puVar15 + -0x14)" * (cast_expression "(uint *)(puVar15 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11c32;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11c32" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "close(*(int *)(puVar15 + -0x10));" (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c47;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c47" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar15 + -0x10));" (call_expression "unlink(*(char **)(puVar15 + -0x10))" identifier (argument_list "(*(char **)(puVar15 + -0x10))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11beb;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11beb" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar15 + -0x10));" (call_expression "free(*(void **)(puVar15 + -0x10))" identifier (argument_list "(*(void **)(puVar15 + -0x10))" ( (pointer_expression "*(void **)(puVar15 + -0x10)" * (cast_expression "(void **)(puVar15 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "DAT_000351e8 = 0;" (assignment_expression "DAT_000351e8 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = extraout_EDX_06;" (assignment_expression "iVar5 = extraout_EDX_06" identifier = identifier) ;) }) (else_clause "else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" else (compound_statement "{\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" { (expression_statement "*(FILE **)(puVar15 + -0x10) = DAT_000351e4;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = DAT_000351e4" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1186a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1186a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "clearerr_unlocked(*(FILE **)(puVar15 + -0x10));" (call_expression "clearerr_unlocked(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(FILE **)(puVar15 + -0x20) = pFVar2;" (assignment_expression "*(FILE **)(puVar15 + -0x20) = pFVar2" (pointer_expression "*(FILE **)(puVar15 + -0x20)" * (cast_expression "(FILE **)(puVar15 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11876;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11876" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00015800();" (assignment_expression "iVar5 = FUN_00015800()" identifier = (call_expression "FUN_00015800()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }" { (labeled_statement "LAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;" statement_identifier : (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a6b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a6b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to rewind stream for %s"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to rewind stream for %s"" " string_content ")) ;) }) (else_clause "else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" else (compound_statement "{\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" { (expression_statement "*(FILE **)(puVar15 + -0x10) = DAT_000351e4;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = DAT_000351e4" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1188f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1188f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = fileno(*(FILE **)(puVar15 + -0x10));" (assignment_expression "iVar5 = fileno(*(FILE **)(puVar15 + -0x10))" identifier = (call_expression "fileno(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1189c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1189c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));" (assignment_expression "iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" identifier = (call_expression "ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__off64_t *)(puVar15 + -0xc)" * (cast_expression "(__off64_t *)(puVar15 + -0xc)" ( (type_descriptor "__off64_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar5 < 0) goto LAB_00011a5c;" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011a5c;" goto statement_identifier ;)) (labeled_statement "LAB_000118a7:\n            local_30 = DAT_000351e4;" statement_identifier : (expression_statement "local_30 = DAT_000351e4;" (assignment_expression "local_30 = DAT_000351e4" identifier = identifier) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "local_48 = DAT_000351e8;" (assignment_expression "local_48 = DAT_000351e8" identifier = identifier) ;) (while_statement "while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }" { (expression_statement "*(uint *)(puVar15 + -8) = DAT_00035324;" (assignment_expression "*(uint *)(puVar15 + -8) = DAT_00035324" (pointer_expression "*(uint *)(puVar15 + -8)" * (cast_expression "(uint *)(puVar15 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_00035328;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_00035328" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1190a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1190a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = FUN_00014d70();" (assignment_expression "iVar5 = FUN_00014d70()" identifier = (call_expression "FUN_00014d70()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" { (expression_statement "*(int *)(puVar15 + -4) = iVar13;" (assignment_expression "*(int *)(puVar15 + -4) = iVar13" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar15 + -8) = local_34;" (assignment_expression "*(byte **)(puVar15 + -8) = local_34" (pointer_expression "*(byte **)(puVar15 + -8)" * (cast_expression "(byte **)(puVar15 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a2f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a2f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" identifier = (call_expression "FUN_00014a80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar15 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00011a39;" goto statement_identifier ;) })) (expression_statement "*(FILE **)(puVar15 + -4) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -4) = local_30" (pointer_expression "*(FILE **)(puVar15 + -4)" * (cast_expression "(FILE **)(puVar15 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_00035328;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_00035328" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = CONCAT44(local_28._4_4_,iVar5);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,iVar5)" identifier = (call_expression "CONCAT44(local_28._4_4_,iVar5)" identifier (argument_list "(local_28._4_4_,iVar5)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x118dd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x118dd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));" (assignment_expression "sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" identifier = (call_expression "fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" identifier (argument_list "(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" ( (pointer_expression "*(void **)(puVar15 + -0x10)" * (cast_expression "(void **)(puVar15 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -0xc)" * (cast_expression "(size_t *)(puVar15 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -8)" * (cast_expression "(size_t *)(puVar15 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar15 + -4)" * (cast_expression "(FILE **)(puVar15 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if ((uint)local_28 != sVar7) goto LAB_00011a7b;" if (parenthesized_expression "((uint)local_28 != sVar7)" ( (binary_expression "(uint)local_28 != sVar7" (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) != identifier) )) (goto_statement "goto LAB_00011a7b;" goto statement_identifier ;)) (expression_statement "bVar19 = CARRY4(uVar12,(uint)local_28);" (assignment_expression "bVar19 = CARRY4(uVar12,(uint)local_28)" identifier = (call_expression "CARRY4(uVar12,(uint)local_28)" identifier (argument_list "(uVar12,(uint)local_28)" ( identifier , (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "uVar12 = uVar12 + (uint)local_28;" (assignment_expression "uVar12 = uVar12 + (uint)local_28" identifier = (binary_expression "uVar12 + (uint)local_28" identifier + (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar13 = iVar13 + (uint)bVar19;" (assignment_expression "iVar13 = iVar13 + (uint)bVar19" identifier = (binary_expression "iVar13 + (uint)bVar19" identifier + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "*(FILE **)(puVar15 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1191c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1191c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));" (assignment_expression "iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10))" identifier = (call_expression "fflush_unlocked(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" { (expression_statement "iVar5 = extraout_EDX;" (assignment_expression "iVar5 = extraout_EDX" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011c90:\n                bVar4 = 0;\n              }" { (labeled_statement "LAB_00011c90:\n                bVar4 = 0;" statement_identifier : (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" else (compound_statement "{\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" { (expression_statement "*(FILE **)(puVar15 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1193a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1193a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fileno(*(FILE **)(puVar15 + -0x10));" (call_expression "fileno(*(FILE **)(puVar15 + -0x10))" identifier (argument_list "(*(FILE **)(puVar15 + -0x10))" ( (pointer_expression "*(FILE **)(puVar15 + -0x10)" * (cast_expression "(FILE **)(puVar15 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar15 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar15 + -0x10) = uVar12;" (assignment_expression "*(uint *)(puVar15 + -0x10) = uVar12" (pointer_expression "*(uint *)(puVar15 + -0x10)" * (cast_expression "(uint *)(puVar15 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11946;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11946" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar4 = FUN_00011f20();" (assignment_expression "bVar4 = FUN_00011f20()" identifier = (call_expression "FUN_00011f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = extraout_EDX_00;" (assignment_expression "iVar5 = extraout_EDX_00" identifier = identifier) ;) }))) (goto_statement "goto LAB_0001194b;" goto statement_identifier ;) })) (labeled_statement "LAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;" statement_identifier : (expression_statement "*(uint *)(puVar15 + -4) = uVar12;" (assignment_expression "*(uint *)(puVar15 + -4) = uVar12" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(puVar15 + -8) = local_48;" (assignment_expression "*(int *)(puVar15 + -8) = local_48" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a88;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a88" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" identifier = (call_expression "FUN_00014a80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "%s: write error";" (assignment_expression "*(char **)(puVar15 + -0xc) = "%s: write error"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: write error"" " string_content ")) ;) }))) (labeled_statement "LAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a40;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a40" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a47;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a47" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11a54;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11a54" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_EDX_03;" (assignment_expression "iVar5 = extraout_EDX_03" identifier = identifier) ;) }))) }) (else_clause "else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" else (compound_statement "{\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" { (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = _Var22;" (assignment_expression "local_28 = _Var22" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1183d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1183d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = isatty(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar5 = isatty(*(int *)(puVar15 + -0x10))" identifier = (call_expression "isatty(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "uVar9 = (uint)local_28;" (assignment_expression "uVar9 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = local_28._4_4_;" (assignment_expression "uVar8 = local_28._4_4_" identifier = (field_expression "local_28._4_4_" identifier . field_identifier)) ;) (if_statement "if (iVar5 != 0) goto LAB_0001184e;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001184e;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b2b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b2b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar4 = FUN_00011f20();" (assignment_expression "bVar4 = FUN_00011f20()" identifier = (call_expression "FUN_00011f20()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = extraout_EDX_04;" (assignment_expression "iVar5 = extraout_EDX_04" identifier = identifier) ;) }))) (labeled_statement "LAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" statement_identifier : (if_statement "if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" if (parenthesized_expression "(local_3c != 0)" ( (binary_expression "local_3c != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" { (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119fe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119fe" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar13 = close(*(int *)(puVar15 + -0x10))" identifier = (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar5 = extraout_EDX_02;" (assignment_expression "iVar5 = extraout_EDX_02" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar15 + -8) = local_34;" (assignment_expression "*(byte **)(puVar15 + -8) = local_34" (pointer_expression "*(byte **)(puVar15 + -8)" * (cast_expression "(byte **)(puVar15 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a16;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a16" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" identifier = (call_expression "FUN_00014a80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar15 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000119d0;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" else (compound_statement "{\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" { (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar15 + -0x10) = local_34;" (assignment_expression "*(byte **)(puVar15 + -0x10) = local_34" (pointer_expression "*(byte **)(puVar15 + -0x10)" * (cast_expression "(byte **)(puVar15 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119a8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119a8" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));" (assignment_expression "iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" identifier = (call_expression "open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" identifier (argument_list "(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" ( (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_2c = iVar5;" (assignment_expression "local_2c = iVar5" identifier = identifier) ;) (if_statement "if (-1 < iVar5) goto LAB_00011815;" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_00011815;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" * (cast_expression "(int *)(puVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar15 + -0xc) = local_34;" (assignment_expression "*(byte **)(puVar15 + -0xc) = local_34" (pointer_expression "*(byte **)(puVar15 + -0xc)" * (cast_expression "(byte **)(puVar15 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119c2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119c2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" identifier = (call_expression "FUN_000148c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to open %s for reading";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to open %s for reading"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""failed to open %s for reading"" " string_content ")) ;) (labeled_statement "LAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119d7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119d7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119de;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119de" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" * (cast_expression "(int *)(puVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x119eb;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x119eb" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_EDX_01;" (assignment_expression "iVar5 = extraout_EDX_01" identifier = identifier) ;) }))) (expression_statement "ppuVar6 = local_38;" (assignment_expression "ppuVar6 = local_38" identifier = identifier) ;) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" identifier = (binary_expression "local_38 + 1" identifier + number_literal)) ;) (expression_statement "local_3d = local_3d & bVar4;" (assignment_expression "local_3d = local_3d & bVar4" identifier = (binary_expression "local_3d & bVar4" identifier & identifier)) ;) (expression_statement "local_34 = *ppuVar6;" (assignment_expression "local_34 = *ppuVar6" identifier = (pointer_expression "*ppuVar6" * identifier)) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (expression_statement "bVar20 = *ppuVar6 == (byte *)0x0;" (assignment_expression "bVar20 = *ppuVar6 == (byte *)0x0" identifier = (binary_expression "*ppuVar6 == (byte *)0x0" (pointer_expression "*ppuVar6" * identifier) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) while (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) ;) (labeled_statement "LAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11979;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11979" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00011e20();" (call_expression "FUN_00011e20()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" if (parenthesized_expression "(DAT_00035335 != '\0')" ( (binary_expression "DAT_00035335 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b53;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b53" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar5 = close(*(int *)(puVar15 + -0x10))" identifier = (call_expression "close(*(int *)(puVar15 + -0x10))" identifier (argument_list "(*(int *)(puVar15 + -0x10))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11b63;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11b63" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_0002b12a" & identifier)) ;) (expression_statement "*(int *)(puVar15 + -0xc) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0xc) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b74;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b74" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3d = 0;" (assignment_expression "local_3d = 0" identifier = number_literal) ;) })) })) (return_statement "return local_3d ^ 1;" return (binary_expression "local_3d ^ 1" identifier ^ number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) }))) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (labeled_statement statement_identifier : (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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 = (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (unary_expression ~ IDENT) - LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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 ( )))) ;) (expression_statement (assignment_expression IDENT = 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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ IDENT) - LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT * LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) <= IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) || (binary_expression IDENT <= IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) = 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , 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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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) )))) = LIT) ;) (expression_statement (assignment_expression 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) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) - IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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 = (char_literal ' escape_sequence ')) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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) )))) = 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) )))) = IDENT) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (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 (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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 = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (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 ( )))) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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) ;) (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) )))) = 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 ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ( )))) ;) (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & 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) )))) = LIT) ;) (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) )))) , (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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) )))) = LIT) ;) (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) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (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) )))) = LIT) ;) (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) )))) = 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 ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) 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) )))) = (pointer_expression * IDENT)) ;) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) = LIT) ;) (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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) )))) = 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 * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (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) ;) (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) )))) = 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 ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 ( (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) )))) = LIT) ;) (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) )))) = LIT) ;) (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) )))) , (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) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 * (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) )))) = 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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) )))) = LIT) ;) (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 IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) 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 (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 ( (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 (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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) )))) = 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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) ;) (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) )))) = 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 ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) }))) (labeled_statement statement_identifier : (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ( )))) ;) (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) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (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 IDENT = IDENT) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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) )))) = LIT) ;) (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) ;) (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 ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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) )))) = LIT) ;) (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) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 * (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) )))) = 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (compound_statement { (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) ;) (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 * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (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) ;) (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 (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ( )))) ;) (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) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) }) while (parenthesized_expression ( (unary_expression ! IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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) )))) = LIT) ;) (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) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 ( )))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) })) (return_statement return (binary_expression IDENT ^ LIT) ;) })))
(function_definition "byte FUN_000114e0(int param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}" (type_identifier "byte") (function_declarator "FUN_000114e0(int param_1,undefined4 *param_2)" (identifier "FUN_000114e0") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  char cVar1;\n  FILE *pFVar2;\n  undefined4 *puVar3;\n  byte bVar4;\n  int iVar5;\n  undefined **ppuVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  char *pcVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  int extraout_EDX_01;\n  int extraout_EDX_02;\n  int extraout_EDX_03;\n  char *pcVar14;\n  int extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  int extraout_EDX_06;\n  int extraout_EDX_07;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  bool bVar19;\n  bool bVar20;\n  byte bVar21;\n  __off64_t _Var22;\n  int aiStack_74 [5];\n  undefined1 auStack_50 [4];\n  char *local_4c;\n  int local_48;\n  byte *local_44;\n  byte local_3d;\n  int local_3c;\n  undefined **local_38;\n  byte *local_34;\n  FILE *local_30;\n  int local_2c;\n  undefined8 local_28;\n  undefined4 *local_18;\n  \n  puVar3 = param_2;\n  bVar21 = 0;\n  local_18 = &param_1;\n  local_2c = param_1;\n  FUN_00012a70(*param_2);\n  setlocale(6,"");\n  bindtextdomain("coreutils","/usr/share/locale");\n  textdomain("coreutils");\n  FUN_00029610(PTR_FUN_00032fc8);\n  DAT_00035334 = 1;\n  DAT_00035338 = "\n";\n  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);\n  local_30 = (FILE *)&DAT_000354c8;\n  DAT_00035330 = 1;\n  puVar15 = auStack_50;\n  while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }\n  local_28 = CONCAT44(local_28._4_4_,0xffffffff);\n  if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }\n  iVar5 = 0x12;\n  DAT_00035324 = 0x2000;\n  uVar12 = 0x2000;\n  if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }\n  uVar12 = DAT_00035324 + 1 + DAT_00035330;\n  DAT_00035320 = uVar12 * 2;\n  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }\n  *(uint *)(puVar15 + -0x10) = DAT_00035320;\n  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;\n  iVar5 = FUN_000154c0();\n  if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }\n  if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }\n  local_44 = &DAT_0002b12a;\n  bVar19 = (undefined **)0xfffffffb < ppuVar6;\n  bVar20 = ppuVar6 + 1 == (undefined **)0x0;\n  local_3d = 1;\n  local_38 = ppuVar6 + 1;\n  local_4c = "%s: read error";\n  do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);\nLAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;\n  FUN_00011e20();\n  if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }\n  return local_3d ^ 1;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "FILE *pFVar2;" (type_identifier "FILE") (pointer_declarator "*pFVar2" (* "*") (identifier "pFVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined **ppuVar6;" (type_identifier "undefined") (pointer_declarator "**ppuVar6" (* "*") (pointer_declarator "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "int extraout_EDX;" (primitive_type "int") (identifier "extraout_EDX") (; ";")) (declaration "int extraout_EDX_00;" (primitive_type "int") (identifier "extraout_EDX_00") (; ";")) (declaration "int extraout_EDX_01;" (primitive_type "int") (identifier "extraout_EDX_01") (; ";")) (declaration "int extraout_EDX_02;" (primitive_type "int") (identifier "extraout_EDX_02") (; ";")) (declaration "int extraout_EDX_03;" (primitive_type "int") (identifier "extraout_EDX_03") (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "int extraout_EDX_04;" (primitive_type "int") (identifier "extraout_EDX_04") (; ";")) (declaration "undefined4 extraout_EDX_05;" (type_identifier "undefined4") (identifier "extraout_EDX_05") (; ";")) (declaration "int extraout_EDX_06;" (primitive_type "int") (identifier "extraout_EDX_06") (; ";")) (declaration "int extraout_EDX_07;" (primitive_type "int") (identifier "extraout_EDX_07") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "bool bVar19;" (primitive_type "bool") (identifier "bVar19") (; ";")) (declaration "bool bVar20;" (primitive_type "bool") (identifier "bVar20") (; ";")) (declaration "byte bVar21;" (type_identifier "byte") (identifier "bVar21") (; ";")) (declaration "__off64_t _Var22;" (type_identifier "__off64_t") (identifier "_Var22") (; ";")) (declaration "int aiStack_74 [5];" (primitive_type "int") (array_declarator "aiStack_74 [5]" (identifier "aiStack_74") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "undefined1 auStack_50 [4];" (type_identifier "undefined1") (array_declarator "auStack_50 [4]" (identifier "auStack_50") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "char *local_4c;" (primitive_type "char") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "byte *local_44;" (type_identifier "byte") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "byte local_3d;" (type_identifier "byte") (identifier "local_3d") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined **local_38;" (type_identifier "undefined") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38"))) (; ";")) (declaration "byte *local_34;" (type_identifier "byte") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "FILE *local_30;" (type_identifier "FILE") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "undefined8 local_28;" (type_identifier "undefined8") (identifier "local_28") (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (expression_statement "puVar3 = param_2;" (assignment_expression "puVar3 = param_2" (identifier "puVar3") (= "=") (identifier "param_2")) (; ";")) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" (identifier "bVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" (identifier "local_18") (= "=") (pointer_expression "&param_1" (& "&") (identifier "param_1"))) (; ";")) (expression_statement "local_2c = param_1;" (assignment_expression "local_2c = param_1" (identifier "local_2c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_00012a70(*param_2);" (call_expression "FUN_00012a70(*param_2)" (identifier "FUN_00012a70") (argument_list "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")"))) (; ";")) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" (identifier "setlocale") (argument_list "(6,"")" (( "(") (number_literal "6") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "bindtextdomain("coreutils","/usr/share/locale");" (call_expression "bindtextdomain("coreutils","/usr/share/locale")" (identifier "bindtextdomain") (argument_list "("coreutils","/usr/share/locale")" (( "(") (string_literal ""coreutils"" (" """) (string_content "coreutils") (" """)) (, ",") (string_literal ""/usr/share/locale"" (" """) (string_content "/usr/share/locale") (" """)) () ")"))) (; ";")) (expression_statement "textdomain("coreutils");" (call_expression "textdomain("coreutils")" (identifier "textdomain") (argument_list "("coreutils")" (( "(") (string_literal ""coreutils"" (" """) (string_content "coreutils") (" """)) () ")"))) (; ";")) (expression_statement "FUN_00029610(PTR_FUN_00032fc8);" (call_expression "FUN_00029610(PTR_FUN_00032fc8)" (identifier "FUN_00029610") (argument_list "(PTR_FUN_00032fc8)" (( "(") (identifier "PTR_FUN_00032fc8") () ")"))) (; ";")) (expression_statement "DAT_00035334 = 1;" (assignment_expression "DAT_00035334 = 1" (identifier "DAT_00035334") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00035338 = "\n";" (assignment_expression "DAT_00035338 = "\n"" (identifier "DAT_00035338") (= "=") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """))) (; ";")) (expression_statement "local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,&DAT_0002a0f7)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,&DAT_0002a0f7)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (pointer_expression "&DAT_0002a0f7" (& "&") (identifier "DAT_0002a0f7")) () ")")))) (; ";")) (expression_statement "local_30 = (FILE *)&DAT_000354c8;" (assignment_expression "local_30 = (FILE *)&DAT_000354c8" (identifier "local_30") (= "=") (cast_expression "(FILE *)&DAT_000354c8" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000354c8" (& "&") (identifier "DAT_000354c8")))) (; ";")) (expression_statement "DAT_00035330 = 1;" (assignment_expression "DAT_00035330 = 1" (identifier "DAT_00035330") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar15 = auStack_50;" (assignment_expression "puVar15 = auStack_50" (identifier "puVar15") (= "=") (identifier "auStack_50")) (; ";")) (while_statement "while( true ) {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;\n    *(uint *)(puVar15 + -0x18) = (uint)local_28;\n    *(undefined4 **)(puVar15 + -0x1c) = puVar3;\n    *(int *)(puVar15 + -0x20) = local_2c;\n    *(undefined4 *)(puVar15 + -0x24) = 0x11591;\n    iVar5 = FUN_00016760();\n    if (iVar5 == -1) break;\n    puVar16 = puVar15;\n    if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;" (assignment_expression "*(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60" (pointer_expression "*(undefined ***)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&PTR_s_before_00032e60" (& "&") (identifier "PTR_s_before_00032e60"))) (; ";")) (expression_statement "*(uint *)(puVar15 + -0x18) = (uint)local_28;" (assignment_expression "*(uint *)(puVar15 + -0x18) = (uint)local_28" (pointer_expression "*(uint *)(puVar15 + -0x18)" (* "*") (cast_expression "(uint *)(puVar15 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28"))) (; ";")) (expression_statement "*(undefined4 **)(puVar15 + -0x1c) = puVar3;" (assignment_expression "*(undefined4 **)(puVar15 + -0x1c) = puVar3" (pointer_expression "*(undefined4 **)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 **)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x20) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x20) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x20)" (* "*") (cast_expression "(int *)(puVar15 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11591;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11591" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11591")) (; ";")) (expression_statement "iVar5 = FUN_00016760();" (assignment_expression "iVar5 = FUN_00016760()" (identifier "iVar5") (= "=") (call_expression "FUN_00016760()" (identifier "FUN_00016760") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == -1) break;" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (iVar5 == 0x62) {\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }\n    else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" (if "if") (parenthesized_expression "(iVar5 == 0x62)" (( "(") (binary_expression "iVar5 == 0x62" (identifier "iVar5") (== "==") (number_literal "0x62")) () ")")) (compound_statement "{\nLAB_00011640:\n      DAT_00035334 = 0;\n      puVar15 = puVar16;\n    }" ({ "{") (labeled_statement "LAB_00011640:\n      DAT_00035334 = 0;" (statement_identifier "LAB_00011640") (: ":") (expression_statement "DAT_00035334 = 0;" (assignment_expression "DAT_00035334 = 0" (identifier "DAT_00035334") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" (identifier "puVar15") (= "=") (identifier "puVar16")) (; ";")) (} "}")) (else_clause "else {\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" (else "else") (compound_statement "{\n      if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }\n      if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }\n    }" ({ "{") (if_statement "if (iVar5 < 99) {\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }" (if "if") (parenthesized_expression "(iVar5 < 99)" (( "(") (binary_expression "iVar5 < 99" (identifier "iVar5") (< "<") (number_literal "99")) () ")")) (compound_statement "{\n        local_28 = CONCAT44(local_28._4_4_,iVar5);\n        if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }\n        if (iVar5 != -0x82) goto LAB_00011c4c;\n        puVar16 = puVar15 + -0x10;\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;\n        FUN_00012510();\n        goto LAB_00011640;\n      }" ({ "{") (expression_statement "local_28 = CONCAT44(local_28._4_4_,iVar5);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,iVar5)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,iVar5)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,iVar5)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar5") () ")")))) (; ";")) (if_statement "if (iVar5 == -0x83) {\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }" (if "if") (parenthesized_expression "(iVar5 == -0x83)" (( "(") (binary_expression "iVar5 == -0x83" (identifier "iVar5") (== "==") (number_literal "-0x83")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "David MacKenzie";\n          *(char **)(puVar15 + -0x10) = "Jay Lepreau";\n          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;\n          *(char **)(puVar15 + -0x18) = "GNU coreutils";\n          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;\n          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11600;\n          FUN_000153f0();\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n                    \n          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;\n          exit(*(int *)(puVar15 + -0x10));\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "David MacKenzie";" (assignment_expression "*(char **)(puVar15 + -0xc) = "David MacKenzie"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""David MacKenzie"" (" """) (string_content "David MacKenzie") (" """))) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "Jay Lepreau";" (assignment_expression "*(char **)(puVar15 + -0x10) = "Jay Lepreau"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""Jay Lepreau"" (" """) (string_content "Jay Lepreau") (" """))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "PTR_DAT_00033148")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x18) = "GNU coreutils";" (assignment_expression "*(char **)(puVar15 + -0x18) = "GNU coreutils"" (pointer_expression "*(char **)(puVar15 + -0x18)" (* "*") (cast_expression "(char **)(puVar15 + -0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (string_literal ""GNU coreutils"" (" """) (string_content "GNU coreutils") (" """))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;" (assignment_expression "*(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038" (pointer_expression "*(undefined1 **)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "&DAT_0002a038" (& "&") (identifier "DAT_0002a038"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_stdout_00032fd0" (* "*") (cast_expression "(undefined4 *)PTR_stdout_00032fd0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00032fd0")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11600;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11600" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11600")) (; ";")) (expression_statement "FUN_000153f0();" (call_expression "FUN_000153f0()" (identifier "FUN_000153f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_0001160a;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_0001160a" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0001160a" (& "&") (identifier "UNK_0001160a"))) (; ";")) (expression_statement "exit(*(int *)(puVar15 + -0x10));" (call_expression "exit(*(int *)(puVar15 + -0x10))" (identifier "exit") (argument_list "(*(int *)(puVar15 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar5 != -0x82) goto LAB_00011c4c;" (if "if") (parenthesized_expression "(iVar5 != -0x82)" (( "(") (binary_expression "iVar5 != -0x82" (identifier "iVar5") (!= "!=") (number_literal "-0x82")) () ")")) (goto_statement "goto LAB_00011c4c;" (goto "goto") (statement_identifier "LAB_00011c4c") (; ";"))) (expression_statement "puVar16 = puVar15 + -0x10;" (assignment_expression "puVar16 = puVar15 + -0x10" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1163e;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1163e" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1163e")) (; ";")) (expression_statement "FUN_00012510();" (call_expression "FUN_00012510()" (identifier "FUN_00012510") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00011640;" (goto "goto") (statement_identifier "LAB_00011640") (; ";")) (} "}"))) (if_statement "if (iVar5 == 0x72) {\n        DAT_00035330 = 0;\n      }\n      else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" (if "if") (parenthesized_expression "(iVar5 == 0x72)" (( "(") (binary_expression "iVar5 == 0x72" (identifier "iVar5") (== "==") (number_literal "0x72")) () ")")) (compound_statement "{\n        DAT_00035330 = 0;\n      }" ({ "{") (expression_statement "DAT_00035330 = 0;" (assignment_expression "DAT_00035330 = 0" (identifier "DAT_00035330") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" (else "else") (compound_statement "{\n        if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }\n        DAT_00035338 = (char *)local_30->_flags;\n      }" ({ "{") (if_statement "if (iVar5 != 0x73) {\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }" (if "if") (parenthesized_expression "(iVar5 != 0x73)" (( "(") (binary_expression "iVar5 != 0x73" (identifier "iVar5") (!= "!=") (number_literal "0x73")) () ")")) (compound_statement "{\nLAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;\n          DAT_00035324 = FUN_00012510();\n          puVar15 = puVar15 + -0x10;\n          goto LAB_00011c56;\n        }" ({ "{") (labeled_statement "LAB_00011c4c:\n          *(undefined4 *)(puVar15 + -0x10) = 1;" (statement_identifier "LAB_00011c4c") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c56;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c56" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c56")) (; ";")) (expression_statement "DAT_00035324 = FUN_00012510();" (assignment_expression "DAT_00035324 = FUN_00012510()" (identifier "DAT_00035324") (= "=") (call_expression "FUN_00012510()" (identifier "FUN_00012510") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar15 = puVar15 + -0x10;" (assignment_expression "puVar15 = puVar15 + -0x10" (identifier "puVar15") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (goto_statement "goto LAB_00011c56;" (goto "goto") (statement_identifier "LAB_00011c56") (; ";")) (} "}"))) (expression_statement "DAT_00035338 = (char *)local_30->_flags;" (assignment_expression "DAT_00035338 = (char *)local_30->_flags" (identifier "DAT_00035338") (= "=") (cast_expression "(char *)local_30->_flags" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_30->_flags" (identifier "local_30") (-> "->") (field_identifier "_flags")))) (; ";")) (} "}")))) (} "}")))) (} "}"))) (expression_statement "local_28 = CONCAT44(local_28._4_4_,0xffffffff);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,0xffffffff)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,0xffffffff)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,0xffffffff)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (if_statement "if (DAT_00035330 == 0) {\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }\n  else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00035330 == 0)" (( "(") (binary_expression "DAT_00035330 == 0" (identifier "DAT_00035330") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }\n    DAT_00035300 = 0;\n    DAT_00035310 = &DAT_00035200;\n    DAT_00035304 = 0;\n    DAT_00035314 = 0;\n    uVar12 = 0xffffffff;\n    pcVar14 = DAT_00035338;\n    do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');\n    *(uint *)(puVar15 + -4) = ~uVar12;\n    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;\n    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;\n    *(char **)(puVar15 + -0x10) = DAT_00035338;\n    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;\n    iVar5 = FUN_00027c20();\n    puVar16 = puVar15;\n    if (iVar5 != 0) goto LAB_00011c7f;\n  }" ({ "{") (if_statement "if (*DAT_00035338 == '\0') {\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" (if "if") (parenthesized_expression "(*DAT_00035338 == '\0')" (( "(") (binary_expression "*DAT_00035338 == '\0'" (pointer_expression "*DAT_00035338" (* "*") (identifier "DAT_00035338")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined4 **)(puVar15 + -4) = puVar3;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "separator cannot be empty";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;\n      uVar9 = dcgettext();\n      *(undefined4 *)(puVar15 + -8) = uVar9;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      puVar16 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = 1;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;\n      iVar5 = error();\nLAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;\n      *(char **)(puVar16 + -8) = "%s";\n      *(undefined4 *)(puVar16 + -0xc) = 0;\n      puVar15 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 1;\n      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;\n      error();\n      iVar5 = extraout_EDX_07;\n      goto LAB_00011c90;\n    }" ({ "{") (expression_statement "*(undefined4 **)(puVar15 + -4) = puVar3;" (assignment_expression "*(undefined4 **)(puVar15 + -4) = puVar3" (pointer_expression "*(undefined4 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "separator cannot be empty";" (assignment_expression "*(char **)(puVar15 + -0xc) = "separator cannot be empty"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""separator cannot be empty"" (" """) (string_content "separator cannot be empty") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c72;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c72" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c72")) (; ";")) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" (identifier "uVar9") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar16 = puVar15 + -0x10;" (assignment_expression "puVar16 = puVar15 + -0x10" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c7f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c7f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c7f")) (; ";")) (expression_statement "iVar5 = error();" (assignment_expression "iVar5 = error()" (identifier "iVar5") (= "=") (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_00011c7f:\n      *(int *)(puVar16 + -4) = iVar5;" (statement_identifier "LAB_00011c7f") (: ":") (expression_statement "*(int *)(puVar16 + -4) = iVar5;" (assignment_expression "*(int *)(puVar16 + -4) = iVar5" (pointer_expression "*(int *)(puVar16 + -4)" (* "*") (cast_expression "(int *)(puVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar5")) (; ";"))) (expression_statement "*(char **)(puVar16 + -8) = "%s";" (assignment_expression "*(char **)(puVar16 + -8) = "%s"" (pointer_expression "*(char **)(puVar16 + -8)" (* "*") (cast_expression "(char **)(puVar16 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""%s"" (" """) (string_content "%s") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15 = puVar16 + -0x10;" (assignment_expression "puVar15 = puVar16 + -0x10" (identifier "puVar15") (= "=") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x11c90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x11c90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c90")) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = extraout_EDX_07;" (assignment_expression "iVar5 = extraout_EDX_07" (identifier "iVar5") (= "=") (identifier "extraout_EDX_07")) (; ";")) (goto_statement "goto LAB_00011c90;" (goto "goto") (statement_identifier "LAB_00011c90") (; ";")) (} "}"))) (expression_statement "DAT_00035300 = 0;" (assignment_expression "DAT_00035300 = 0" (identifier "DAT_00035300") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00035310 = &DAT_00035200;" (assignment_expression "DAT_00035310 = &DAT_00035200" (identifier "DAT_00035310") (= "=") (pointer_expression "&DAT_00035200" (& "&") (identifier "DAT_00035200"))) (; ";")) (expression_statement "DAT_00035304 = 0;" (assignment_expression "DAT_00035304 = 0" (identifier "DAT_00035304") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00035314 = 0;" (assignment_expression "DAT_00035314 = 0" (identifier "DAT_00035314") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = 0xffffffff;" (assignment_expression "uVar12 = 0xffffffff" (identifier "uVar12") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pcVar14 = DAT_00035338;" (assignment_expression "pcVar14 = DAT_00035338" (identifier "pcVar14") (= "=") (identifier "DAT_00035338")) (; ";")) (do_statement "do {\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    } while (cVar1 != '\0');" (do "do") (compound_statement "{\n      if (uVar12 == 0) break;\n      uVar12 = uVar12 - 1;\n      cVar1 = *pcVar14;\n      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n    }" ({ "{") (if_statement "if (uVar12 == 0) break;" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" (identifier "uVar12") (= "=") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" (identifier "cVar1") (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar14 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar14 + (uint)bVar21 * -2" (identifier "pcVar14") (+ "+") (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "*(uint *)(puVar15 + -4) = ~uVar12;" (assignment_expression "*(uint *)(puVar15 + -4) = ~uVar12" (pointer_expression "*(uint *)(puVar15 + -4)" (* "*") (cast_expression "(uint *)(puVar15 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (unary_expression "~uVar12" (~ "~") (identifier "uVar12"))) (; ";")) (expression_statement "*(undefined4 **)(puVar15 + -8) = &DAT_00035300;" (assignment_expression "*(undefined4 **)(puVar15 + -8) = &DAT_00035300" (pointer_expression "*(undefined4 **)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 **)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&DAT_00035300" (& "&") (identifier "DAT_00035300"))) (; ";")) (expression_statement "*(uint *)(puVar15 + -0xc) = ~uVar12 - 1;" (assignment_expression "*(uint *)(puVar15 + -0xc) = ~uVar12 - 1" (pointer_expression "*(uint *)(puVar15 + -0xc)" (* "*") (cast_expression "(uint *)(puVar15 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "~uVar12 - 1" (unary_expression "~uVar12" (~ "~") (identifier "uVar12")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = DAT_00035338;" (assignment_expression "*(char **)(puVar15 + -0x10) = DAT_00035338" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00035338")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x116b6;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x116b6" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x116b6")) (; ";")) (expression_statement "iVar5 = FUN_00027c20();" (assignment_expression "iVar5 = FUN_00027c20()" (identifier "iVar5") (= "=") (call_expression "FUN_00027c20()" (identifier "FUN_00027c20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_00011c7f;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011c7f;" (goto "goto") (statement_identifier "LAB_00011c7f") (; ";"))) (} "}")) (else_clause "else {\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" (else "else") (compound_statement "{\n    DAT_0003532c = 1;\n    DAT_00035330 = DAT_0003532c;\n    if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }\n  }" ({ "{") (expression_statement "DAT_0003532c = 1;" (assignment_expression "DAT_0003532c = 1" (identifier "DAT_0003532c") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00035330 = DAT_0003532c;" (assignment_expression "DAT_00035330 = DAT_0003532c" (identifier "DAT_00035330") (= "=") (identifier "DAT_0003532c")) (; ";")) (if_statement "if (*DAT_00035338 != '\0') {\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }" (if "if") (parenthesized_expression "(*DAT_00035338 != '\0')" (( "(") (binary_expression "*DAT_00035338 != '\0'" (pointer_expression "*DAT_00035338" (* "*") (identifier "DAT_00035338")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar12 = 0xffffffff;\n      pcVar14 = DAT_00035338;\n      do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');\n      DAT_0003532c = ~uVar12 - 1;\n      DAT_00035330 = DAT_0003532c;\n    }" ({ "{") (expression_statement "uVar12 = 0xffffffff;" (assignment_expression "uVar12 = 0xffffffff" (identifier "uVar12") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pcVar14 = DAT_00035338;" (assignment_expression "pcVar14 = DAT_00035338" (identifier "pcVar14") (= "=") (identifier "DAT_00035338")) (; ";")) (do_statement "do {\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      } while (cVar1 != '\0');" (do "do") (compound_statement "{\n        if (uVar12 == 0) break;\n        uVar12 = uVar12 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;\n      }" ({ "{") (if_statement "if (uVar12 == 0) break;" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" (identifier "uVar12") (= "=") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" (identifier "cVar1") (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;" (assignment_expression "pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar14 + (uint)bVar21 * -2 + 1" (binary_expression "pcVar14 + (uint)bVar21 * -2" (identifier "pcVar14") (+ "+") (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "DAT_0003532c = ~uVar12 - 1;" (assignment_expression "DAT_0003532c = ~uVar12 - 1" (identifier "DAT_0003532c") (= "=") (binary_expression "~uVar12 - 1" (unary_expression "~uVar12" (~ "~") (identifier "uVar12")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "DAT_00035330 = DAT_0003532c;" (assignment_expression "DAT_00035330 = DAT_0003532c" (identifier "DAT_00035330") (= "=") (identifier "DAT_0003532c")) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar5 = 0x12;" (assignment_expression "iVar5 = 0x12" (identifier "iVar5") (= "=") (number_literal "0x12")) (; ";")) (expression_statement "DAT_00035324 = 0x2000;" (assignment_expression "DAT_00035324 = 0x2000" (identifier "DAT_00035324") (= "=") (number_literal "0x2000")) (; ";")) (expression_statement "uVar12 = 0x2000;" (assignment_expression "uVar12 = 0x2000" (identifier "uVar12") (= "=") (number_literal "0x2000")) (; ";")) (if_statement "if (0xfff < DAT_00035330) {\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }" (if "if") (parenthesized_expression "(0xfff < DAT_00035330)" (( "(") (binary_expression "0xfff < DAT_00035330" (number_literal "0xfff") (< "<") (identifier "DAT_00035330")) () ")")) (compound_statement "{\n    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }\n  }" ({ "{") (while_statement "while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }" (while "while") (parenthesized_expression "(DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330)" (( "(") (comma_expression "DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330" (assignment_expression "DAT_00035324 = uVar12 * 2" (identifier "DAT_00035324") (= "=") (binary_expression "uVar12 * 2" (identifier "uVar12") (* "*") (number_literal "2"))) (, ",") (binary_expression "(uVar12 & 0x7fffffff) <= DAT_00035330" (parenthesized_expression "(uVar12 & 0x7fffffff)" (( "(") (binary_expression "uVar12 & 0x7fffffff" (identifier "uVar12") (& "&") (number_literal "0x7fffffff")) () ")")) (<= "<=") (identifier "DAT_00035330"))) () ")")) (compound_statement "{\n      iVar5 = iVar5 + -1;\n      uVar12 = DAT_00035324;\n      if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }\n    }" ({ "{") (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + -1" (identifier "iVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar12 = DAT_00035324;" (assignment_expression "uVar12 = DAT_00035324" (identifier "uVar12") (= "=") (identifier "DAT_00035324")) (; ";")) (if_statement "if (iVar5 == 0) {\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;\n        FUN_000157c0();\n      }" ({ "{") (labeled_statement "LAB_00011c56:\n                    \n        *(undefined4 *)(puVar15 + -4) = 0x11c61;" (statement_identifier "LAB_00011c56") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11c61;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11c61" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x11c61")) (; ";"))) (expression_statement "FUN_000157c0();" (call_expression "FUN_000157c0()" (identifier "FUN_000157c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar12 = DAT_00035324 + 1 + DAT_00035330;" (assignment_expression "uVar12 = DAT_00035324 + 1 + DAT_00035330" (identifier "uVar12") (= "=") (binary_expression "DAT_00035324 + 1 + DAT_00035330" (binary_expression "DAT_00035324 + 1" (identifier "DAT_00035324") (+ "+") (number_literal "1")) (+ "+") (identifier "DAT_00035330"))) (; ";")) (expression_statement "DAT_00035320 = uVar12 * 2;" (assignment_expression "DAT_00035320 = uVar12 * 2" (identifier "DAT_00035320") (= "=") (binary_expression "uVar12 * 2" (identifier "uVar12") (* "*") (number_literal "2"))) (; ";")) (if_statement "if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }" (if "if") (parenthesized_expression "(uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12)" (( "(") (binary_expression "uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12" (binary_expression "uVar12 <= DAT_00035324" (identifier "uVar12") (<= "<=") (identifier "DAT_00035324")) (|| "||") (binary_expression "DAT_00035320 <= uVar12" (identifier "DAT_00035320") (<= "<=") (identifier "uVar12"))) () ")")) (compound_statement "{\n                    \n    *(undefined4 *)(puVar15 + -4) = 0x11c9c;\n    FUN_000157c0();\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11c9c;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11c9c" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x11c9c")) (; ";")) (expression_statement "FUN_000157c0();" (call_expression "FUN_000157c0()" (identifier "FUN_000157c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(puVar15 + -0x10) = DAT_00035320;" (assignment_expression "*(uint *)(puVar15 + -0x10) = DAT_00035320" (pointer_expression "*(uint *)(puVar15 + -0x10)" (* "*") (cast_expression "(uint *)(puVar15 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00035320")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1172d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1172d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1172d")) (; ";")) (expression_statement "iVar5 = FUN_000154c0();" (assignment_expression "iVar5 = FUN_000154c0()" (identifier "iVar5") (= "=") (call_expression "FUN_000154c0()" (identifier "FUN_000154c0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (DAT_00035330 == 0) {\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }\n  else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" (if "if") (parenthesized_expression "(DAT_00035330 == 0)" (( "(") (binary_expression "DAT_00035330 == 0" (identifier "DAT_00035330") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_00035328 = iVar5 + 1;\n    iVar5 = 0;\n  }" ({ "{") (expression_statement "DAT_00035328 = iVar5 + 1;" (assignment_expression "DAT_00035328 = iVar5 + 1" (identifier "DAT_00035328") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" (else "else") (compound_statement "{\n    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);\n    *(uint *)(puVar15 + -4) = DAT_00035330;\n    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;\n    *(char **)(puVar15 + -0xc) = DAT_00035338;\n    *(int *)(puVar15 + -0x10) = iVar5;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;\n    DAT_00035328 = iVar5;\n    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));\n    DAT_00035328 = iVar5 + (uint)local_28;\n    iVar5 = (uint)local_28;\n  }" ({ "{") (expression_statement "local_28 = CONCAT44(local_28._4_4_,DAT_00035330);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,DAT_00035330)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,DAT_00035330)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,DAT_00035330)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "DAT_00035330") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar15 + -4) = DAT_00035330;" (assignment_expression "*(uint *)(puVar15 + -4) = DAT_00035330" (pointer_expression "*(uint *)(puVar15 + -4)" (* "*") (cast_expression "(uint *)(puVar15 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "DAT_00035330")) (; ";")) (expression_statement "*(uint *)(puVar15 + -8) = DAT_00035330 + 1;" (assignment_expression "*(uint *)(puVar15 + -8) = DAT_00035330 + 1" (pointer_expression "*(uint *)(puVar15 + -8)" (* "*") (cast_expression "(uint *)(puVar15 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "DAT_00035330 + 1" (identifier "DAT_00035330") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = DAT_00035338;" (assignment_expression "*(char **)(puVar15 + -0xc) = DAT_00035338" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_00035338")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b94;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b94" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b94")) (; ";")) (expression_statement "DAT_00035328 = iVar5;" (assignment_expression "DAT_00035328 = iVar5" (identifier "DAT_00035328") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));" (call_expression "memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8))" (identifier "memcpy") (argument_list "(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8))" (( "(") (pointer_expression "*(void **)(puVar15 + -0x10)" (* "*") (cast_expression "(void **)(puVar15 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar15 + -0xc)" (* "*") (cast_expression "(void **)(puVar15 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar15 + -8)" (* "*") (cast_expression "(size_t *)(puVar15 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) () ")"))) (; ";")) (expression_statement "DAT_00035328 = iVar5 + (uint)local_28;" (assignment_expression "DAT_00035328 = iVar5 + (uint)local_28" (identifier "DAT_00035328") (= "=") (binary_expression "iVar5 + (uint)local_28" (identifier "iVar5") (+ "+") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28")))) (; ";")) (expression_statement "iVar5 = (uint)local_28;" (assignment_expression "iVar5 = (uint)local_28" (identifier "iVar5") (= "=") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28"))) (; ";")) (} "}")))) (if_statement "if (DAT_000331a8 < local_2c) {\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }\n  else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" (if "if") (parenthesized_expression "(DAT_000331a8 < local_2c)" (( "(") (binary_expression "DAT_000331a8 < local_2c" (identifier "DAT_000331a8") (< "<") (identifier "local_2c")) () ")")) (compound_statement "{\n    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);\n    local_34 = *ppuVar6;\n    if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }\n    local_44 = &DAT_0002b12a;\n  }" ({ "{") (expression_statement "ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);" (assignment_expression "ppuVar6 = (undefined **)(puVar3 + DAT_000331a8)" (identifier "ppuVar6") (= "=") (cast_expression "(undefined **)(puVar3 + DAT_000331a8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + DAT_000331a8)" (( "(") (binary_expression "puVar3 + DAT_000331a8" (identifier "puVar3") (+ "+") (identifier "DAT_000331a8")) () ")")))) (; ";")) (expression_statement "local_34 = *ppuVar6;" (assignment_expression "local_34 = *ppuVar6" (identifier "local_34") (= "=") (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (if_statement "if (*ppuVar6 == (byte *)0x0) {\n      local_3d = 1;\n      goto LAB_00011970;\n    }" (if "if") (parenthesized_expression "(*ppuVar6 == (byte *)0x0)" (( "(") (binary_expression "*ppuVar6 == (byte *)0x0" (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6")) (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_3d = 1;\n      goto LAB_00011970;\n    }" ({ "{") (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" (identifier "local_3d") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00011970;" (goto "goto") (statement_identifier "LAB_00011970") (; ";")) (} "}"))) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" (identifier "local_44") (= "=") (pointer_expression "&DAT_0002b12a" (& "&") (identifier "DAT_0002b12a"))) (; ";")) (} "}")) (else_clause "else {\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" (else "else") (compound_statement "{\n    ppuVar6 = &PTR_DAT_00032e40;\n    local_44 = &DAT_0002b12a;\n    local_34 = &DAT_0002b12a;\n  }" ({ "{") (expression_statement "ppuVar6 = &PTR_DAT_00032e40;" (assignment_expression "ppuVar6 = &PTR_DAT_00032e40" (identifier "ppuVar6") (= "=") (pointer_expression "&PTR_DAT_00032e40" (& "&") (identifier "PTR_DAT_00032e40"))) (; ";")) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" (identifier "local_44") (= "=") (pointer_expression "&DAT_0002b12a" (& "&") (identifier "DAT_0002b12a"))) (; ";")) (expression_statement "local_34 = &DAT_0002b12a;" (assignment_expression "local_34 = &DAT_0002b12a" (identifier "local_34") (= "=") (pointer_expression "&DAT_0002b12a" (& "&") (identifier "DAT_0002b12a"))) (; ";")) (} "}")))) (expression_statement "local_44 = &DAT_0002b12a;" (assignment_expression "local_44 = &DAT_0002b12a" (identifier "local_44") (= "=") (pointer_expression "&DAT_0002b12a" (& "&") (identifier "DAT_0002b12a"))) (; ";")) (expression_statement "bVar19 = (undefined **)0xfffffffb < ppuVar6;" (assignment_expression "bVar19 = (undefined **)0xfffffffb < ppuVar6" (identifier "bVar19") (= "=") (binary_expression "(undefined **)0xfffffffb < ppuVar6" (cast_expression "(undefined **)0xfffffffb" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfffffffb")) (< "<") (identifier "ppuVar6"))) (; ";")) (expression_statement "bVar20 = ppuVar6 + 1 == (undefined **)0x0;" (assignment_expression "bVar20 = ppuVar6 + 1 == (undefined **)0x0" (identifier "bVar20") (= "=") (binary_expression "ppuVar6 + 1 == (undefined **)0x0" (binary_expression "ppuVar6 + 1" (identifier "ppuVar6") (+ "+") (number_literal "1")) (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "local_3d = 1;" (assignment_expression "local_3d = 1" (identifier "local_3d") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_38 = ppuVar6 + 1;" (assignment_expression "local_38 = ppuVar6 + 1" (identifier "local_38") (= "=") (binary_expression "ppuVar6 + 1" (identifier "ppuVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_4c = "%s: read error";" (assignment_expression "local_4c = "%s: read error"" (identifier "local_4c") (= "=") (string_literal ""%s: read error"" (" """) (string_content "%s: read error") (" """))) (; ";")) (do_statement "do {\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  } while (!bVar20);" (do "do") (compound_statement "{\n    iVar13 = 2;\n    pbVar17 = local_34;\n    pbVar18 = local_44;\n    do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);\n    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);\n    if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }\n    ppuVar6 = local_38;\n    local_38 = local_38 + 1;\n    local_3d = local_3d & bVar4;\n    local_34 = *ppuVar6;\n    bVar19 = false;\n    bVar20 = *ppuVar6 == (byte *)0x0;\n  }" ({ "{") (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" (identifier "iVar13") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar17 = local_34;" (assignment_expression "pbVar17 = local_34" (identifier "pbVar17") (= "=") (identifier "local_34")) (; ";")) (expression_statement "pbVar18 = local_44;" (assignment_expression "pbVar18 = local_44" (identifier "pbVar18") (= "=") (identifier "local_44")) (; ";")) (do_statement "do {\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    } while (bVar20);" (do "do") (compound_statement "{\n      if (iVar13 == 0) break;\n      iVar13 = iVar13 + -1;\n      bVar19 = *pbVar17 < *pbVar18;\n      bVar20 = *pbVar17 == *pbVar18;\n      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar13 == 0) break;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -1" (identifier "iVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar19 = *pbVar17 < *pbVar18;" (assignment_expression "bVar19 = *pbVar17 < *pbVar18" (identifier "bVar19") (= "=") (binary_expression "*pbVar17 < *pbVar18" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar17 == *pbVar18;" (assignment_expression "bVar20 = *pbVar17 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar17 == *pbVar18" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar17 + (uint)bVar21 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar21 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar21 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);" (assignment_expression "local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19)" (identifier "local_3c") (= "=") (cast_expression "(int)(char)((!bVar19 && !bVar20) - bVar19)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)((!bVar19 && !bVar20) - bVar19)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((!bVar19 && !bVar20) - bVar19)" (( "(") (binary_expression "(!bVar19 && !bVar20) - bVar19" (parenthesized_expression "(!bVar19 && !bVar20)" (( "(") (binary_expression "!bVar19 && !bVar20" (unary_expression "!bVar19" (! "!") (identifier "bVar19")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (- "-") (identifier "bVar19")) () ")"))))) (; ";")) (if_statement "if (local_3c == 0) {\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }\n    else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" (if "if") (parenthesized_expression "(local_3c == 0)" (( "(") (binary_expression "local_3c == 0" (identifier "local_3c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(puVar15 + -4) = iVar13;\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "standard input";\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      DAT_00035335 = '\x01';\n      *(undefined4 *)(puVar15 + -0x14) = 0x11808;\n      local_34 = (byte *)dcgettext();\n      local_2c = 0;\nLAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(int *)(puVar15 + -0x10) = local_2c;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11823;\n      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));\n      if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }\nLAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }\n    }" ({ "{") (expression_statement "*(int *)(puVar15 + -4) = iVar13;" (assignment_expression "*(int *)(puVar15 + -4) = iVar13" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "standard input";" (assignment_expression "*(char **)(puVar15 + -0xc) = "standard input"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""standard input"" (" """) (string_content "standard input") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00035335 = '\x01';" (assignment_expression "DAT_00035335 = '\x01'" (identifier "DAT_00035335") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11808;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11808" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11808")) (; ";")) (expression_statement "local_34 = (byte *)dcgettext();" (assignment_expression "local_34 = (byte *)dcgettext()" (identifier "local_34") (= "=") (cast_expression "(byte *)dcgettext()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00011815:\n      *(undefined4 *)(puVar15 + -4) = 2;" (statement_identifier "LAB_00011815") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -4) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "2")) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11823;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11823" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11823")) (; ";")) (expression_statement "_Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4));" (assignment_expression "_Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" (identifier "_Var22") (= "=") (call_expression "lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" (identifier "lseek64") (argument_list "(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),\n                       *(int *)(puVar15 + -4))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(__off64_t *)(puVar15 + -0xc)" (* "*") (cast_expression "(__off64_t *)(puVar15 + -0xc)" (( "(") (type_descriptor "__off64_t *" (type_identifier "__off64_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) () ")")))) (; ";")) (if_statement "if (_Var22 < 0) {\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }\n      else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" (if "if") (parenthesized_expression "(_Var22 < 0)" (( "(") (binary_expression "_Var22 < 0" (identifier "_Var22") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001184e:\n        pFVar2 = DAT_000351e4;\n        if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }\n      }" ({ "{") (labeled_statement "LAB_0001184e:\n        pFVar2 = DAT_000351e4;" (statement_identifier "LAB_0001184e") (: ":") (expression_statement "pFVar2 = DAT_000351e4;" (assignment_expression "pFVar2 = DAT_000351e4" (identifier "pFVar2") (= "=") (identifier "DAT_000351e4")) (; ";"))) (if_statement "if (DAT_000351e8 == 0) {\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }\n        else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" (if "if") (parenthesized_expression "(DAT_000351e8 == 0)" (( "(") (binary_expression "DAT_000351e8 == 0" (identifier "DAT_000351e8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(char **)(puVar15 + -0x10) = "TMPDIR";\n          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;\n          pcVar10 = getenv(*(char **)(puVar15 + -0x10));\n          pcVar14 = pcVar10;\n          if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }\n          *(char **)(puVar15 + -4) = pcVar10;\n          *(undefined4 *)(puVar15 + -8) = 0;\n          *(char **)(puVar15 + -0xc) = "tacXXXXXX";\n          *(char **)(puVar15 + -0x10) = pcVar14;\n          local_28 = CONCAT44(local_28._4_4_,pcVar14);\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;\n          DAT_000351e8 = FUN_00012950();\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;\n          iVar5 = FUN_00014de0();\n          uVar9 = (uint)local_28;\n          if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }\n          *(int *)(puVar15 + -0x10) = DAT_000351e8;\n          bVar4 = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;\n          free(*(void **)(puVar15 + -0x10));\n          DAT_000351e8 = 0;\n          iVar5 = extraout_EDX_06;\n        }" ({ "{") (expression_statement "*(char **)(puVar15 + -0x10) = "TMPDIR";" (assignment_expression "*(char **)(puVar15 + -0x10) = "TMPDIR"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""TMPDIR"" (" """) (string_content "TMPDIR") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11aa7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11aa7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11aa7")) (; ";")) (expression_statement "pcVar10 = getenv(*(char **)(puVar15 + -0x10));" (assignment_expression "pcVar10 = getenv(*(char **)(puVar15 + -0x10))" (identifier "pcVar10") (= "=") (call_expression "getenv(*(char **)(puVar15 + -0x10))" (identifier "getenv") (argument_list "(*(char **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar14 = pcVar10;" (assignment_expression "pcVar14 = pcVar10" (identifier "pcVar14") (= "=") (identifier "pcVar10")) (; ";")) (if_statement "if (pcVar10 == (char *)0x0) {\n            pcVar14 = "/tmp";\n          }" (if "if") (parenthesized_expression "(pcVar10 == (char *)0x0)" (( "(") (binary_expression "pcVar10 == (char *)0x0" (identifier "pcVar10") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar14 = "/tmp";\n          }" ({ "{") (expression_statement "pcVar14 = "/tmp";" (assignment_expression "pcVar14 = "/tmp"" (identifier "pcVar14") (= "=") (string_literal ""/tmp"" (" """) (string_content "/tmp") (" """))) (; ";")) (} "}"))) (expression_statement "*(char **)(puVar15 + -4) = pcVar10;" (assignment_expression "*(char **)(puVar15 + -4) = pcVar10" (pointer_expression "*(char **)(puVar15 + -4)" (* "*") (cast_expression "(char **)(puVar15 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pcVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "tacXXXXXX";" (assignment_expression "*(char **)(puVar15 + -0xc) = "tacXXXXXX"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""tacXXXXXX"" (" """) (string_content "tacXXXXXX") (" """))) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = pcVar14;" (assignment_expression "*(char **)(puVar15 + -0x10) = pcVar14" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "local_28 = CONCAT44(local_28._4_4_,pcVar14);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,pcVar14)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,pcVar14)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,pcVar14)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "pcVar14") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11ac7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11ac7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11ac7")) (; ";")) (expression_statement "DAT_000351e8 = FUN_00012950();" (assignment_expression "DAT_000351e8 = FUN_00012950()" (identifier "DAT_000351e8") (= "=") (call_expression "FUN_00012950()" (identifier "FUN_00012950") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_000351e8")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11ad5;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11ad5" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11ad5")) (; ";")) (expression_statement "iVar5 = FUN_00014de0();" (assignment_expression "iVar5 = FUN_00014de0()" (identifier "iVar5") (= "=") (call_expression "FUN_00014de0()" (identifier "FUN_00014de0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = (uint)local_28;" (assignment_expression "uVar9 = (uint)local_28" (identifier "uVar9") (= "=") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28"))) (; ";")) (if_statement "if (iVar5 < 0) {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }\n          else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined4 *)(puVar15 + -0xc) = uVar9;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;\n            uVar8 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;\n            piVar11 = __errno_location();\n            *(undefined4 *)(puVar15 + -0x14) = uVar9;\n            *(undefined4 *)(puVar15 + -0x18) = uVar8;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;\n            error();\n          }" ({ "{") (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bb1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bb1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11bb1")) (; ";")) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" (identifier "uVar9") (= "=") (call_expression "FUN_000148c0()" (identifier "FUN_000148c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to create temporary file in %s"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""failed to create temporary file in %s"" (" """) (string_content "failed to create temporary file in %s") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bc6;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bc6" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11bc6")) (; ";")) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" (identifier "uVar8") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11bcd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11bcd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11bcd")) (; ";")) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" (* "*") (cast_expression "(int *)(puVar15 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11bd8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11bd8" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11bd8")) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" (else "else") (compound_statement "{\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;\n            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));\n            if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }\n            *(undefined4 *)(puVar15 + -4) = 0;\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;\n            uVar9 = FUN_000148c0();\n            local_28 = CONCAT44(local_28._4_4_,uVar9);\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;\n            uVar9 = dcgettext();\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;\n            piVar11 = __errno_location();\n            *(uint *)(puVar15 + -0x14) = (uint)local_28;\n            *(undefined4 *)(puVar15 + -0x18) = uVar9;\n            *(int *)(puVar15 + -0x1c) = *piVar11;\n            *(undefined4 *)(puVar15 + -0x20) = 0;\n            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;\n            error();\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;\n            close(*(int *)(puVar15 + -0x10));\n            *(int *)(puVar15 + -0x10) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;\n            unlink(*(char **)(puVar15 + -0x10));\n          }" ({ "{") (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;" (assignment_expression "*(undefined **)(puVar15 + -0xc) = &DAT_0002a14a" (pointer_expression "*(undefined **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_0002a14a" (& "&") (identifier "DAT_0002a14a"))) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11af4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11af4" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11af4")) (; ";")) (expression_statement "DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));" (assignment_expression "DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" (identifier "DAT_000351e4") (= "=") (call_expression "fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" (identifier "fdopen") (argument_list "(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (DAT_000351e4 != (FILE *)0x0) {\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }" (if "if") (parenthesized_expression "(DAT_000351e4 != (FILE *)0x0)" (( "(") (binary_expression "DAT_000351e4 != (FILE *)0x0" (identifier "DAT_000351e4") (!= "!=") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(int *)(puVar15 + -0x10) = DAT_000351e8;\n              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;\n              unlink(*(char **)(puVar15 + -0x10));\n              goto LAB_000118a7;\n            }" ({ "{") (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_000351e8")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b14;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b14" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b14")) (; ";")) (expression_statement "unlink(*(char **)(puVar15 + -0x10));" (call_expression "unlink(*(char **)(puVar15 + -0x10))" (identifier "unlink") (argument_list "(*(char **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_000118a7;" (goto "goto") (statement_identifier "LAB_000118a7") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_000351e8")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c07;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c07" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c07")) (; ";")) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" (identifier "uVar9") (= "=") (call_expression "FUN_000148c0()" (identifier "FUN_000148c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_28 = CONCAT44(local_28._4_4_,uVar9);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,uVar9)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,uVar9)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,uVar9)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to open %s for writing";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to open %s for writing"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""failed to open %s for writing"" (" """) (string_content "failed to open %s for writing") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c1d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c1d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c1d")) (; ";")) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" (identifier "uVar9") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c24;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c24" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c24")) (; ";")) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar15 + -0x14) = (uint)local_28;" (assignment_expression "*(uint *)(puVar15 + -0x14) = (uint)local_28" (pointer_expression "*(uint *)(puVar15 + -0x14)" (* "*") (cast_expression "(uint *)(puVar15 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" (* "*") (cast_expression "(int *)(puVar15 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11c32;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11c32" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11c32")) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c3b")) (; ";")) (expression_statement "close(*(int *)(puVar15 + -0x10));" (call_expression "close(*(int *)(puVar15 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar15 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_000351e8")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11c47;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11c47" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c47")) (; ";")) (expression_statement "unlink(*(char **)(puVar15 + -0x10));" (call_expression "unlink(*(char **)(puVar15 + -0x10))" (identifier "unlink") (argument_list "(*(char **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")))) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_000351e8")) (; ";")) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11beb;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11beb" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11beb")) (; ";")) (expression_statement "free(*(void **)(puVar15 + -0x10));" (call_expression "free(*(void **)(puVar15 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar15 + -0x10)" (* "*") (cast_expression "(void **)(puVar15 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "DAT_000351e8 = 0;" (assignment_expression "DAT_000351e8 = 0" (identifier "DAT_000351e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = extraout_EDX_06;" (assignment_expression "iVar5 = extraout_EDX_06" (identifier "iVar5") (= "=") (identifier "extraout_EDX_06")) (; ";")) (} "}")) (else_clause "else {\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" (else "else") (compound_statement "{\n          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;\n          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));\n          *(undefined4 *)(puVar15 + -0x14) = 0;\n          *(undefined4 *)(puVar15 + -0x18) = 0;\n          *(undefined4 *)(puVar15 + -0x1c) = 0;\n          *(FILE **)(puVar15 + -0x20) = pFVar2;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11876;\n          iVar5 = FUN_00015800();\n          if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }\nLAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;\n          uVar8 = dcgettext();\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;\n          piVar11 = __errno_location();\n          *(undefined4 *)(puVar15 + -0x14) = uVar9;\n          *(undefined4 *)(puVar15 + -0x18) = uVar8;\n          bVar4 = 0;\n          *(int *)(puVar15 + -0x1c) = *piVar11;\n          *(undefined4 *)(puVar15 + -0x20) = 0;\n          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;\n          error();\n          iVar5 = extraout_EDX_03;\n        }" ({ "{") (expression_statement "*(FILE **)(puVar15 + -0x10) = DAT_000351e4;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = DAT_000351e4" (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_000351e4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1186a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1186a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1186a")) (; ";")) (expression_statement "clearerr_unlocked(*(FILE **)(puVar15 + -0x10));" (call_expression "clearerr_unlocked(*(FILE **)(puVar15 + -0x10))" (identifier "clearerr_unlocked") (argument_list "(*(FILE **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(FILE **)(puVar15 + -0x20) = pFVar2;" (assignment_expression "*(FILE **)(puVar15 + -0x20) = pFVar2" (pointer_expression "*(FILE **)(puVar15 + -0x20)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x20)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "pFVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11876;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11876" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11876")) (; ";")) (expression_statement "iVar5 = FUN_00015800();" (assignment_expression "iVar5 = FUN_00015800()" (identifier "iVar5") (= "=") (call_expression "FUN_00015800()" (identifier "FUN_00015800") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }\n          else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;\n            *(int *)(puVar15 + -8) = iVar5;\n            *(int *)(puVar15 + -0xc) = DAT_000351e8;\n            *(undefined4 *)(puVar15 + -0x10) = 4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;\n            uVar9 = FUN_000148c0();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";\n          }" ({ "{") (labeled_statement "LAB_00011a5c:\n            *(int *)(puVar15 + -4) = iVar5;" (statement_identifier "LAB_00011a5c") (: ":") (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar5")) (; ";"))) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_000351e8;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_000351e8" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_000351e8")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a6b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a6b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a6b")) (; ";")) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" (identifier "uVar9") (= "=") (call_expression "FUN_000148c0()" (identifier "FUN_000148c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to rewind stream for %s"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""failed to rewind stream for %s"" (" """) (string_content "failed to rewind stream for %s") (" """))) (; ";")) (} "}")) (else_clause "else {\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" (else "else") (compound_statement "{\n            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;\n            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));\n            *(undefined4 *)(puVar15 + -8) = 0;\n            *(undefined4 *)(puVar15 + -0xc) = 0;\n            *(int *)(puVar15 + -0x10) = iVar5;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;\n            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));\n            if (iVar5 < 0) goto LAB_00011a5c;\nLAB_000118a7:\n            local_30 = DAT_000351e4;\n            uVar12 = 0;\n            iVar13 = 0;\n            local_48 = DAT_000351e8;\n            while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }\n            *(FILE **)(puVar15 + -0x10) = local_30;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;\n            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));\n            if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }\nLAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;\n            *(int *)(puVar15 + -8) = local_48;\n            *(undefined4 *)(puVar15 + -0xc) = 3;\n            *(undefined4 *)(puVar15 + -0x10) = 0;\n            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;\n            uVar9 = FUN_00014a80();\n            *(undefined4 *)(puVar15 + -8) = 5;\n            *(char **)(puVar15 + -0xc) = "%s: write error";\n          }" ({ "{") (expression_statement "*(FILE **)(puVar15 + -0x10) = DAT_000351e4;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = DAT_000351e4" (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_000351e4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1188f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1188f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1188f")) (; ";")) (expression_statement "iVar5 = fileno(*(FILE **)(puVar15 + -0x10));" (assignment_expression "iVar5 = fileno(*(FILE **)(puVar15 + -0x10))" (identifier "iVar5") (= "=") (call_expression "fileno(*(FILE **)(puVar15 + -0x10))" (identifier "fileno") (argument_list "(*(FILE **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = iVar5;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar5" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1189c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1189c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1189c")) (; ";")) (expression_statement "iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));" (assignment_expression "iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" (identifier "iVar5") (= "=") (call_expression "ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" (identifier "ftruncate64") (argument_list "(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(__off64_t *)(puVar15 + -0xc)" (* "*") (cast_expression "(__off64_t *)(puVar15 + -0xc)" (( "(") (type_descriptor "__off64_t *" (type_identifier "__off64_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar5 < 0) goto LAB_00011a5c;" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011a5c;" (goto "goto") (statement_identifier "LAB_00011a5c") (; ";"))) (labeled_statement "LAB_000118a7:\n            local_30 = DAT_000351e4;" (statement_identifier "LAB_000118a7") (: ":") (expression_statement "local_30 = DAT_000351e4;" (assignment_expression "local_30 = DAT_000351e4" (identifier "local_30") (= "=") (identifier "DAT_000351e4")) (; ";"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = DAT_000351e8;" (assignment_expression "local_48 = DAT_000351e8" (identifier "local_48") (= "=") (identifier "DAT_000351e8")) (; ";")) (while_statement "while( true ) {\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              *(uint *)(puVar15 + -8) = DAT_00035324;\n              *(int *)(puVar15 + -0xc) = DAT_00035328;\n              *(int *)(puVar15 + -0x10) = local_2c;\n              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;\n              iVar5 = FUN_00014d70();\n              if (iVar5 == 0) break;\n              if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }\n              *(FILE **)(puVar15 + -4) = local_30;\n              *(int *)(puVar15 + -8) = iVar5;\n              *(undefined4 *)(puVar15 + -0xc) = 1;\n              *(int *)(puVar15 + -0x10) = DAT_00035328;\n              local_28 = CONCAT44(local_28._4_4_,iVar5);\n              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;\n              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));\n              if ((uint)local_28 != sVar7) goto LAB_00011a7b;\n              bVar19 = CARRY4(uVar12,(uint)local_28);\n              uVar12 = uVar12 + (uint)local_28;\n              iVar13 = iVar13 + (uint)bVar19;\n            }" ({ "{") (expression_statement "*(uint *)(puVar15 + -8) = DAT_00035324;" (assignment_expression "*(uint *)(puVar15 + -8) = DAT_00035324" (pointer_expression "*(uint *)(puVar15 + -8)" (* "*") (cast_expression "(uint *)(puVar15 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "DAT_00035324")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = DAT_00035328;" (assignment_expression "*(int *)(puVar15 + -0xc) = DAT_00035328" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_00035328")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1190a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1190a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1190a")) (; ";")) (expression_statement "iVar5 = FUN_00014d70();" (assignment_expression "iVar5 = FUN_00014d70()" (identifier "iVar5") (= "=") (call_expression "FUN_00014d70()" (identifier "FUN_00014d70") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) break;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (iVar5 == -1) {\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                *(int *)(puVar15 + -4) = iVar13;\n                *(byte **)(puVar15 + -8) = local_34;\n                *(undefined4 *)(puVar15 + -0xc) = 3;\n                *(undefined4 *)(puVar15 + -0x10) = 0;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;\n                uVar9 = FUN_00014a80();\n                *(undefined4 *)(puVar15 + -8) = 5;\n                *(char **)(puVar15 + -0xc) = local_4c;\n                goto LAB_00011a39;\n              }" ({ "{") (expression_statement "*(int *)(puVar15 + -4) = iVar13;" (assignment_expression "*(int *)(puVar15 + -4) = iVar13" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(byte **)(puVar15 + -8) = local_34;" (assignment_expression "*(byte **)(puVar15 + -8) = local_34" (pointer_expression "*(byte **)(puVar15 + -8)" (* "*") (cast_expression "(byte **)(puVar15 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a2f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a2f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a2f")) (; ";")) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" (identifier "uVar9") (= "=") (call_expression "FUN_00014a80()" (identifier "FUN_00014a80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar15 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (goto_statement "goto LAB_00011a39;" (goto "goto") (statement_identifier "LAB_00011a39") (; ";")) (} "}"))) (expression_statement "*(FILE **)(puVar15 + -4) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -4) = local_30" (pointer_expression "*(FILE **)(puVar15 + -4)" (* "*") (cast_expression "(FILE **)(puVar15 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = DAT_00035328;" (assignment_expression "*(int *)(puVar15 + -0x10) = DAT_00035328" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00035328")) (; ";")) (expression_statement "local_28 = CONCAT44(local_28._4_4_,iVar5);" (assignment_expression "local_28 = CONCAT44(local_28._4_4_,iVar5)" (identifier "local_28") (= "=") (call_expression "CONCAT44(local_28._4_4_,iVar5)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,iVar5)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x118dd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x118dd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x118dd")) (; ";")) (expression_statement "sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));" (assignment_expression "sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" (identifier "sVar7") (= "=") (call_expression "fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" (identifier "fwrite_unlocked") (argument_list "(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),\n                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4))" (( "(") (pointer_expression "*(void **)(puVar15 + -0x10)" (* "*") (cast_expression "(void **)(puVar15 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar15 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar15 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar15 + -8)" (* "*") (cast_expression "(size_t *)(puVar15 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar15 + -4)" (* "*") (cast_expression "(FILE **)(puVar15 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) () ")")))) (; ";")) (if_statement "if ((uint)local_28 != sVar7) goto LAB_00011a7b;" (if "if") (parenthesized_expression "((uint)local_28 != sVar7)" (( "(") (binary_expression "(uint)local_28 != sVar7" (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28")) (!= "!=") (identifier "sVar7")) () ")")) (goto_statement "goto LAB_00011a7b;" (goto "goto") (statement_identifier "LAB_00011a7b") (; ";"))) (expression_statement "bVar19 = CARRY4(uVar12,(uint)local_28);" (assignment_expression "bVar19 = CARRY4(uVar12,(uint)local_28)" (identifier "bVar19") (= "=") (call_expression "CARRY4(uVar12,(uint)local_28)" (identifier "CARRY4") (argument_list "(uVar12,(uint)local_28)" (( "(") (identifier "uVar12") (, ",") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar12 + (uint)local_28;" (assignment_expression "uVar12 = uVar12 + (uint)local_28" (identifier "uVar12") (= "=") (binary_expression "uVar12 + (uint)local_28" (identifier "uVar12") (+ "+") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28")))) (; ";")) (expression_statement "iVar13 = iVar13 + (uint)bVar19;" (assignment_expression "iVar13 = iVar13 + (uint)bVar19" (identifier "iVar13") (= "=") (binary_expression "iVar13 + (uint)bVar19" (identifier "iVar13") (+ "+") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (} "}"))) (expression_statement "*(FILE **)(puVar15 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1191c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1191c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1191c")) (; ";")) (expression_statement "iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));" (assignment_expression "iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10))" (identifier "iVar5") (= "=") (call_expression "fflush_unlocked(*(FILE **)(puVar15 + -0x10))" (identifier "fflush_unlocked") (argument_list "(*(FILE **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar5 = extraout_EDX;\n              if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }\n              goto LAB_0001194b;\n            }" ({ "{") (expression_statement "iVar5 = extraout_EDX;" (assignment_expression "iVar5 = extraout_EDX" (identifier "iVar5") (= "=") (identifier "extraout_EDX")) (; ";")) (if_statement "if (iVar13 < 0) {\nLAB_00011c90:\n                bVar4 = 0;\n              }\n              else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011c90:\n                bVar4 = 0;\n              }" ({ "{") (labeled_statement "LAB_00011c90:\n                bVar4 = 0;" (statement_identifier "LAB_00011c90") (: ":") (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" (else "else") (compound_statement "{\n                *(FILE **)(puVar15 + -0x10) = local_30;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;\n                fileno(*(FILE **)(puVar15 + -0x10));\n                *(int *)(puVar15 + -0xc) = iVar13;\n                *(uint *)(puVar15 + -0x10) = uVar12;\n                *(undefined4 *)(puVar15 + -0x14) = 0x11946;\n                bVar4 = FUN_00011f20();\n                iVar5 = extraout_EDX_00;\n              }" ({ "{") (expression_statement "*(FILE **)(puVar15 + -0x10) = local_30;" (assignment_expression "*(FILE **)(puVar15 + -0x10) = local_30" (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1193a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1193a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1193a")) (; ";")) (expression_statement "fileno(*(FILE **)(puVar15 + -0x10));" (call_expression "fileno(*(FILE **)(puVar15 + -0x10))" (identifier "fileno") (argument_list "(*(FILE **)(puVar15 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar15 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar15 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(uint *)(puVar15 + -0x10) = uVar12;" (assignment_expression "*(uint *)(puVar15 + -0x10) = uVar12" (pointer_expression "*(uint *)(puVar15 + -0x10)" (* "*") (cast_expression "(uint *)(puVar15 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11946;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11946" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11946")) (; ";")) (expression_statement "bVar4 = FUN_00011f20();" (assignment_expression "bVar4 = FUN_00011f20()" (identifier "bVar4") (= "=") (call_expression "FUN_00011f20()" (identifier "FUN_00011f20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = extraout_EDX_00;" (assignment_expression "iVar5 = extraout_EDX_00" (identifier "iVar5") (= "=") (identifier "extraout_EDX_00")) (; ";")) (} "}")))) (goto_statement "goto LAB_0001194b;" (goto "goto") (statement_identifier "LAB_0001194b") (; ";")) (} "}"))) (labeled_statement "LAB_00011a7b:\n            *(uint *)(puVar15 + -4) = uVar12;" (statement_identifier "LAB_00011a7b") (: ":") (expression_statement "*(uint *)(puVar15 + -4) = uVar12;" (assignment_expression "*(uint *)(puVar15 + -4) = uVar12" (pointer_expression "*(uint *)(puVar15 + -4)" (* "*") (cast_expression "(uint *)(puVar15 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar12")) (; ";"))) (expression_statement "*(int *)(puVar15 + -8) = local_48;" (assignment_expression "*(int *)(puVar15 + -8) = local_48" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a88;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a88" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a88")) (; ";")) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" (identifier "uVar9") (= "=") (call_expression "FUN_00014a80()" (identifier "FUN_00014a80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "%s: write error";" (assignment_expression "*(char **)(puVar15 + -0xc) = "%s: write error"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%s: write error"" (" """) (string_content "%s: write error") (" """))) (; ";")) (} "}")))) (labeled_statement "LAB_00011a39:\n          *(undefined4 *)(puVar15 + -0x10) = 0;" (statement_identifier "LAB_00011a39") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a40;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a40" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a40")) (; ";")) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" (identifier "uVar8") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a47;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a47" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a47")) (; ";")) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" (* "*") (cast_expression "(int *)(puVar15 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x11a54;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x11a54" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11a54")) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = extraout_EDX_03;" (assignment_expression "iVar5 = extraout_EDX_03" (identifier "iVar5") (= "=") (identifier "extraout_EDX_03")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" (else "else") (compound_statement "{\n        *(int *)(puVar15 + -0x10) = local_2c;\n        local_28 = _Var22;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;\n        iVar5 = isatty(*(int *)(puVar15 + -0x10));\n        uVar9 = (uint)local_28;\n        uVar8 = local_28._4_4_;\n        if (iVar5 != 0) goto LAB_0001184e;\n        *(undefined4 *)(puVar15 + -4) = 0;\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(undefined4 *)(puVar15 + -0xc) = uVar8;\n        *(undefined4 *)(puVar15 + -0x10) = uVar9;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;\n        bVar4 = FUN_00011f20();\n        iVar5 = extraout_EDX_04;\n      }" ({ "{") (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "local_28 = _Var22;" (assignment_expression "local_28 = _Var22" (identifier "local_28") (= "=") (identifier "_Var22")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1183d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1183d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1183d")) (; ";")) (expression_statement "iVar5 = isatty(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar5 = isatty(*(int *)(puVar15 + -0x10))" (identifier "iVar5") (= "=") (call_expression "isatty(*(int *)(puVar15 + -0x10))" (identifier "isatty") (argument_list "(*(int *)(puVar15 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar9 = (uint)local_28;" (assignment_expression "uVar9 = (uint)local_28" (identifier "uVar9") (= "=") (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28"))) (; ";")) (expression_statement "uVar8 = local_28._4_4_;" (assignment_expression "uVar8 = local_28._4_4_" (identifier "uVar8") (= "=") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_"))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_0001184e;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001184e;" (goto "goto") (statement_identifier "LAB_0001184e") (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b2b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b2b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b2b")) (; ";")) (expression_statement "bVar4 = FUN_00011f20();" (assignment_expression "bVar4 = FUN_00011f20()" (identifier "bVar4") (= "=") (call_expression "FUN_00011f20()" (identifier "FUN_00011f20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = extraout_EDX_04;" (assignment_expression "iVar5 = extraout_EDX_04" (identifier "iVar5") (= "=") (identifier "extraout_EDX_04")) (; ";")) (} "}")))) (labeled_statement "LAB_0001194b:\n      if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" (statement_identifier "LAB_0001194b") (: ":") (if_statement "if (local_3c != 0) {\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" (if "if") (parenthesized_expression "(local_3c != 0)" (( "(") (binary_expression "local_3c != 0" (identifier "local_3c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(puVar15 + -0x10) = local_2c;\n        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;\n        iVar13 = close(*(int *)(puVar15 + -0x10));\n        iVar5 = extraout_EDX_02;\n        if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }\n      }" ({ "{") (expression_statement "*(int *)(puVar15 + -0x10) = local_2c;" (assignment_expression "*(int *)(puVar15 + -0x10) = local_2c" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119fe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119fe" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119fe")) (; ";")) (expression_statement "iVar13 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar13 = close(*(int *)(puVar15 + -0x10))" (identifier "iVar13") (= "=") (call_expression "close(*(int *)(puVar15 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar15 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar5 = extraout_EDX_02;" (assignment_expression "iVar5 = extraout_EDX_02" (identifier "iVar5") (= "=") (identifier "extraout_EDX_02")) (; ";")) (if_statement "if (iVar13 != 0) {\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar15 + -4) = extraout_ECX;\n          *(byte **)(puVar15 + -8) = local_34;\n          *(undefined4 *)(puVar15 + -0xc) = 3;\n          *(undefined4 *)(puVar15 + -0x10) = 0;\n          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;\n          uVar9 = FUN_00014a80();\n          *(undefined4 *)(puVar15 + -8) = 5;\n          *(char **)(puVar15 + -0xc) = local_4c;\n          goto LAB_000119d0;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(byte **)(puVar15 + -8) = local_34;" (assignment_expression "*(byte **)(puVar15 + -8) = local_34" (pointer_expression "*(byte **)(puVar15 + -8)" (* "*") (cast_expression "(byte **)(puVar15 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 3;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 3" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11a16;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11a16" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a16")) (; ";")) (expression_statement "uVar9 = FUN_00014a80();" (assignment_expression "uVar9 = FUN_00014a80()" (identifier "uVar9") (= "=") (call_expression "FUN_00014a80()" (identifier "FUN_00014a80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = local_4c;" (assignment_expression "*(char **)(puVar15 + -0xc) = local_4c" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (goto_statement "goto LAB_000119d0;" (goto "goto") (statement_identifier "LAB_000119d0") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" (else "else") (compound_statement "{\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(undefined4 *)(puVar15 + -0xc) = 0;\n      *(byte **)(puVar15 + -0x10) = local_34;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;\n      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n      local_2c = iVar5;\n      if (-1 < iVar5) goto LAB_00011815;\n      *(int *)(puVar15 + -4) = iVar5;\n      *(int *)(puVar15 + -8) = iVar5;\n      *(byte **)(puVar15 + -0xc) = local_34;\n      *(undefined4 *)(puVar15 + -0x10) = 4;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;\n      uVar9 = FUN_000148c0();\n      *(undefined4 *)(puVar15 + -8) = 5;\n      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";\nLAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;\n      uVar8 = dcgettext();\n      *(undefined4 *)(puVar15 + -0x14) = 0x119de;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -0x14) = uVar9;\n      *(undefined4 *)(puVar15 + -0x18) = uVar8;\n      bVar4 = 0;\n      *(int *)(puVar15 + -0x1c) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x20) = 0;\n      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;\n      error();\n      iVar5 = extraout_EDX_01;\n    }" ({ "{") (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte **)(puVar15 + -0x10) = local_34;" (assignment_expression "*(byte **)(puVar15 + -0x10) = local_34" (pointer_expression "*(byte **)(puVar15 + -0x10)" (* "*") (cast_expression "(byte **)(puVar15 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119a8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119a8" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119a8")) (; ";")) (expression_statement "iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));" (assignment_expression "iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" (identifier "iVar5") (= "=") (call_expression "open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" (identifier "open64") (argument_list "(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "local_2c = iVar5;" (assignment_expression "local_2c = iVar5" (identifier "local_2c") (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (-1 < iVar5) goto LAB_00011815;" (if "if") (parenthesized_expression "(-1 < iVar5)" (( "(") (binary_expression "-1 < iVar5" (number_literal "-1") (< "<") (identifier "iVar5")) () ")")) (goto_statement "goto LAB_00011815;" (goto "goto") (statement_identifier "LAB_00011815") (; ";"))) (expression_statement "*(int *)(puVar15 + -4) = iVar5;" (assignment_expression "*(int *)(puVar15 + -4) = iVar5" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(int *)(puVar15 + -8) = iVar5;" (assignment_expression "*(int *)(puVar15 + -8) = iVar5" (pointer_expression "*(int *)(puVar15 + -8)" (* "*") (cast_expression "(int *)(puVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(byte **)(puVar15 + -0xc) = local_34;" (assignment_expression "*(byte **)(puVar15 + -0xc) = local_34" (pointer_expression "*(byte **)(puVar15 + -0xc)" (* "*") (cast_expression "(byte **)(puVar15 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119c2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119c2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119c2")) (; ";")) (expression_statement "uVar9 = FUN_000148c0();" (assignment_expression "uVar9 = FUN_000148c0()" (identifier "uVar9") (= "=") (call_expression "FUN_000148c0()" (identifier "FUN_000148c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "failed to open %s for reading";" (assignment_expression "*(char **)(puVar15 + -0xc) = "failed to open %s for reading"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""failed to open %s for reading"" (" """) (string_content "failed to open %s for reading") (" """))) (; ";")) (labeled_statement "LAB_000119d0:\n      *(undefined4 *)(puVar15 + -0x10) = 0;" (statement_identifier "LAB_000119d0") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119d7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119d7" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119d7")) (; ";")) (expression_statement "uVar8 = dcgettext();" (assignment_expression "uVar8 = dcgettext()" (identifier "uVar8") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x119de;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x119de" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119de")) (; ";")) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x1c) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0x1c) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0x1c)" (* "*") (cast_expression "(int *)(puVar15 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0x119eb;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0x119eb" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x119eb")) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = extraout_EDX_01;" (assignment_expression "iVar5 = extraout_EDX_01" (identifier "iVar5") (= "=") (identifier "extraout_EDX_01")) (; ";")) (} "}")))) (expression_statement "ppuVar6 = local_38;" (assignment_expression "ppuVar6 = local_38" (identifier "ppuVar6") (= "=") (identifier "local_38")) (; ";")) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" (identifier "local_38") (= "=") (binary_expression "local_38 + 1" (identifier "local_38") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_3d = local_3d & bVar4;" (assignment_expression "local_3d = local_3d & bVar4" (identifier "local_3d") (= "=") (binary_expression "local_3d & bVar4" (identifier "local_3d") (& "&") (identifier "bVar4"))) (; ";")) (expression_statement "local_34 = *ppuVar6;" (assignment_expression "local_34 = *ppuVar6" (identifier "local_34") (= "=") (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" (identifier "bVar19") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = *ppuVar6 == (byte *)0x0;" (assignment_expression "bVar20 = *ppuVar6 == (byte *)0x0" (identifier "bVar20") (= "=") (binary_expression "*ppuVar6 == (byte *)0x0" (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6")) (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(!bVar20)" (( "(") (unary_expression "!bVar20" (! "!") (identifier "bVar20")) () ")")) (; ";")) (labeled_statement "LAB_00011970:\n  *(undefined4 *)(puVar15 + -4) = 0x11979;" (statement_identifier "LAB_00011970") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11979;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11979" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x11979")) (; ";"))) (expression_statement "FUN_00011e20();" (call_expression "FUN_00011e20()" (identifier "FUN_00011e20") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_00035335 != '\0') {\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00035335 != '\0')" (( "(") (binary_expression "DAT_00035335 != '\0'" (identifier "DAT_00035335") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar15 + -0x10) = 0;\n    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;\n    iVar5 = close(*(int *)(puVar15 + -0x10));\n    if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b53;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b53" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b53")) (; ";")) (expression_statement "iVar5 = close(*(int *)(puVar15 + -0x10));" (assignment_expression "iVar5 = close(*(int *)(puVar15 + -0x10))" (identifier "iVar5") (= "=") (call_expression "close(*(int *)(puVar15 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar15 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar15 + -4) = 0x11b63;\n      piVar11 = __errno_location();\n      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;\n      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;\n      *(int *)(puVar15 + -0xc) = *piVar11;\n      *(undefined4 *)(puVar15 + -0x10) = 0;\n      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;\n      error();\n      local_3d = 0;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x11b63;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x11b63" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x11b63")) (; ";")) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = extraout_EDX_05" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_EDX_05")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = &DAT_0002b12a" (pointer_expression "*(undefined1 **)(puVar15 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&DAT_0002b12a" (& "&") (identifier "DAT_0002b12a"))) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = *piVar11;" (assignment_expression "*(int *)(puVar15 + -0xc) = *piVar11" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11b74;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11b74" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b74")) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_3d = 0;" (assignment_expression "local_3d = 0" (identifier "local_3d") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (return_statement "return local_3d ^ 1;" (return "return") (binary_expression "local_3d ^ 1" (identifier "local_3d") (^ "^") (number_literal "1")) (; ";")) (} "}")))

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

int function_1(int argc,char **argv)

{
  char var_17;
  type_1 *pFVar2;
  type_2 var_64;
  char *var_7;
  char **var_27;
  size_t sVar6;
  size_t var_54;
  type_3 uVar8;
  char *var_39;
  int *piVar10;
  type_4 var_16;
  int var_29;
  type_3 extraout_ECX;
  int var_19;
  int extraout_EDX;
  int extraout_EDX_00;
  int extraout_EDX_01;
  int extraout_EDX_02;
  int extraout_EDX_03;
  int extraout_EDX_04;
  type_3 extraout_EDX_05;
  int extraout_EDX_06;
  int extraout_EDX_07;
  type_5 *var_34;
  type_5 *var_65;
  type_5 *var_15;
  type_6 *var_30;
  type_6 *var_31;
  bool var_32;
  bool bVar20;
  type_6 bVar21;
  type_7 var_36;
  int aiStack_94 [2];
  type_8 uStack_8c;
  int iStack_84;
  type_5 auStack_80 [8];
  size_t sStack_78;
  type_4 uStack_74;
  type_5 auStack_50 [4];
  char *local_4c;
  char *local_48;
  type_6 *local_44;
  type_6 var_63;
  int var_33;
  char **var_62;
  type_6 *var_28;
  type_1 *local_30;
  int var_26;
  type_8 local_28;
  int *local_18;
  
  var_27 = argv;
  bVar21 = 0;
  local_18 = &argc;
  var_26 = argc;
  var_1(*argv);
  var_2(6,"");
  var_3();
  var_4();
  var_5((type_9 *)PTR_close_stdout_00032fc8);
  separator_ends_record = true;
  var_15 = auStack_50;
  var_65 = auStack_50;
  var_34 = auStack_50;
  separator = "\n";
  local_28._0_4_ = "brs:";
  local_30 = (type_1 *)&rpl_optarg;
  var_12 = 1;
  while (var_7 = (char *)var_6(var_26,var_27,(char *)local_28,longopts,(int *)0x0),
        var_7 != (char *)0xffffffff) {
    if (var_7 == (char *)0x62) {
      separator_ends_record = false;
    }
    else {
      if ((int)var_7 < 99) {
        local_28._0_4_ = var_7;
        if (var_7 == (char *)0xffffff7d) {
          var_8(*(type_1 **)PTR_stdout_00032fd0,"tac","GNU coreutils",Version);
                    /* WARNING: Subroutine does not return */
          var_9(0);
        }
        if (var_7 == (char *)0xffffff7e) {
                    /* WARNING: Subroutine does not return */
          var_10(0);
        }
LAB_00011c4c:
                    /* WARNING: Subroutine does not return */
        var_10(1);
      }
      if (var_7 == (char *)0x72) {
        var_12 = 0;
      }
      else {
        if (var_7 != (char *)0x73) goto LAB_00011c4c;
        separator = (char *)local_30->_flags;
      }
    }
  }
  local_28 = var_11(local_28._4_4_,0xffffffff);
  if (var_12 == 0) {
    if (*separator == '\0') {
      var_13();
      var_15 = &stack0xffffffa0;
      var_7 = (char *)var_14();
LAB_00011c7f:
      *(char **)(var_15 + -4) = var_7;
      *(char **)(var_15 + -8) = "%s";
      *(type_3 *)(var_15 + -0xc) = 0;
      var_34 = var_15 + -0x10;
      *(type_3 *)(var_15 + -0x10) = 1;
      *(type_3 *)(var_15 + -0x14) = 0x11c90;
      var_14();
      var_19 = extraout_EDX_07;
      goto LAB_00011c90;
    }
    compiled_separator.buffer = (type_10 *)0x0;
    compiled_separator.fastmap = compiled_separator_fastmap;
    compiled_separator.allocated = 0;
    compiled_separator.translate = (type_11 *)0x0;
    var_16 = 0xffffffff;
    var_7 = separator;
    do {
      if (var_16 == 0) break;
      var_16 = var_16 - 1;
      var_17 = *var_7;
      var_7 = var_7 + (type_4)bVar21 * -2 + 1;
    } while (var_17 != '\0');
    var_7 = var_18(separator,~var_16 - 1,&compiled_separator);
    if (var_7 != (char *)0x0) goto LAB_00011c7f;
  }
  else {
    match_length = 1;
    var_12 = match_length;
    if (*separator != '\0') {
      var_16 = 0xffffffff;
      var_7 = separator;
      do {
        if (var_16 == 0) break;
        var_16 = var_16 - 1;
        var_17 = *var_7;
        var_7 = var_7 + (type_4)bVar21 * -2 + 1;
      } while (var_17 != '\0');
      match_length = ~var_16 - 1;
      var_12 = match_length;
    }
  }
  var_19 = 0x12;
  var_21 = 0x2000;
  var_16 = 0x2000;
  if (0xfff < var_12) {
    while (var_21 = var_16 * 2, (var_16 & 0x7fffffff) <= var_12) {
      var_19 = var_19 + -1;
      var_16 = var_21;
      if (var_19 == 0) {
                    /* WARNING: Subroutine does not return */
        var_20();
      }
    }
  }
  var_16 = var_21 + 1 + var_12;
  var_22 = var_16 * 2;
  if (var_16 <= var_21 || var_22 <= var_16) {
                    /* WARNING: Subroutine does not return */
    var_20();
  }
  var_7 = (char *)var_23(var_22);
  if (var_12 == 0) {
    G_buffer = var_7 + 1;
    var_19 = 0;
  }
  else {
    local_28 = var_11(local_28._4_4_,var_12);
    G_buffer = var_7;
    var_24(var_7,separator,var_12 + 1);
    G_buffer = var_7 + (int)(char *)local_28;
    var_19 = (int)(char *)local_28;
  }
  if (var_25 < var_26) {
    var_27 = var_27 + var_25;
    var_28 = (type_6 *)*var_27;
    if (var_28 == (type_6 *)0x0) {
      var_63 = 1;
      var_28 = (type_6 *)0x0;
      goto LAB_00011970;
    }
  }
  else {
    var_27 = function_1::default_file_list;
    var_28 = &DAT_0002b12a;
  }
  local_44 = &DAT_0002b12a;
  var_32 = (char **)0xfffffffb < var_27;
  bVar20 = var_27 + 1 == (char **)0x0;
  var_63 = 1;
  local_4c = "%s: read error";
  var_62 = var_27 + 1;
  do {
    var_29 = 2;
    var_30 = var_28;
    var_31 = local_44;
    do {
      if (var_29 == 0) break;
      var_29 = var_29 + -1;
      var_32 = *var_30 < *var_31;
      bVar20 = *var_30 == *var_31;
      var_30 = var_30 + (type_4)bVar21 * -2 + 1;
      var_31 = var_31 + (type_4)bVar21 * -2 + 1;
    } while (bVar20);
    var_33 = (int)(char)((!var_32 && !bVar20) - var_32);
    if (var_33 == 0) {
      *(int *)(var_34 + -4) = var_29;
      *(type_3 *)(var_34 + -8) = 5;
      *(char **)(var_34 + -0xc) = "standard input";
      *(type_3 *)(var_34 + -0x10) = 0;
      var_67 = true;
      *(type_3 *)(var_34 + -0x14) = 0x11808;
      var_28 = (type_6 *)var_13();
      var_26 = 0;
LAB_00011815:
      *(type_3 *)(var_34 + -4) = 2;
      *(type_3 *)(var_34 + -8) = 0;
      *(type_3 *)(var_34 + -0xc) = 0;
      *(int *)(var_34 + -0x10) = var_26;
      *(type_3 *)(var_34 + -0x14) = 0x11823;
      var_36 = var_35(*(int *)(var_34 + -0x10),*(type_7 *)(var_34 + -0xc),
                       *(int *)(var_34 + -4));
      if (var_36 < 0) {
LAB_0001184e:
        pFVar2 = var_45;
        if (var_37 == (char *)0x0) {
          *(char **)(var_34 + -0x10) = "TMPDIR";
          *(type_3 *)(var_34 + -0x14) = 0x11aa7;
          var_39 = var_38(*(char **)(var_34 + -0x10));
          var_7 = var_39;
          if (var_39 == (char *)0x0) {
            var_7 = "/tmp";
          }
          *(char **)(var_34 + -4) = var_39;
          *(type_3 *)(var_34 + -8) = 0;
          *(char **)(var_34 + -0xc) = "tacXXXXXX";
          *(char **)(var_34 + -0x10) = var_7;
          local_28 = var_11(local_28._4_4_,var_7);
          *(type_3 *)(var_34 + -0x14) = 0x11ac7;
          var_37 =
               var_40(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc),
                                 *(char ***)(var_34 + -8));
          *(char **)(var_34 + -0x10) = var_37;
          *(type_3 *)(var_34 + -0x14) = 0x11ad5;
          var_19 = var_41(*(char **)(var_34 + -0x10));
          if (var_19 < 0) {
            *(int *)(var_34 + -4) = var_19;
            *(int *)(var_34 + -8) = var_19;
            *(char **)(var_34 + -0xc) = (char *)local_28;
            *(type_3 *)(var_34 + -0x10) = 4;
            *(type_3 *)(var_34 + -0x14) = 0x11bb1;
            var_7 = var_42(*(type_12 *)(var_34 + -0x10),*(char **)(var_34 + -0xc));
            *(type_3 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "failed to create temporary file in %s";
            *(type_3 *)(var_34 + -0x10) = 0;
            *(type_3 *)(var_34 + -0x14) = 0x11bc6;
            uVar8 = var_13();
            *(type_3 *)(var_34 + -0x14) = 0x11bcd;
            piVar10 = var_43();
            *(char **)(var_34 + -0x14) = var_7;
            *(type_3 *)(var_34 + -0x18) = uVar8;
            *(int *)(var_34 + -0x1c) = *piVar10;
            *(type_3 *)(var_34 + -0x20) = 0;
            *(type_3 *)(var_34 + -0x24) = 0x11bd8;
            var_14();
          }
          else {
            *(int *)(var_34 + -4) = var_19;
            *(int *)(var_34 + -8) = var_19;
            *(type_13 **)(var_34 + -0xc) = &DAT_0002a14a;
            *(int *)(var_34 + -0x10) = var_19;
            *(type_3 *)(var_34 + -0x14) = 0x11af4;
            var_45 = var_44(*(int *)(var_34 + -0x10),*(char **)(var_34 + -0xc));
            if (var_45 != (type_1 *)0x0) {
              *(char **)(var_34 + -0x10) = var_37;
              *(type_3 *)(var_34 + -0x14) = 0x11b14;
              var_46(*(char **)(var_34 + -0x10));
              goto LAB_000118a7;
            }
            *(type_3 *)(var_34 + -4) = 0;
            *(type_3 *)(var_34 + -8) = 0;
            *(char **)(var_34 + -0xc) = var_37;
            *(type_3 *)(var_34 + -0x10) = 4;
            *(type_3 *)(var_34 + -0x14) = 0x11c07;
            var_7 = var_42(*(type_12 *)(var_34 + -0x10),*(char **)(var_34 + -0xc));
            local_28 = var_11(local_28._4_4_,var_7);
            *(type_3 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "failed to open %s for writing";
            *(type_3 *)(var_34 + -0x10) = 0;
            *(type_3 *)(var_34 + -0x14) = 0x11c1d;
            uVar8 = var_13();
            *(type_3 *)(var_34 + -0x14) = 0x11c24;
            piVar10 = var_43();
            *(char **)(var_34 + -0x14) = (char *)local_28;
            *(type_3 *)(var_34 + -0x18) = uVar8;
            *(int *)(var_34 + -0x1c) = *piVar10;
            *(type_3 *)(var_34 + -0x20) = 0;
            *(type_3 *)(var_34 + -0x24) = 0x11c32;
            var_14();
            *(int *)(var_34 + -0x10) = var_19;
            *(type_3 *)(var_34 + -0x14) = 0x11c3b;
            var_47(*(int *)(var_34 + -0x10));
            *(char **)(var_34 + -0x10) = var_37;
            *(type_3 *)(var_34 + -0x14) = 0x11c47;
            var_46(*(char **)(var_34 + -0x10));
          }
          *(char **)(var_34 + -0x10) = var_37;
          var_64 = false;
          *(type_3 *)(var_34 + -0x14) = 0x11beb;
          var_48(*(void **)(var_34 + -0x10));
          var_37 = (char *)0x0;
          var_19 = extraout_EDX_06;
        }
        else {
          *(type_1 **)(var_34 + -0x10) = var_45;
          *(type_3 *)(var_34 + -0x14) = 0x1186a;
          var_49(*(type_1 **)(var_34 + -0x10));
          *(type_3 *)(var_34 + -0x14) = 0;
          *(type_3 *)(var_34 + -0x18) = 0;
          *(type_3 *)(var_34 + -0x1c) = 0;
          *(type_1 **)(var_34 + -0x20) = pFVar2;
          *(type_3 *)(var_34 + -0x24) = 0x11876;
          var_19 = var_50(*(type_1 **)(var_34 + -0x20),*(type_14 *)(var_34 + -0x1c),
                              *(int *)(var_34 + -0x14));
          if (var_19 < 0) {
LAB_00011a5c:
            *(int *)(var_34 + -4) = var_19;
            *(int *)(var_34 + -8) = var_19;
            *(char **)(var_34 + -0xc) = var_37;
            *(type_3 *)(var_34 + -0x10) = 4;
            *(type_3 *)(var_34 + -0x14) = 0x11a6b;
            var_7 = var_42(*(type_12 *)(var_34 + -0x10),*(char **)(var_34 + -0xc));
            *(type_3 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "failed to rewind stream for %s";
          }
          else {
            *(type_1 **)(var_34 + -0x10) = var_45;
            *(type_3 *)(var_34 + -0x14) = 0x1188f;
            var_19 = var_51(*(type_1 **)(var_34 + -0x10));
            *(type_3 *)(var_34 + -8) = 0;
            *(type_3 *)(var_34 + -0xc) = 0;
            *(int *)(var_34 + -0x10) = var_19;
            *(type_3 *)(var_34 + -0x14) = 0x1189c;
            var_19 = var_52(*(int *)(var_34 + -0x10),*(type_7 *)(var_34 + -0xc));
            if (var_19 < 0) goto LAB_00011a5c;
LAB_000118a7:
            local_30 = var_45;
            var_16 = 0;
            var_29 = 0;
            local_48 = var_37;
            while( true ) {
              *(size_t *)(var_34 + -8) = var_21;
              *(char **)(var_34 + -0xc) = G_buffer;
              *(int *)(var_34 + -0x10) = var_26;
              *(type_3 *)(var_34 + -0x14) = 0x1190a;
              var_54 = var_53(*(int *)(var_34 + -0x10),*(void **)(var_34 + -0xc),
                                *(size_t *)(var_34 + -8));
              if (var_54 == 0) break;
              if (var_54 == 0xffffffff) {
                *(int *)(var_34 + -4) = var_29;
                *(type_6 **)(var_34 + -8) = var_28;
                *(type_3 *)(var_34 + -0xc) = 3;
                *(type_3 *)(var_34 + -0x10) = 0;
                *(type_3 *)(var_34 + -0x14) = 0x11a2f;
                var_7 = var_55
                                   (*(int *)(var_34 + -0x10),*(type_12 *)(var_34 + -0xc),
                                    *(char **)(var_34 + -8));
                *(type_3 *)(var_34 + -8) = 5;
                *(char **)(var_34 + -0xc) = local_4c;
                goto LAB_00011a39;
              }
              *(type_1 **)(var_34 + -4) = local_30;
              *(size_t *)(var_34 + -8) = var_54;
              *(type_3 *)(var_34 + -0xc) = 1;
              *(char **)(var_34 + -0x10) = G_buffer;
              local_28 = var_11(local_28._4_4_,var_54);
              *(type_3 *)(var_34 + -0x14) = 0x118dd;
              sVar6 = var_56(*(void **)(var_34 + -0x10),*(size_t *)(var_34 + -0xc),
                                      *(size_t *)(var_34 + -8),*(type_1 **)(var_34 + -4));
              if ((char *)local_28 != (char *)sVar6) goto LAB_00011a7b;
              var_32 = var_57(var_16,(type_4)(char *)local_28);
              var_16 = var_16 + (int)(char *)local_28;
              var_29 = var_29 + (type_4)var_32;
            }
            *(type_1 **)(var_34 + -0x10) = local_30;
            *(type_3 *)(var_34 + -0x14) = 0x1191c;
            var_19 = var_58(*(type_1 **)(var_34 + -0x10));
            if (var_19 == 0) {
              var_19 = extraout_EDX;
              if (var_29 < 0) {
LAB_00011c90:
                var_64 = false;
              }
              else {
                *(type_1 **)(var_34 + -0x10) = local_30;
                *(type_3 *)(var_34 + -0x14) = 0x1193a;
                var_19 = var_51(*(type_1 **)(var_34 + -0x10));
                *(int *)(var_34 + -0xc) = var_29;
                *(type_4 *)(var_34 + -0x10) = var_16;
                *(type_3 *)(var_34 + -0x14) = 0x11946;
                var_64 = var_59(var_19,local_48,*(type_14 *)(var_34 + -0x10));
                var_19 = extraout_EDX_00;
              }
              goto LAB_0001194b;
            }
LAB_00011a7b:
            *(type_4 *)(var_34 + -4) = var_16;
            *(char **)(var_34 + -8) = local_48;
            *(type_3 *)(var_34 + -0xc) = 3;
            *(type_3 *)(var_34 + -0x10) = 0;
            *(type_3 *)(var_34 + -0x14) = 0x11a88;
            var_7 = var_55
                               (*(int *)(var_34 + -0x10),*(type_12 *)(var_34 + -0xc),
                                *(char **)(var_34 + -8));
            *(type_3 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "%s: write error";
          }
LAB_00011a39:
          *(type_3 *)(var_34 + -0x10) = 0;
          *(type_3 *)(var_34 + -0x14) = 0x11a40;
          uVar8 = var_13();
          *(type_3 *)(var_34 + -0x14) = 0x11a47;
          piVar10 = var_43();
          *(char **)(var_34 + -0x14) = var_7;
          *(type_3 *)(var_34 + -0x18) = uVar8;
          var_64 = false;
          *(int *)(var_34 + -0x1c) = *piVar10;
          *(type_3 *)(var_34 + -0x20) = 0;
          *(type_3 *)(var_34 + -0x24) = 0x11a54;
          var_14();
          var_19 = extraout_EDX_03;
        }
      }
      else {
        *(int *)(var_34 + -0x10) = var_26;
        *(type_3 *)(var_34 + -0x14) = 0x1183d;
        local_28 = var_36;
        var_19 = var_60(*(int *)(var_34 + -0x10));
        if (var_19 != 0) goto LAB_0001184e;
        *(type_3 *)(var_34 + -4) = 0;
        *(type_3 *)(var_34 + -8) = 0;
        *(type_3 *)(var_34 + -0xc) = local_28._4_4_;
        *(char **)(var_34 + -0x10) = (char *)local_28;
        *(type_3 *)(var_34 + -0x14) = 0x11b2b;
        var_64 = var_59(var_26,(char *)var_28,*(type_14 *)(var_34 + -0x10));
        var_19 = extraout_EDX_04;
      }
LAB_0001194b:
      if (var_33 != 0) {
        *(int *)(var_34 + -0x10) = var_26;
        *(type_3 *)(var_34 + -0x14) = 0x119fe;
        var_29 = var_47(*(int *)(var_34 + -0x10));
        var_19 = extraout_EDX_02;
        if (var_29 != 0) {
          *(type_3 *)(var_34 + -4) = extraout_ECX;
          *(type_6 **)(var_34 + -8) = var_28;
          *(type_3 *)(var_34 + -0xc) = 3;
          *(type_3 *)(var_34 + -0x10) = 0;
          *(type_3 *)(var_34 + -0x14) = 0x11a16;
          var_7 = var_55
                             (*(int *)(var_34 + -0x10),*(type_12 *)(var_34 + -0xc),
                              *(char **)(var_34 + -8));
          *(type_3 *)(var_34 + -8) = 5;
          *(char **)(var_34 + -0xc) = local_4c;
          goto LAB_000119d0;
        }
      }
    }
    else {
      *(int *)(var_34 + -4) = var_19;
      *(int *)(var_34 + -8) = var_19;
      *(type_3 *)(var_34 + -0xc) = 0;
      *(type_6 **)(var_34 + -0x10) = var_28;
      *(type_3 *)(var_34 + -0x14) = 0x119a8;
      var_26 = var_61(*(char **)(var_34 + -0x10),*(int *)(var_34 + -0xc));
      if (-1 < var_26) goto LAB_00011815;
      *(int *)(var_34 + -4) = var_26;
      *(int *)(var_34 + -8) = var_26;
      *(type_6 **)(var_34 + -0xc) = var_28;
      *(type_3 *)(var_34 + -0x10) = 4;
      *(type_3 *)(var_34 + -0x14) = 0x119c2;
      var_7 = var_42(*(type_12 *)(var_34 + -0x10),*(char **)(var_34 + -0xc));
      *(type_3 *)(var_34 + -8) = 5;
      *(char **)(var_34 + -0xc) = "failed to open %s for reading";
LAB_000119d0:
      *(type_3 *)(var_34 + -0x10) = 0;
      *(type_3 *)(var_34 + -0x14) = 0x119d7;
      uVar8 = var_13();
      *(type_3 *)(var_34 + -0x14) = 0x119de;
      piVar10 = var_43();
      *(char **)(var_34 + -0x14) = var_7;
      *(type_3 *)(var_34 + -0x18) = uVar8;
      var_64 = false;
      *(int *)(var_34 + -0x1c) = *piVar10;
      *(type_3 *)(var_34 + -0x20) = 0;
      *(type_3 *)(var_34 + -0x24) = 0x119eb;
      var_14();
      var_19 = extraout_EDX_01;
    }
    var_27 = var_62 + 1;
    var_63 = var_63 & var_64;
    var_28 = (type_6 *)*var_62;
    var_32 = false;
    bVar20 = var_28 == (type_6 *)0x0;
    var_65 = var_34;
    var_62 = var_27;
  } while (!bVar20);
LAB_00011970:
  *(type_3 *)(var_65 + -4) = 0x11979;
  var_66((char *)0x0,(char *)0x0);
  if (var_67 != false) {
    *(type_3 *)(var_65 + -0x10) = 0;
    *(type_3 *)(var_65 + -0x14) = 0x11b53;
    var_19 = var_47(*(int *)(var_65 + -0x10));
    if (var_19 < 0) {
      *(type_3 *)(var_65 + -4) = 0x11b63;
      piVar10 = var_43();
      *(type_3 *)(var_65 + -4) = extraout_EDX_05;
      *(type_5 **)(var_65 + -8) = &DAT_0002b12a;
      *(int *)(var_65 + -0xc) = *piVar10;
      *(type_3 *)(var_65 + -0x10) = 0;
      *(type_3 *)(var_65 + -0x14) = 0x11b74;
      var_14();
      var_63 = 0;
    }
  }
  return (type_4)(var_63 ^ 1);
}


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

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

byte MASKED(int param_1,undefined4 *param_2)

{
  char cVar1;
  FILE *pFVar2;
  undefined4 *puVar3;
  byte bVar4;
  int iVar5;
  undefined **ppuVar6;
  size_t sVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  char *pcVar10;
  int *piVar11;
  uint uVar12;
  int iVar13;
  undefined4 extraout_ECX;
  int extraout_EDX;
  int extraout_EDX_00;
  int extraout_EDX_01;
  int extraout_EDX_02;
  int extraout_EDX_03;
  char *pcVar14;
  int extraout_EDX_04;
  undefined4 extraout_EDX_05;
  int extraout_EDX_06;
  int extraout_EDX_07;
  undefined1 *puVar15;
  undefined1 *puVar16;
  byte *pbVar17;
  byte *pbVar18;
  bool bVar19;
  bool bVar20;
  byte bVar21;
  __off64_t _Var22;
  int aiStack_74 [5];
  undefined1 auStack_50 [4];
  char *local_4c;
  int local_48;
  byte *local_44;
  byte local_3d;
  int local_3c;
  undefined **local_38;
  byte *local_34;
  FILE *local_30;
  int local_2c;
  undefined8 local_28;
  undefined4 *local_18;
  
  puVar3 = param_2;
  bVar21 = 0;
  local_18 = &param_1;
  local_2c = param_1;
  FUN_00012a70(*param_2);
  setlocale(6,"");
  bindtextdomain("coreutils","/usr/share/locale");
  textdomain("coreutils");
  FUN_00029610(PTR_FUN_00032fc8);
  DAT_00035334 = 1;
  DAT_00035338 = "\n";
  local_28 = CONCAT44(local_28._4_4_,&DAT_0002a0f7);
  local_30 = (FILE *)&DAT_000354c8;
  DAT_00035330 = 1;
  puVar15 = auStack_50;
  while( true ) {
    *(undefined4 *)(puVar15 + -0x10) = 0;
    *(undefined ***)(puVar15 + -0x14) = &PTR_s_before_00032e60;
    *(uint *)(puVar15 + -0x18) = (uint)local_28;
    *(undefined4 **)(puVar15 + -0x1c) = puVar3;
    *(int *)(puVar15 + -0x20) = local_2c;
    *(undefined4 *)(puVar15 + -0x24) = 0x11591;
    iVar5 = FUN_00016760();
    if (iVar5 == -1) break;
    puVar16 = puVar15;
    if (iVar5 == 0x62) {
LAB_00011640:
      DAT_00035334 = 0;
      puVar15 = puVar16;
    }
    else {
      if (iVar5 < 99) {
        local_28 = CONCAT44(local_28._4_4_,iVar5);
        if (iVar5 == -0x83) {
          *(undefined4 *)(puVar15 + -8) = 0;
          *(char **)(puVar15 + -0xc) = "David MacKenzie";
          *(char **)(puVar15 + -0x10) = "Jay Lepreau";
          *(undefined **)(puVar15 + -0x14) = PTR_DAT_00033148;
          *(char **)(puVar15 + -0x18) = "GNU coreutils";
          *(undefined1 **)(puVar15 + -0x1c) = &DAT_0002a038;
          *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)PTR_stdout_00032fd0;
          *(undefined4 *)(puVar15 + -0x24) = 0x11600;
          FUN_000153f0();
          *(undefined4 *)(puVar15 + -0x10) = 0;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar15 + -0x14) = &UNK_0001160a;
          exit(*(int *)(puVar15 + -0x10));
        }
        if (iVar5 != -0x82) goto LAB_00011c4c;
        puVar16 = puVar15 + -0x10;
        *(undefined4 *)(puVar15 + -0x10) = 0;
        *(undefined4 *)(puVar15 + -0x14) = 0x1163e;
        FUN_00012510();
        goto LAB_00011640;
      }
      if (iVar5 == 0x72) {
        DAT_00035330 = 0;
      }
      else {
        if (iVar5 != 0x73) {
LAB_00011c4c:
          *(undefined4 *)(puVar15 + -0x10) = 1;
          *(undefined4 *)(puVar15 + -0x14) = 0x11c56;
          DAT_00035324 = FUN_00012510();
          puVar15 = puVar15 + -0x10;
          goto LAB_00011c56;
        }
        DAT_00035338 = (char *)local_30->_flags;
      }
    }
  }
  local_28 = CONCAT44(local_28._4_4_,0xffffffff);
  if (DAT_00035330 == 0) {
    if (*DAT_00035338 == '\0') {
      *(undefined4 **)(puVar15 + -4) = puVar3;
      *(undefined4 *)(puVar15 + -8) = 5;
      *(char **)(puVar15 + -0xc) = "separator cannot be empty";
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x11c72;
      uVar9 = dcgettext();
      *(undefined4 *)(puVar15 + -8) = uVar9;
      *(undefined4 *)(puVar15 + -0xc) = 0;
      puVar16 = puVar15 + -0x10;
      *(undefined4 *)(puVar15 + -0x10) = 1;
      *(undefined4 *)(puVar15 + -0x14) = 0x11c7f;
      iVar5 = error();
LAB_00011c7f:
      *(int *)(puVar16 + -4) = iVar5;
      *(char **)(puVar16 + -8) = "%s";
      *(undefined4 *)(puVar16 + -0xc) = 0;
      puVar15 = puVar16 + -0x10;
      *(undefined4 *)(puVar16 + -0x10) = 1;
      *(undefined4 *)(puVar16 + -0x14) = 0x11c90;
      error();
      iVar5 = extraout_EDX_07;
      goto LAB_00011c90;
    }
    DAT_00035300 = 0;
    DAT_00035310 = &DAT_00035200;
    DAT_00035304 = 0;
    DAT_00035314 = 0;
    uVar12 = 0xffffffff;
    pcVar14 = DAT_00035338;
    do {
      if (uVar12 == 0) break;
      uVar12 = uVar12 - 1;
      cVar1 = *pcVar14;
      pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;
    } while (cVar1 != '\0');
    *(uint *)(puVar15 + -4) = ~uVar12;
    *(undefined4 **)(puVar15 + -8) = &DAT_00035300;
    *(uint *)(puVar15 + -0xc) = ~uVar12 - 1;
    *(char **)(puVar15 + -0x10) = DAT_00035338;
    *(undefined4 *)(puVar15 + -0x14) = 0x116b6;
    iVar5 = FUN_00027c20();
    puVar16 = puVar15;
    if (iVar5 != 0) goto LAB_00011c7f;
  }
  else {
    DAT_0003532c = 1;
    DAT_00035330 = DAT_0003532c;
    if (*DAT_00035338 != '\0') {
      uVar12 = 0xffffffff;
      pcVar14 = DAT_00035338;
      do {
        if (uVar12 == 0) break;
        uVar12 = uVar12 - 1;
        cVar1 = *pcVar14;
        pcVar14 = pcVar14 + (uint)bVar21 * -2 + 1;
      } while (cVar1 != '\0');
      DAT_0003532c = ~uVar12 - 1;
      DAT_00035330 = DAT_0003532c;
    }
  }
  iVar5 = 0x12;
  DAT_00035324 = 0x2000;
  uVar12 = 0x2000;
  if (0xfff < DAT_00035330) {
    while (DAT_00035324 = uVar12 * 2, (uVar12 & 0x7fffffff) <= DAT_00035330) {
      iVar5 = iVar5 + -1;
      uVar12 = DAT_00035324;
      if (iVar5 == 0) {
LAB_00011c56:
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar15 + -4) = 0x11c61;
        FUN_000157c0();
      }
    }
  }
  uVar12 = DAT_00035324 + 1 + DAT_00035330;
  DAT_00035320 = uVar12 * 2;
  if (uVar12 <= DAT_00035324 || DAT_00035320 <= uVar12) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar15 + -4) = 0x11c9c;
    FUN_000157c0();
  }
  *(uint *)(puVar15 + -0x10) = DAT_00035320;
  *(undefined4 *)(puVar15 + -0x14) = 0x1172d;
  iVar5 = FUN_000154c0();
  if (DAT_00035330 == 0) {
    DAT_00035328 = iVar5 + 1;
    iVar5 = 0;
  }
  else {
    local_28 = CONCAT44(local_28._4_4_,DAT_00035330);
    *(uint *)(puVar15 + -4) = DAT_00035330;
    *(uint *)(puVar15 + -8) = DAT_00035330 + 1;
    *(char **)(puVar15 + -0xc) = DAT_00035338;
    *(int *)(puVar15 + -0x10) = iVar5;
    *(undefined4 *)(puVar15 + -0x14) = 0x11b94;
    DAT_00035328 = iVar5;
    memcpy(*(void **)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),*(size_t *)(puVar15 + -8));
    DAT_00035328 = iVar5 + (uint)local_28;
    iVar5 = (uint)local_28;
  }
  if (DAT_000331a8 < local_2c) {
    ppuVar6 = (undefined **)(puVar3 + DAT_000331a8);
    local_34 = *ppuVar6;
    if (*ppuVar6 == (byte *)0x0) {
      local_3d = 1;
      goto LAB_00011970;
    }
    local_44 = &DAT_0002b12a;
  }
  else {
    ppuVar6 = &PTR_DAT_00032e40;
    local_44 = &DAT_0002b12a;
    local_34 = &DAT_0002b12a;
  }
  local_44 = &DAT_0002b12a;
  bVar19 = (undefined **)0xfffffffb < ppuVar6;
  bVar20 = ppuVar6 + 1 == (undefined **)0x0;
  local_3d = 1;
  local_38 = ppuVar6 + 1;
  local_4c = "%s: read error";
  do {
    iVar13 = 2;
    pbVar17 = local_34;
    pbVar18 = local_44;
    do {
      if (iVar13 == 0) break;
      iVar13 = iVar13 + -1;
      bVar19 = *pbVar17 < *pbVar18;
      bVar20 = *pbVar17 == *pbVar18;
      pbVar17 = pbVar17 + (uint)bVar21 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar21 * -2 + 1;
    } while (bVar20);
    local_3c = (int)(char)((!bVar19 && !bVar20) - bVar19);
    if (local_3c == 0) {
      *(int *)(puVar15 + -4) = iVar13;
      *(undefined4 *)(puVar15 + -8) = 5;
      *(char **)(puVar15 + -0xc) = "standard input";
      *(undefined4 *)(puVar15 + -0x10) = 0;
      DAT_00035335 = '\x01';
      *(undefined4 *)(puVar15 + -0x14) = 0x11808;
      local_34 = (byte *)dcgettext();
      local_2c = 0;
LAB_00011815:
      *(undefined4 *)(puVar15 + -4) = 2;
      *(undefined4 *)(puVar15 + -8) = 0;
      *(undefined4 *)(puVar15 + -0xc) = 0;
      *(int *)(puVar15 + -0x10) = local_2c;
      *(undefined4 *)(puVar15 + -0x14) = 0x11823;
      _Var22 = lseek64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc),
                       *(int *)(puVar15 + -4));
      if (_Var22 < 0) {
LAB_0001184e:
        pFVar2 = DAT_000351e4;
        if (DAT_000351e8 == 0) {
          *(char **)(puVar15 + -0x10) = "TMPDIR";
          *(undefined4 *)(puVar15 + -0x14) = 0x11aa7;
          pcVar10 = getenv(*(char **)(puVar15 + -0x10));
          pcVar14 = pcVar10;
          if (pcVar10 == (char *)0x0) {
            pcVar14 = "/tmp";
          }
          *(char **)(puVar15 + -4) = pcVar10;
          *(undefined4 *)(puVar15 + -8) = 0;
          *(char **)(puVar15 + -0xc) = "tacXXXXXX";
          *(char **)(puVar15 + -0x10) = pcVar14;
          local_28 = CONCAT44(local_28._4_4_,pcVar14);
          *(undefined4 *)(puVar15 + -0x14) = 0x11ac7;
          DAT_000351e8 = FUN_00012950();
          *(int *)(puVar15 + -0x10) = DAT_000351e8;
          *(undefined4 *)(puVar15 + -0x14) = 0x11ad5;
          iVar5 = FUN_00014de0();
          uVar9 = (uint)local_28;
          if (iVar5 < 0) {
            *(int *)(puVar15 + -4) = iVar5;
            *(int *)(puVar15 + -8) = iVar5;
            *(undefined4 *)(puVar15 + -0xc) = uVar9;
            *(undefined4 *)(puVar15 + -0x10) = 4;
            *(undefined4 *)(puVar15 + -0x14) = 0x11bb1;
            uVar9 = FUN_000148c0();
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "failed to create temporary file in %s";
            *(undefined4 *)(puVar15 + -0x10) = 0;
            *(undefined4 *)(puVar15 + -0x14) = 0x11bc6;
            uVar8 = dcgettext();
            *(undefined4 *)(puVar15 + -0x14) = 0x11bcd;
            piVar11 = __errno_location();
            *(undefined4 *)(puVar15 + -0x14) = uVar9;
            *(undefined4 *)(puVar15 + -0x18) = uVar8;
            *(int *)(puVar15 + -0x1c) = *piVar11;
            *(undefined4 *)(puVar15 + -0x20) = 0;
            *(undefined4 *)(puVar15 + -0x24) = 0x11bd8;
            error();
          }
          else {
            *(int *)(puVar15 + -4) = iVar5;
            *(int *)(puVar15 + -8) = iVar5;
            *(undefined **)(puVar15 + -0xc) = &DAT_0002a14a;
            *(int *)(puVar15 + -0x10) = iVar5;
            *(undefined4 *)(puVar15 + -0x14) = 0x11af4;
            DAT_000351e4 = fdopen(*(int *)(puVar15 + -0x10),*(char **)(puVar15 + -0xc));
            if (DAT_000351e4 != (FILE *)0x0) {
              *(int *)(puVar15 + -0x10) = DAT_000351e8;
              *(undefined4 *)(puVar15 + -0x14) = 0x11b14;
              unlink(*(char **)(puVar15 + -0x10));
              goto LAB_000118a7;
            }
            *(undefined4 *)(puVar15 + -4) = 0;
            *(undefined4 *)(puVar15 + -8) = 0;
            *(int *)(puVar15 + -0xc) = DAT_000351e8;
            *(undefined4 *)(puVar15 + -0x10) = 4;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c07;
            uVar9 = FUN_000148c0();
            local_28 = CONCAT44(local_28._4_4_,uVar9);
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "failed to open %s for writing";
            *(undefined4 *)(puVar15 + -0x10) = 0;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c1d;
            uVar9 = dcgettext();
            *(undefined4 *)(puVar15 + -0x14) = 0x11c24;
            piVar11 = __errno_location();
            *(uint *)(puVar15 + -0x14) = (uint)local_28;
            *(undefined4 *)(puVar15 + -0x18) = uVar9;
            *(int *)(puVar15 + -0x1c) = *piVar11;
            *(undefined4 *)(puVar15 + -0x20) = 0;
            *(undefined4 *)(puVar15 + -0x24) = 0x11c32;
            error();
            *(int *)(puVar15 + -0x10) = iVar5;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c3b;
            close(*(int *)(puVar15 + -0x10));
            *(int *)(puVar15 + -0x10) = DAT_000351e8;
            *(undefined4 *)(puVar15 + -0x14) = 0x11c47;
            unlink(*(char **)(puVar15 + -0x10));
          }
          *(int *)(puVar15 + -0x10) = DAT_000351e8;
          bVar4 = 0;
          *(undefined4 *)(puVar15 + -0x14) = 0x11beb;
          free(*(void **)(puVar15 + -0x10));
          DAT_000351e8 = 0;
          iVar5 = extraout_EDX_06;
        }
        else {
          *(FILE **)(puVar15 + -0x10) = DAT_000351e4;
          *(undefined4 *)(puVar15 + -0x14) = 0x1186a;
          clearerr_unlocked(*(FILE **)(puVar15 + -0x10));
          *(undefined4 *)(puVar15 + -0x14) = 0;
          *(undefined4 *)(puVar15 + -0x18) = 0;
          *(undefined4 *)(puVar15 + -0x1c) = 0;
          *(FILE **)(puVar15 + -0x20) = pFVar2;
          *(undefined4 *)(puVar15 + -0x24) = 0x11876;
          iVar5 = FUN_00015800();
          if (iVar5 < 0) {
LAB_00011a5c:
            *(int *)(puVar15 + -4) = iVar5;
            *(int *)(puVar15 + -8) = iVar5;
            *(int *)(puVar15 + -0xc) = DAT_000351e8;
            *(undefined4 *)(puVar15 + -0x10) = 4;
            *(undefined4 *)(puVar15 + -0x14) = 0x11a6b;
            uVar9 = FUN_000148c0();
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "failed to rewind stream for %s";
          }
          else {
            *(FILE **)(puVar15 + -0x10) = DAT_000351e4;
            *(undefined4 *)(puVar15 + -0x14) = 0x1188f;
            iVar5 = fileno(*(FILE **)(puVar15 + -0x10));
            *(undefined4 *)(puVar15 + -8) = 0;
            *(undefined4 *)(puVar15 + -0xc) = 0;
            *(int *)(puVar15 + -0x10) = iVar5;
            *(undefined4 *)(puVar15 + -0x14) = 0x1189c;
            iVar5 = ftruncate64(*(int *)(puVar15 + -0x10),*(__off64_t *)(puVar15 + -0xc));
            if (iVar5 < 0) goto LAB_00011a5c;
LAB_000118a7:
            local_30 = DAT_000351e4;
            uVar12 = 0;
            iVar13 = 0;
            local_48 = DAT_000351e8;
            while( true ) {
              *(uint *)(puVar15 + -8) = DAT_00035324;
              *(int *)(puVar15 + -0xc) = DAT_00035328;
              *(int *)(puVar15 + -0x10) = local_2c;
              *(undefined4 *)(puVar15 + -0x14) = 0x1190a;
              iVar5 = FUN_00014d70();
              if (iVar5 == 0) break;
              if (iVar5 == -1) {
                *(int *)(puVar15 + -4) = iVar13;
                *(byte **)(puVar15 + -8) = local_34;
                *(undefined4 *)(puVar15 + -0xc) = 3;
                *(undefined4 *)(puVar15 + -0x10) = 0;
                *(undefined4 *)(puVar15 + -0x14) = 0x11a2f;
                uVar9 = FUN_00014a80();
                *(undefined4 *)(puVar15 + -8) = 5;
                *(char **)(puVar15 + -0xc) = local_4c;
                goto LAB_00011a39;
              }
              *(FILE **)(puVar15 + -4) = local_30;
              *(int *)(puVar15 + -8) = iVar5;
              *(undefined4 *)(puVar15 + -0xc) = 1;
              *(int *)(puVar15 + -0x10) = DAT_00035328;
              local_28 = CONCAT44(local_28._4_4_,iVar5);
              *(undefined4 *)(puVar15 + -0x14) = 0x118dd;
              sVar7 = fwrite_unlocked(*(void **)(puVar15 + -0x10),*(size_t *)(puVar15 + -0xc),
                                      *(size_t *)(puVar15 + -8),*(FILE **)(puVar15 + -4));
              if ((uint)local_28 != sVar7) goto LAB_00011a7b;
              bVar19 = CARRY4(uVar12,(uint)local_28);
              uVar12 = uVar12 + (uint)local_28;
              iVar13 = iVar13 + (uint)bVar19;
            }
            *(FILE **)(puVar15 + -0x10) = local_30;
            *(undefined4 *)(puVar15 + -0x14) = 0x1191c;
            iVar5 = fflush_unlocked(*(FILE **)(puVar15 + -0x10));
            if (iVar5 == 0) {
              iVar5 = extraout_EDX;
              if (iVar13 < 0) {
LAB_00011c90:
                bVar4 = 0;
              }
              else {
                *(FILE **)(puVar15 + -0x10) = local_30;
                *(undefined4 *)(puVar15 + -0x14) = 0x1193a;
                fileno(*(FILE **)(puVar15 + -0x10));
                *(int *)(puVar15 + -0xc) = iVar13;
                *(uint *)(puVar15 + -0x10) = uVar12;
                *(undefined4 *)(puVar15 + -0x14) = 0x11946;
                bVar4 = FUN_00011f20();
                iVar5 = extraout_EDX_00;
              }
              goto LAB_0001194b;
            }
LAB_00011a7b:
            *(uint *)(puVar15 + -4) = uVar12;
            *(int *)(puVar15 + -8) = local_48;
            *(undefined4 *)(puVar15 + -0xc) = 3;
            *(undefined4 *)(puVar15 + -0x10) = 0;
            *(undefined4 *)(puVar15 + -0x14) = 0x11a88;
            uVar9 = FUN_00014a80();
            *(undefined4 *)(puVar15 + -8) = 5;
            *(char **)(puVar15 + -0xc) = "%s: write error";
          }
LAB_00011a39:
          *(undefined4 *)(puVar15 + -0x10) = 0;
          *(undefined4 *)(puVar15 + -0x14) = 0x11a40;
          uVar8 = dcgettext();
          *(undefined4 *)(puVar15 + -0x14) = 0x11a47;
          piVar11 = __errno_location();
          *(undefined4 *)(puVar15 + -0x14) = uVar9;
          *(undefined4 *)(puVar15 + -0x18) = uVar8;
          bVar4 = 0;
          *(int *)(puVar15 + -0x1c) = *piVar11;
          *(undefined4 *)(puVar15 + -0x20) = 0;
          *(undefined4 *)(puVar15 + -0x24) = 0x11a54;
          error();
          iVar5 = extraout_EDX_03;
        }
      }
      else {
        *(int *)(puVar15 + -0x10) = local_2c;
        local_28 = _Var22;
        *(undefined4 *)(puVar15 + -0x14) = 0x1183d;
        iVar5 = isatty(*(int *)(puVar15 + -0x10));
        uVar9 = (uint)local_28;
        uVar8 = local_28._4_4_;
        if (iVar5 != 0) goto LAB_0001184e;
        *(undefined4 *)(puVar15 + -4) = 0;
        *(undefined4 *)(puVar15 + -8) = 0;
        *(undefined4 *)(puVar15 + -0xc) = uVar8;
        *(undefined4 *)(puVar15 + -0x10) = uVar9;
        *(undefined4 *)(puVar15 + -0x14) = 0x11b2b;
        bVar4 = FUN_00011f20();
        iVar5 = extraout_EDX_04;
      }
LAB_0001194b:
      if (local_3c != 0) {
        *(int *)(puVar15 + -0x10) = local_2c;
        *(undefined4 *)(puVar15 + -0x14) = 0x119fe;
        iVar13 = close(*(int *)(puVar15 + -0x10));
        iVar5 = extraout_EDX_02;
        if (iVar13 != 0) {
          *(undefined4 *)(puVar15 + -4) = extraout_ECX;
          *(byte **)(puVar15 + -8) = local_34;
          *(undefined4 *)(puVar15 + -0xc) = 3;
          *(undefined4 *)(puVar15 + -0x10) = 0;
          *(undefined4 *)(puVar15 + -0x14) = 0x11a16;
          uVar9 = FUN_00014a80();
          *(undefined4 *)(puVar15 + -8) = 5;
          *(char **)(puVar15 + -0xc) = local_4c;
          goto LAB_000119d0;
        }
      }
    }
    else {
      *(int *)(puVar15 + -4) = iVar5;
      *(int *)(puVar15 + -8) = iVar5;
      *(undefined4 *)(puVar15 + -0xc) = 0;
      *(byte **)(puVar15 + -0x10) = local_34;
      *(undefined4 *)(puVar15 + -0x14) = 0x119a8;
      iVar5 = open64(*(char **)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));
      local_2c = iVar5;
      if (-1 < iVar5) goto LAB_00011815;
      *(int *)(puVar15 + -4) = iVar5;
      *(int *)(puVar15 + -8) = iVar5;
      *(byte **)(puVar15 + -0xc) = local_34;
      *(undefined4 *)(puVar15 + -0x10) = 4;
      *(undefined4 *)(puVar15 + -0x14) = 0x119c2;
      uVar9 = FUN_000148c0();
      *(undefined4 *)(puVar15 + -8) = 5;
      *(char **)(puVar15 + -0xc) = "failed to open %s for reading";
LAB_000119d0:
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x119d7;
      uVar8 = dcgettext();
      *(undefined4 *)(puVar15 + -0x14) = 0x119de;
      piVar11 = __errno_location();
      *(undefined4 *)(puVar15 + -0x14) = uVar9;
      *(undefined4 *)(puVar15 + -0x18) = uVar8;
      bVar4 = 0;
      *(int *)(puVar15 + -0x1c) = *piVar11;
      *(undefined4 *)(puVar15 + -0x20) = 0;
      *(undefined4 *)(puVar15 + -0x24) = 0x119eb;
      error();
      iVar5 = extraout_EDX_01;
    }
    ppuVar6 = local_38;
    local_38 = local_38 + 1;
    local_3d = local_3d & bVar4;
    local_34 = *ppuVar6;
    bVar19 = false;
    bVar20 = *ppuVar6 == (byte *)0x0;
  } while (!bVar20);
LAB_00011970:
  *(undefined4 *)(puVar15 + -4) = 0x11979;
  FUN_00011e20();
  if (DAT_00035335 != '\0') {
    *(undefined4 *)(puVar15 + -0x10) = 0;
    *(undefined4 *)(puVar15 + -0x14) = 0x11b53;
    iVar5 = close(*(int *)(puVar15 + -0x10));
    if (iVar5 < 0) {
      *(undefined4 *)(puVar15 + -4) = 0x11b63;
      piVar11 = __errno_location();
      *(undefined4 *)(puVar15 + -4) = extraout_EDX_05;
      *(undefined1 **)(puVar15 + -8) = &DAT_0002b12a;
      *(int *)(puVar15 + -0xc) = *piVar11;
      *(undefined4 *)(puVar15 + -0x10) = 0;
      *(undefined4 *)(puVar15 + -0x14) = 0x11b74;
      error();
      local_3d = 0;
    }
  }
  return local_3d ^ 1;
}

