
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void treat_stdin(void)

{
  int iVar1;
  int iVar2;
  undefined *puVar3;
  char *pcVar4;
  
  iVar2 = list;
  if ((list == 0 && force == 0) &&
     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))) {
    if (quiet == 0) {
      if (decompress == 0) {
        puVar3 = &DAT_00023705;
        pcVar4 = "written to";
      }
      else {
        puVar3 = &DAT_00022c9d;
        pcVar4 = "read from";
      }
      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,
                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"
                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);
    }
  }
  else {
    ifname = 0x69647473;
    DAT_0002cf04 = 0x6e;
    ofname = 0x6f647473;
    DAT_00061b64 = 0x7475;
    DAT_00061b66 = 0;
    iVar1 = __fxstat64(3,0,(stat64 *)&istat);
    if (iVar1 == 0) {
      if ((istat.st_mode & 0xf000) == 0x8000) {
        ifile_size._0_4_ = (undefined4)istat.st_size;
        ifile_size._4_4_ = istat.st_size._4_4_;
        time_stamp.tv_nsec = -1;
        if ((no_time == 0) || (iVar2 != 0)) {
          time_stamp.tv_sec = istat.st_mtim.tv_sec;
          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;
        }
      }
      else {
        ifile_size._4_4_ = 0xffffffff;
        ifile_size._0_4_ = 0xffffffff;
        time_stamp.tv_nsec = -1;
        if ((no_time == 0) || (iVar2 != 0)) {
          gettime(&time_stamp);
        }
      }
      clear_bufs();
      to_stdout = 1;
      part_nb = 0;
      ifd = 0;
      stdin_was_read = true;
      if ((decompress != 0) && (method = get_method(0), method < 0)) {
                    /* WARNING: Subroutine does not return */
        do_exit(exit_code);
      }
      if (list != 0) {
        do_list(ifd,method);
        return;
      }
      while( true ) {
        iVar2 = (*work)(0,1);
        if (iVar2 != 0) {
          return;
        }
        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;
        method = get_method(ifd);
        if (method < 0) {
          return;
        }
        bytes_out._0_4_ = 0;
        bytes_out._4_4_ = 0;
      }
      puVar3 = PTR_stderr_00028fc8;
      if (verbose == 0) {
        return;
      }
      if (test == 0) {
        if (decompress != 0) {
          return;
        }
        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -
                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +
                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),
                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),
                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);
        rpl_fprintf(*(FILE **)puVar3,"\n");
        return;
      }
      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");
      return;
    }
    progerror("standard input");
  }
                    /* WARNING: Subroutine does not return */
  do_exit(1);
}



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

void FUN_00015a70(void)

{
  int iVar1;
  int iVar2;
  undefined *puVar3;
  char *pcVar4;
  
  iVar2 = DAT_00029a18;
  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&
     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {
    if (DAT_000294ec == 0) {
      if (DAT_00029a28 == 0) {
        puVar3 = &DAT_00023705;
        pcVar4 = "written to";
      }
      else {
        puVar3 = &DAT_00022c9d;
        pcVar4 = "read from";
      }
      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,
                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"
                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);
    }
  }
  else {
    DAT_0002cf00 = 0x69647473;
    DAT_0002cf04 = 0x6e;
    DAT_00061b60 = 0x6f647473;
    DAT_00061b64 = 0x7475;
    DAT_00061b66 = 0;
    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);
    if (iVar1 == 0) {
      if ((DAT_00029510 & 0xf000) == 0x8000) {
        DAT_0005d330 = DAT_0002952c;
        DAT_0005d334 = DAT_00029530;
        DAT_00071f70 = 0xffffffff;
        if ((DAT_00029160 == 0) || (iVar2 != 0)) {
          DAT_00071f6c = DAT_00029548;
          DAT_00071f70 = DAT_0002954c;
        }
      }
      else {
        DAT_0005d334 = 0xffffffff;
        DAT_0005d330 = 0xffffffff;
        DAT_00071f70 = 0xffffffff;
        if ((DAT_00029160 == 0) || (iVar2 != 0)) {
          FUN_0001d480(&DAT_00071f6c);
        }
      }
      FUN_0001c400();
      DAT_000294f4 = 1;
      DAT_00029a0c = 0;
      DAT_00061b40 = 0;
      DAT_00029970 = 1;
      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {
                    /* WARNING: Subroutine does not return */
        FUN_00015940();
      }
      if (DAT_00029a18 != 0) {
        FUN_00015450();
        return;
      }
      while( true ) {
        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);
        if (iVar2 != 0) {
          return;
        }
        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))
        break;
        DAT_00029158 = FUN_00014610();
        if (DAT_00029158 < 0) {
          return;
        }
        DAT_00071f60 = 0;
        DAT_00071f64 = 0;
      }
      puVar3 = PTR_stderr_00028fc8;
      if (DAT_000294f0 == 0) {
        return;
      }
      if (DAT_000294e8 == 0) {
        if (DAT_00029a28 != 0) {
          return;
        }
        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,
                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +
                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),
                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);
        FUN_0001e830(*(undefined4 *)puVar3,"\n");
        return;
      }
      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);
      return;
    }
    FUN_000143e0();
  }
                    /* WARNING: Subroutine does not return */
  FUN_00015940();
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00012e10
ADD EBX,0x13588
MOV ESI,dword ptr [EBX + 0xa18]
MOV EAX,ESI
OR EAX,dword ptr [EBX + 0xa24]
JNZ 0x00015abc
CMP byte ptr [EBX + 0xa31],0x0
JNZ 0x00015d19
MOV EDI,dword ptr [EBX + 0xa28]
SUB ESP,0xc
XOR EAX,EAX
TEST EDI,EDI
SETZ AL
PUSH EAX
CALL 0x00012400
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00015d19
LEA EAX,[EBX + 0x3f00]
MOV EDX,0x6e
MOV ECX,0x7475
SUB ESP,0x4
MOV dword ptr [EAX],0x69647473
MOV word ptr [EAX + 0x4],DX
LEA EAX,[EBX + 0x38b60]
MOV dword ptr [EAX],0x6f647473
MOV word ptr [EAX + 0x4],CX
MOV byte ptr [EAX + 0x6],0x0
LEA EAX,[EBX + 0x500]
PUSH EAX
PUSH 0x0
PUSH 0x3
CALL 0x000121f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00015d66
MOV EAX,dword ptr [EBX + 0x510]
MOV ECX,dword ptr [EBX + 0x160]
AND EAX,0xf000
CMP EAX,0x8000
JZ 0x00015ca0
LEA EAX,[EBX + 0x34330]
MOV dword ptr [EAX + 0x4],0xffffffff
MOV dword ptr [EAX],0xffffffff
LEA EAX,[EBX + 0x48f6c]
MOV dword ptr [EAX + 0x4],0xffffffff
TEST ECX,ECX
JNZ 0x00015c00
SUB ESP,0xc
PUSH EAX
CALL 0x0001d480
ADD ESP,0x10
CALL 0x0001c400
LEA ESI,[EBX + 0x38b40]
MOV EAX,dword ptr [EBX + 0xa28]
MOV dword ptr [EBX + 0x4f4],0x1
MOV dword ptr [EBX + 0xa0c],0x0
MOV dword ptr [ESI],0x0
MOV byte ptr [EBX + 0x970],0x1
TEST EAX,EAX
JNZ 0x00015ce0
MOV EAX,dword ptr [EBX + 0xa18]
LEA EDI,[EBX + 0x48f60]
TEST EAX,EAX
JNZ 0x00015d00
SUB ESP,0x8
PUSH 0x1
PUSH 0x0
CALL dword ptr [EBX + 0x1c0]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00015c2a
MOV EAX,dword ptr [EBX + 0xa28]
TEST EAX,EAX
JZ 0x00015c30
MOV EAX,dword ptr [EBX + 0xa10]
TEST EAX,EAX
JNZ 0x00015c30
CALL 0x00015a00
TEST EAX,EAX
JNZ 0x00015c30
MOV EAX,dword ptr [ESI]
CALL 0x00014610
MOV dword ptr [EBX + 0x158],EAX
TEST EAX,EAX
JS 0x00015c2a
MOV dword ptr [EDI],0x0
MOV dword ptr [EDI + 0x4],0x0
JMP 0x00015ba6
TEST ESI,ESI
JZ 0x00015b58
JMP 0x00015b4c
SUB ESP,0x8
LEA EAX,[EBX + 0xffff9cb9]
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffc8]
PUSH dword ptr [EAX]
CALL 0x0001e830
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
MOV ECX,dword ptr [EBX + 0x4f0]
TEST ECX,ECX
JZ 0x00015c2a
MOV EDX,dword ptr [EBX + 0x4e8]
TEST EDX,EDX
JNZ 0x00015c10
MOV EAX,dword ptr [EBX + 0xa28]
TEST EAX,EAX
JNZ 0x00015c2a
LEA EAX,[EBX + 0x4300]
LEA ECX,[EBX + 0x48f60]
SUB ESP,0xc
MOV ESI,dword ptr [EBX + 0xffffffc8]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [ESI]
PUSH EDX
PUSH EAX
SUB EAX,dword ptr [ECX]
SBB EDX,dword ptr [ECX + 0x4]
LEA ECX,[EBX + 0x50fc0]
ADD EAX,dword ptr [ECX]
ADC EDX,dword ptr [ECX + 0x4]
PUSH EDX
PUSH EAX
CALL 0x0001cc40
ADD ESP,0x18
LEA EAX,[EBX + 0xffff9e05]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x0001e830
ADD ESP,0x10
JMP 0x00015c2a
LEA EDI,[EBX + 0x34330]
MOV EAX,dword ptr [EBX + 0x52c]
MOV EDX,dword ptr [EBX + 0x530]
MOV dword ptr [EDI],EAX
LEA EAX,[EBX + 0x48f6c]
MOV dword ptr [EDI + 0x4],EDX
MOV dword ptr [EAX + 0x4],0xffffffff
TEST ECX,ECX
JNZ 0x00015d10
MOV EDX,dword ptr [EBX + 0x548]
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [EBX + 0x54c]
MOV dword ptr [EAX + 0x4],EDX
JMP 0x00015b58
XOR EAX,EAX
CALL 0x00014610
MOV dword ptr [EBX + 0x158],EAX
TEST EAX,EAX
JNS 0x00015b92
MOV EAX,dword ptr [EBX + 0x4e4]
CALL 0x00015940
MOV EDX,dword ptr [EBX + 0x158]
MOV EAX,dword ptr [ESI]
POP EBX
POP ESI
POP EDI
JMP 0x00015450
TEST ESI,ESI
JNZ 0x00015cc8
JMP 0x00015b58
CMP dword ptr [EBX + 0x4ec],0x0
JNZ 0x00015d5c
LEA EAX,[EBX + 0x48f68]
CMP dword ptr [EBX + 0xa28],0x0
MOV EAX,dword ptr [EAX]
JZ 0x00015d73
LEA ECX,[EBX + 0xffff9c9d]
LEA EDX,[EBX + 0xffff9ca0]
PUSH ESI
PUSH ESI
PUSH EAX
PUSH ECX
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffff92a4]
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffc8]
PUSH dword ptr [EAX]
CALL 0x0001e830
ADD ESP,0x20
MOV EAX,0x1
CALL 0x00015940
LEA EAX,[EBX + 0xffff9caa]
CALL 0x000143e0
JMP 0x00015d5c
LEA ECX,[EBX + 0xffffa705]
LEA EDX,[EBX + 0xffff9c92]
JMP 0x00015d3f
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00015a70(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00015940();\n}\n\n" comment (function_definition "void FUN_00015a70(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00015940();\n}" primitive_type (function_declarator "FUN_00015a70(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00015940();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "iVar2 = DAT_00029a18;" (assignment_expression "iVar2 = DAT_00029a18" identifier = identifier) ;) (if_statement "if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" if (parenthesized_expression "((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0))))" ( (binary_expression "(DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))" (parenthesized_expression "(DAT_00029a18 == 0 && DAT_00029a24 == 0)" ( (binary_expression "DAT_00029a18 == 0 && DAT_00029a24 == 0" (binary_expression "DAT_00029a18 == 0" identifier == number_literal) && (binary_expression "DAT_00029a24 == 0" identifier == number_literal)) )) && (parenthesized_expression "((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))" ( (parenthesized_expression "(DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0))" ( (binary_expression "DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)" (binary_expression "DAT_00029a31 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)" ( (comma_expression "iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0" (assignment_expression "iVar1 = isatty((uint)(DAT_00029a28 == 0))" identifier = (call_expression "isatty((uint)(DAT_00029a28 == 0))" identifier (argument_list "((uint)(DAT_00029a28 == 0))" ( (call_expression "(uint)(DAT_00029a28 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00029a28 == 0)" ( (binary_expression "DAT_00029a28 == 0" identifier == number_literal) ))) )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }" { (if_statement "if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }" if (parenthesized_expression "(DAT_000294ec == 0)" ( (binary_expression "DAT_000294ec == 0" identifier == number_literal) )) (compound_statement "{\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }" { (if_statement "if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" if (parenthesized_expression "(DAT_00029a28 == 0)" ( (binary_expression "DAT_00029a28 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }" { (expression_statement "puVar3 = &DAT_00023705;" (assignment_expression "puVar3 = &DAT_00023705" identifier = (pointer_expression "&DAT_00023705" & identifier)) ;) (expression_statement "pcVar4 = "written to";" (assignment_expression "pcVar4 = "written to"" identifier = (string_literal ""written to"" " string_content ")) ;) }) (else_clause "else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" else (compound_statement "{\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" { (expression_statement "puVar3 = &DAT_00022c9d;" (assignment_expression "puVar3 = &DAT_00022c9d" identifier = (pointer_expression "&DAT_00022c9d" & identifier)) ;) (expression_statement "pcVar4 = "read from";" (assignment_expression "pcVar4 = "read from"" identifier = (string_literal ""read from"" " string_content ")) ;) }))) (expression_statement "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);" (call_expression "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" * (cast_expression "(undefined4 *)PTR_stderr_00028fc8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" else (compound_statement "{\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" { (expression_statement "DAT_0002cf00 = 0x69647473;" (assignment_expression "DAT_0002cf00 = 0x69647473" identifier = number_literal) ;) (expression_statement "DAT_0002cf04 = 0x6e;" (assignment_expression "DAT_0002cf04 = 0x6e" identifier = number_literal) ;) (expression_statement "DAT_00061b60 = 0x6f647473;" (assignment_expression "DAT_00061b60 = 0x6f647473" identifier = number_literal) ;) (expression_statement "DAT_00061b64 = 0x7475;" (assignment_expression "DAT_00061b64 = 0x7475" identifier = number_literal) ;) (expression_statement "DAT_00061b66 = 0;" (assignment_expression "DAT_00061b66 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);" (assignment_expression "iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500)" identifier = (call_expression "__fxstat64(3,0,(stat64 *)&DAT_00029500)" identifier (argument_list "(3,0,(stat64 *)&DAT_00029500)" ( number_literal , number_literal , (cast_expression "(stat64 *)&DAT_00029500" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00029500" & identifier)) )))) ;) (if_statement "if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }" { (if_statement "if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" if (parenthesized_expression "((DAT_00029510 & 0xf000) == 0x8000)" ( (binary_expression "(DAT_00029510 & 0xf000) == 0x8000" (parenthesized_expression "(DAT_00029510 & 0xf000)" ( (binary_expression "DAT_00029510 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }" { (expression_statement "DAT_0005d330 = DAT_0002952c;" (assignment_expression "DAT_0005d330 = DAT_0002952c" identifier = identifier) ;) (expression_statement "DAT_0005d334 = DAT_00029530;" (assignment_expression "DAT_0005d334 = DAT_00029530" identifier = identifier) ;) (expression_statement "DAT_00071f70 = 0xffffffff;" (assignment_expression "DAT_00071f70 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }" if (parenthesized_expression "((DAT_00029160 == 0) || (iVar2 != 0))" ( (binary_expression "(DAT_00029160 == 0) || (iVar2 != 0)" (parenthesized_expression "(DAT_00029160 == 0)" ( (binary_expression "DAT_00029160 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }" { (expression_statement "DAT_00071f6c = DAT_00029548;" (assignment_expression "DAT_00071f6c = DAT_00029548" identifier = identifier) ;) (expression_statement "DAT_00071f70 = DAT_0002954c;" (assignment_expression "DAT_00071f70 = DAT_0002954c" identifier = identifier) ;) })) }) (else_clause "else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" else (compound_statement "{\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" { (expression_statement "DAT_0005d334 = 0xffffffff;" (assignment_expression "DAT_0005d334 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_0005d330 = 0xffffffff;" (assignment_expression "DAT_0005d330 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_00071f70 = 0xffffffff;" (assignment_expression "DAT_00071f70 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }" if (parenthesized_expression "((DAT_00029160 == 0) || (iVar2 != 0))" ( (binary_expression "(DAT_00029160 == 0) || (iVar2 != 0)" (parenthesized_expression "(DAT_00029160 == 0)" ( (binary_expression "DAT_00029160 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          FUN_0001d480(&DAT_00071f6c);\n        }" { (expression_statement "FUN_0001d480(&DAT_00071f6c);" (call_expression "FUN_0001d480(&DAT_00071f6c)" identifier (argument_list "(&DAT_00071f6c)" ( (pointer_expression "&DAT_00071f6c" & identifier) ))) ;) })) }))) (expression_statement "FUN_0001c400();" (call_expression "FUN_0001c400()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_000294f4 = 1;" (assignment_expression "DAT_000294f4 = 1" identifier = number_literal) ;) (expression_statement "DAT_00029a0c = 0;" (assignment_expression "DAT_00029a0c = 0" identifier = number_literal) ;) (expression_statement "DAT_00061b40 = 0;" (assignment_expression "DAT_00061b40 = 0" identifier = number_literal) ;) (expression_statement "DAT_00029970 = 1;" (assignment_expression "DAT_00029970 = 1" identifier = number_literal) ;) (if_statement "if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }" if (parenthesized_expression "((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0))" ( (binary_expression "(DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)" (parenthesized_expression "(DAT_00029a28 != 0)" ( (binary_expression "DAT_00029a28 != 0" identifier != number_literal) )) && (parenthesized_expression "(DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)" ( (comma_expression "DAT_00029158 = FUN_00014610(), DAT_00029158 < 0" (assignment_expression "DAT_00029158 = FUN_00014610()" identifier = (call_expression "FUN_00014610()" identifier (argument_list "()" ( )))) , (binary_expression "DAT_00029158 < 0" identifier < number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00015940();\n      }" { comment (expression_statement "FUN_00015940();" (call_expression "FUN_00015940()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }" if (parenthesized_expression "(DAT_00029a18 != 0)" ( (binary_expression "DAT_00029a18 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_00015450();\n        return;\n      }" { (expression_statement "FUN_00015450();" (call_expression "FUN_00015450()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (while_statement "while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000291c0)(0,1)" identifier = (call_expression "(*(code *)PTR_FUN_000291c0)(0,1)" (parenthesized_expression "(*(code *)PTR_FUN_000291c0)" ( (pointer_expression "*(code *)PTR_FUN_000291c0" * (cast_expression "(code *)PTR_FUN_000291c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,1)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n          return;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;" if (parenthesized_expression "(((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))" ( (binary_expression "((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0)" (parenthesized_expression "((DAT_00029a28 == 0) || (DAT_00029a10 != 0))" ( (binary_expression "(DAT_00029a28 == 0) || (DAT_00029a10 != 0)" (parenthesized_expression "(DAT_00029a28 == 0)" ( (binary_expression "DAT_00029a28 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_00029a10 != 0)" ( (binary_expression "DAT_00029a10 != 0" identifier != number_literal) ))) )) || (parenthesized_expression "(iVar2 = FUN_00015a00(), iVar2 != 0)" ( (comma_expression "iVar2 = FUN_00015a00(), iVar2 != 0" (assignment_expression "iVar2 = FUN_00015a00()" identifier = (call_expression "FUN_00015a00()" identifier (argument_list "()" ( )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "DAT_00029158 = FUN_00014610();" (assignment_expression "DAT_00029158 = FUN_00014610()" identifier = (call_expression "FUN_00014610()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_00029158 < 0) {\n          return;\n        }" if (parenthesized_expression "(DAT_00029158 < 0)" ( (binary_expression "DAT_00029158 < 0" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "DAT_00071f60 = 0;" (assignment_expression "DAT_00071f60 = 0" identifier = number_literal) ;) (expression_statement "DAT_00071f64 = 0;" (assignment_expression "DAT_00071f64 = 0" identifier = number_literal) ;) })) (expression_statement "puVar3 = PTR_stderr_00028fc8;" (assignment_expression "puVar3 = PTR_stderr_00028fc8" identifier = identifier) ;) (if_statement "if (DAT_000294f0 == 0) {\n        return;\n      }" if (parenthesized_expression "(DAT_000294f0 == 0)" ( (binary_expression "DAT_000294f0 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }" if (parenthesized_expression "(DAT_000294e8 == 0)" ( (binary_expression "DAT_000294e8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }" { (if_statement "if (DAT_00029a28 != 0) {\n          return;\n        }" if (parenthesized_expression "(DAT_00029a28 != 0)" ( (binary_expression "DAT_00029a28 != 0" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);" (call_expression "FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8)" identifier (argument_list "((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8)" ( (binary_expression "(DAT_0002d300 - DAT_00071f60) + DAT_00079fc0" (parenthesized_expression "(DAT_0002d300 - DAT_00071f60)" ( (binary_expression "DAT_0002d300 - DAT_00071f60" identifier - identifier) )) + identifier) , (binary_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" (binary_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4" (parenthesized_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60))" ( (binary_expression "(DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)" (parenthesized_expression "(DAT_0002d304 - DAT_00071f64)" ( (binary_expression "DAT_0002d304 - DAT_00071f64" identifier - identifier) )) - (call_expression "(uint)(DAT_0002d300 < DAT_00071f60)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_0002d300 < DAT_00071f60)" ( (binary_expression "DAT_0002d300 < DAT_00071f60" identifier < identifier) )))) )) + identifier) + (cast_expression "(uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" identifier (argument_list "(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" ( (binary_expression "DAT_0002d300 - DAT_00071f60" identifier - identifier) , identifier ))))) , identifier , identifier , (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" * (cast_expression "(undefined4 *)PTR_stderr_00028fc8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "FUN_0001e830(*(undefined4 *)puVar3,"\n");" (call_expression "FUN_0001e830(*(undefined4 *)puVar3,"\n")" identifier (argument_list "(*(undefined4 *)puVar3,"\n")" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""\n"" " escape_sequence ") ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);" (call_expression "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" * (cast_expression "(undefined4 *)PTR_stderr_00028fc8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "&DAT_00022cb9" & identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_000143e0();" (call_expression "FUN_000143e0()" identifier (argument_list "()" ( ))) ;) }))) comment (expression_statement "FUN_00015940();" (call_expression "FUN_00015940()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid treat_stdin(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = list;\n  if ((list == 0 && force == 0) &&\n     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))) {\n    if (quiet == 0) {\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }\n  }\n  else {\n    ifname = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    ofname = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&istat);\n    if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }\n    progerror("standard input");\n  }\n                    /* WARNING: Subroutine does not return */\n  do_exit(1);\n}\n\n" comment comment (function_definition "void treat_stdin(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = list;\n  if ((list == 0 && force == 0) &&\n     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))) {\n    if (quiet == 0) {\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }\n  }\n  else {\n    ifname = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    ofname = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&istat);\n    if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }\n    progerror("standard input");\n  }\n                    /* WARNING: Subroutine does not return */\n  do_exit(1);\n}" primitive_type (function_declarator "treat_stdin(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = list;\n  if ((list == 0 && force == 0) &&\n     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))) {\n    if (quiet == 0) {\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }\n  }\n  else {\n    ifname = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    ofname = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&istat);\n    if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }\n    progerror("standard input");\n  }\n                    /* WARNING: Subroutine does not return */\n  do_exit(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "iVar2 = list;" (assignment_expression "iVar2 = list" identifier = identifier) ;) (if_statement "if ((list == 0 && force == 0) &&\n     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))) {\n    if (quiet == 0) {\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }\n  }\n  else {\n    ifname = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    ofname = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&istat);\n    if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }\n    progerror("standard input");\n  }" if (parenthesized_expression "((list == 0 && force == 0) &&\n     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0))))" ( (binary_expression "(list == 0 && force == 0) &&\n     ((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))" (parenthesized_expression "(list == 0 && force == 0)" ( (binary_expression "list == 0 && force == 0" (binary_expression "list == 0" identifier == number_literal) && (binary_expression "force == 0" identifier == number_literal)) )) && (parenthesized_expression "((presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)))" ( (parenthesized_expression "(presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0))" ( (binary_expression "presume_input_tty || (iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)" identifier || (parenthesized_expression "(iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0)" ( (comma_expression "iVar1 = isatty((uint)(decompress == 0)), iVar1 != 0" (assignment_expression "iVar1 = isatty((uint)(decompress == 0))" identifier = (call_expression "isatty((uint)(decompress == 0))" identifier (argument_list "((uint)(decompress == 0))" ( (call_expression "(uint)(decompress == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(decompress == 0)" ( (binary_expression "decompress == 0" identifier == number_literal) ))) )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    if (quiet == 0) {\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }\n  }" { (if_statement "if (quiet == 0) {\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }" if (parenthesized_expression "(quiet == 0)" ( (binary_expression "quiet == 0" identifier == number_literal) )) (compound_statement "{\n      if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);\n    }" { (if_statement "if (decompress == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" if (parenthesized_expression "(decompress == 0)" ( (binary_expression "decompress == 0" identifier == number_literal) )) (compound_statement "{\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }" { (expression_statement "puVar3 = &DAT_00023705;" (assignment_expression "puVar3 = &DAT_00023705" identifier = (pointer_expression "&DAT_00023705" & identifier)) ;) (expression_statement "pcVar4 = "written to";" (assignment_expression "pcVar4 = "written to"" identifier = (string_literal ""written to"" " string_content ")) ;) }) (else_clause "else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" else (compound_statement "{\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" { (expression_statement "puVar3 = &DAT_00022c9d;" (assignment_expression "puVar3 = &DAT_00022c9d" identifier = (pointer_expression "&DAT_00022c9d" & identifier)) ;) (expression_statement "pcVar4 = "read from";" (assignment_expression "pcVar4 = "read from"" identifier = (string_literal ""read from"" " string_content ")) ;) }))) (expression_statement "rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2);" (call_expression "rpl_fprintf(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_00028fc8,\n                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                  ,program_name,pcVar4,puVar3,program_name,iVar2,iVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_00028fc8" * (cast_expression "(FILE **)PTR_stderr_00028fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n    ifname = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    ofname = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&istat);\n    if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }\n    progerror("standard input");\n  }" else (compound_statement "{\n    ifname = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    ofname = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&istat);\n    if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }\n    progerror("standard input");\n  }" { (expression_statement "ifname = 0x69647473;" (assignment_expression "ifname = 0x69647473" identifier = number_literal) ;) (expression_statement "DAT_0002cf04 = 0x6e;" (assignment_expression "DAT_0002cf04 = 0x6e" identifier = number_literal) ;) (expression_statement "ofname = 0x6f647473;" (assignment_expression "ofname = 0x6f647473" identifier = number_literal) ;) (expression_statement "DAT_00061b64 = 0x7475;" (assignment_expression "DAT_00061b64 = 0x7475" identifier = number_literal) ;) (expression_statement "DAT_00061b66 = 0;" (assignment_expression "DAT_00061b66 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = __fxstat64(3,0,(stat64 *)&istat);" (assignment_expression "iVar1 = __fxstat64(3,0,(stat64 *)&istat)" identifier = (call_expression "__fxstat64(3,0,(stat64 *)&istat)" identifier (argument_list "(3,0,(stat64 *)&istat)" ( number_literal , number_literal , (cast_expression "(stat64 *)&istat" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&istat" & identifier)) )))) ;) (if_statement "if (iVar1 == 0) {\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }\n      clear_bufs();\n      to_stdout = 1;\n      part_nb = 0;\n      ifd = 0;\n      stdin_was_read = true;\n      if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }\n      if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }\n      while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (verbose == 0) {\n        return;\n      }\n      if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }\n      rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");\n      return;\n    }" { (if_statement "if ((istat.st_mode & 0xf000) == 0x8000) {\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }\n      else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }" if (parenthesized_expression "((istat.st_mode & 0xf000) == 0x8000)" ( (binary_expression "(istat.st_mode & 0xf000) == 0x8000" (parenthesized_expression "(istat.st_mode & 0xf000)" ( (binary_expression "istat.st_mode & 0xf000" (field_expression "istat.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        ifile_size._0_4_ = (undefined4)istat.st_size;\n        ifile_size._4_4_ = istat.st_size._4_4_;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }\n      }" { (expression_statement "ifile_size._0_4_ = (undefined4)istat.st_size;" (assignment_expression "ifile_size._0_4_ = (undefined4)istat.st_size" (field_expression "ifile_size._0_4_" identifier . field_identifier) = (cast_expression "(undefined4)istat.st_size" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "istat.st_size" identifier . field_identifier))) ;) (expression_statement "ifile_size._4_4_ = istat.st_size._4_4_;" (assignment_expression "ifile_size._4_4_ = istat.st_size._4_4_" (field_expression "ifile_size._4_4_" identifier . field_identifier) = (field_expression "istat.st_size._4_4_" (field_expression "istat.st_size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "time_stamp.tv_nsec = -1;" (assignment_expression "time_stamp.tv_nsec = -1" (field_expression "time_stamp.tv_nsec" identifier . field_identifier) = number_literal) ;) (if_statement "if ((no_time == 0) || (iVar2 != 0)) {\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }" if (parenthesized_expression "((no_time == 0) || (iVar2 != 0))" ( (binary_expression "(no_time == 0) || (iVar2 != 0)" (parenthesized_expression "(no_time == 0)" ( (binary_expression "no_time == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          time_stamp.tv_sec = istat.st_mtim.tv_sec;\n          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;\n        }" { (expression_statement "time_stamp.tv_sec = istat.st_mtim.tv_sec;" (assignment_expression "time_stamp.tv_sec = istat.st_mtim.tv_sec" (field_expression "time_stamp.tv_sec" identifier . field_identifier) = (field_expression "istat.st_mtim.tv_sec" (field_expression "istat.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "time_stamp.tv_nsec = istat.st_mtim.tv_nsec;" (assignment_expression "time_stamp.tv_nsec = istat.st_mtim.tv_nsec" (field_expression "time_stamp.tv_nsec" identifier . field_identifier) = (field_expression "istat.st_mtim.tv_nsec" (field_expression "istat.st_mtim" identifier . field_identifier) . field_identifier)) ;) })) }) (else_clause "else {\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }" else (compound_statement "{\n        ifile_size._4_4_ = 0xffffffff;\n        ifile_size._0_4_ = 0xffffffff;\n        time_stamp.tv_nsec = -1;\n        if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }\n      }" { (expression_statement "ifile_size._4_4_ = 0xffffffff;" (assignment_expression "ifile_size._4_4_ = 0xffffffff" (field_expression "ifile_size._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "ifile_size._0_4_ = 0xffffffff;" (assignment_expression "ifile_size._0_4_ = 0xffffffff" (field_expression "ifile_size._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "time_stamp.tv_nsec = -1;" (assignment_expression "time_stamp.tv_nsec = -1" (field_expression "time_stamp.tv_nsec" identifier . field_identifier) = number_literal) ;) (if_statement "if ((no_time == 0) || (iVar2 != 0)) {\n          gettime(&time_stamp);\n        }" if (parenthesized_expression "((no_time == 0) || (iVar2 != 0))" ( (binary_expression "(no_time == 0) || (iVar2 != 0)" (parenthesized_expression "(no_time == 0)" ( (binary_expression "no_time == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          gettime(&time_stamp);\n        }" { (expression_statement "gettime(&time_stamp);" (call_expression "gettime(&time_stamp)" identifier (argument_list "(&time_stamp)" ( (pointer_expression "&time_stamp" & identifier) ))) ;) })) }))) (expression_statement "clear_bufs();" (call_expression "clear_bufs()" identifier (argument_list "()" ( ))) ;) (expression_statement "to_stdout = 1;" (assignment_expression "to_stdout = 1" identifier = number_literal) ;) (expression_statement "part_nb = 0;" (assignment_expression "part_nb = 0" identifier = number_literal) ;) (expression_statement "ifd = 0;" (assignment_expression "ifd = 0" identifier = number_literal) ;) (expression_statement "stdin_was_read = true;" (assignment_expression "stdin_was_read = true" identifier = true) ;) (if_statement "if ((decompress != 0) && (method = get_method(0), method < 0)) {\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }" if (parenthesized_expression "((decompress != 0) && (method = get_method(0), method < 0))" ( (binary_expression "(decompress != 0) && (method = get_method(0), method < 0)" (parenthesized_expression "(decompress != 0)" ( (binary_expression "decompress != 0" identifier != number_literal) )) && (parenthesized_expression "(method = get_method(0), method < 0)" ( (comma_expression "method = get_method(0), method < 0" (assignment_expression "method = get_method(0)" identifier = (call_expression "get_method(0)" identifier (argument_list "(0)" ( number_literal )))) , (binary_expression "method < 0" identifier < number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_exit(exit_code);\n      }" { comment (expression_statement "do_exit(exit_code);" (call_expression "do_exit(exit_code)" identifier (argument_list "(exit_code)" ( identifier ))) ;) })) (if_statement "if (list != 0) {\n        do_list(ifd,method);\n        return;\n      }" if (parenthesized_expression "(list != 0)" ( (binary_expression "list != 0" identifier != number_literal) )) (compound_statement "{\n        do_list(ifd,method);\n        return;\n      }" { (expression_statement "do_list(ifd,method);" (call_expression "do_list(ifd,method)" identifier (argument_list "(ifd,method)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (while_statement "while( true ) {\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar2 = (*work)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;\n        method = get_method(ifd);\n        if (method < 0) {\n          return;\n        }\n        bytes_out._0_4_ = 0;\n        bytes_out._4_4_ = 0;\n      }" { (expression_statement "iVar2 = (*work)(0,1);" (assignment_expression "iVar2 = (*work)(0,1)" identifier = (call_expression "(*work)(0,1)" (parenthesized_expression "(*work)" ( (pointer_expression "*work" * identifier) )) (argument_list "(0,1)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n          return;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)) break;" if (parenthesized_expression "(((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0))" ( (binary_expression "((decompress == 0) || (last_member != 0)) || (iVar2 = input_eof(), iVar2 != 0)" (parenthesized_expression "((decompress == 0) || (last_member != 0))" ( (binary_expression "(decompress == 0) || (last_member != 0)" (parenthesized_expression "(decompress == 0)" ( (binary_expression "decompress == 0" identifier == number_literal) )) || (parenthesized_expression "(last_member != 0)" ( (binary_expression "last_member != 0" identifier != number_literal) ))) )) || (parenthesized_expression "(iVar2 = input_eof(), iVar2 != 0)" ( (comma_expression "iVar2 = input_eof(), iVar2 != 0" (assignment_expression "iVar2 = input_eof()" identifier = (call_expression "input_eof()" identifier (argument_list "()" ( )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "method = get_method(ifd);" (assignment_expression "method = get_method(ifd)" identifier = (call_expression "get_method(ifd)" identifier (argument_list "(ifd)" ( identifier )))) ;) (if_statement "if (method < 0) {\n          return;\n        }" if (parenthesized_expression "(method < 0)" ( (binary_expression "method < 0" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "bytes_out._0_4_ = 0;" (assignment_expression "bytes_out._0_4_ = 0" (field_expression "bytes_out._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "bytes_out._4_4_ = 0;" (assignment_expression "bytes_out._4_4_ = 0" (field_expression "bytes_out._4_4_" identifier . field_identifier) = number_literal) ;) })) (expression_statement "puVar3 = PTR_stderr_00028fc8;" (assignment_expression "puVar3 = PTR_stderr_00028fc8" identifier = identifier) ;) (if_statement "if (verbose == 0) {\n        return;\n      }" if (parenthesized_expression "(verbose == 0)" ( (binary_expression "verbose == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (test == 0) {\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }" if (parenthesized_expression "(test == 0)" ( (binary_expression "test == 0" identifier == number_literal) )) (compound_statement "{\n        if (decompress != 0) {\n          return;\n        }\n        display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);\n        rpl_fprintf(*(FILE **)puVar3,"\n");\n        return;\n      }" { (if_statement "if (decompress != 0) {\n          return;\n        }" if (parenthesized_expression "(decompress != 0)" ( (binary_expression "decompress != 0" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8);" (call_expression "display_ratio(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8)" identifier (argument_list "(CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes),\n                      CONCAT44(bytes_in._4_4_,(uint)bytes_in),*(FILE **)PTR_stderr_00028fc8)" ( (call_expression "CONCAT44(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes)" identifier (argument_list "(((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes),\n                               ((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes)" ( (binary_expression "((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_ +\n                               (uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes)" (binary_expression "((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)) + header_bytes._4_4_" (parenthesized_expression "((bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out))" ( (binary_expression "(bytes_in._4_4_ - bytes_out._4_4_) -\n                               (uint)((uint)bytes_in < (uint)bytes_out)" (parenthesized_expression "(bytes_in._4_4_ - bytes_out._4_4_)" ( (binary_expression "bytes_in._4_4_ - bytes_out._4_4_" (field_expression "bytes_in._4_4_" identifier . field_identifier) - (field_expression "bytes_out._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)((uint)bytes_in < (uint)bytes_out)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)bytes_in < (uint)bytes_out)" ( (binary_expression "(uint)bytes_in < (uint)bytes_out" (cast_expression "(uint)bytes_in" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)bytes_out" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )) + (field_expression "header_bytes._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)bytes_in - (uint)bytes_out,(uint)header_bytes)" identifier (argument_list "((uint)bytes_in - (uint)bytes_out,(uint)header_bytes)" ( (binary_expression "(uint)bytes_in - (uint)bytes_out" (cast_expression "(uint)bytes_in" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)bytes_out" ( (type_descriptor "uint" type_identifier) ) identifier)) , (cast_expression "(uint)header_bytes" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) , (binary_expression "((uint)bytes_in - (uint)bytes_out) + (uint)header_bytes" (parenthesized_expression "((uint)bytes_in - (uint)bytes_out)" ( (binary_expression "(uint)bytes_in - (uint)bytes_out" (cast_expression "(uint)bytes_in" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)bytes_out" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + (cast_expression "(uint)header_bytes" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) , (call_expression "CONCAT44(bytes_in._4_4_,(uint)bytes_in)" identifier (argument_list "(bytes_in._4_4_,(uint)bytes_in)" ( (field_expression "bytes_in._4_4_" identifier . field_identifier) , (cast_expression "(uint)bytes_in" ( (type_descriptor "uint" type_identifier) ) identifier) ))) , (pointer_expression "*(FILE **)PTR_stderr_00028fc8" * (cast_expression "(FILE **)PTR_stderr_00028fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "rpl_fprintf(*(FILE **)puVar3,"\n");" (call_expression "rpl_fprintf(*(FILE **)puVar3,"\n")" identifier (argument_list "(*(FILE **)puVar3,"\n")" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""\n"" " escape_sequence ") ))) ;) (return_statement "return;" return ;) })) (expression_statement "rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n");" (call_expression "rpl_fprintf(*(FILE **)PTR_stderr_00028fc8," OK\n")" identifier (argument_list "(*(FILE **)PTR_stderr_00028fc8," OK\n")" ( (pointer_expression "*(FILE **)PTR_stderr_00028fc8" * (cast_expression "(FILE **)PTR_stderr_00028fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal "" OK\n"" " string_content escape_sequence ") ))) ;) (return_statement "return;" return ;) })) (expression_statement "progerror("standard input");" (call_expression "progerror("standard input")" identifier (argument_list "("standard input")" ( (string_literal ""standard input"" " string_content ") ))) ;) }))) comment (expression_statement "do_exit(1);" (call_expression "do_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "void FUN_00015a70(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    \n  FUN_00015940();\n}\n\n" (function_definition "void FUN_00015a70(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    \n  FUN_00015940();\n}" primitive_type (function_declarator "FUN_00015a70(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    \n  FUN_00015940();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "iVar2 = DAT_00029a18;" (assignment_expression "iVar2 = DAT_00029a18" identifier = identifier) ;) (if_statement "if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" if (parenthesized_expression "((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0))))" ( (binary_expression "(DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))" (parenthesized_expression "(DAT_00029a18 == 0 && DAT_00029a24 == 0)" ( (binary_expression "DAT_00029a18 == 0 && DAT_00029a24 == 0" (binary_expression "DAT_00029a18 == 0" identifier == number_literal) && (binary_expression "DAT_00029a24 == 0" identifier == number_literal)) )) && (parenthesized_expression "((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))" ( (parenthesized_expression "(DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0))" ( (binary_expression "DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)" (binary_expression "DAT_00029a31 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)" ( (comma_expression "iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0" (assignment_expression "iVar1 = isatty((uint)(DAT_00029a28 == 0))" identifier = (call_expression "isatty((uint)(DAT_00029a28 == 0))" identifier (argument_list "((uint)(DAT_00029a28 == 0))" ( (call_expression "(uint)(DAT_00029a28 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00029a28 == 0)" ( (binary_expression "DAT_00029a28 == 0" identifier == number_literal) ))) )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }" { (if_statement "if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }" if (parenthesized_expression "(DAT_000294ec == 0)" ( (binary_expression "DAT_000294ec == 0" identifier == number_literal) )) (compound_statement "{\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }" { (if_statement "if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" if (parenthesized_expression "(DAT_00029a28 == 0)" ( (binary_expression "DAT_00029a28 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }" { (expression_statement "puVar3 = &DAT_00023705;" (assignment_expression "puVar3 = &DAT_00023705" identifier = (pointer_expression "&DAT_00023705" & identifier)) ;) (expression_statement "pcVar4 = "written to";" (assignment_expression "pcVar4 = "written to"" identifier = (string_literal ""written to"" " string_content ")) ;) }) (else_clause "else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" else (compound_statement "{\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" { (expression_statement "puVar3 = &DAT_00022c9d;" (assignment_expression "puVar3 = &DAT_00022c9d" identifier = (pointer_expression "&DAT_00022c9d" & identifier)) ;) (expression_statement "pcVar4 = "read from";" (assignment_expression "pcVar4 = "read from"" identifier = (string_literal ""read from"" " string_content ")) ;) }))) (expression_statement "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);" (call_expression "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" * (cast_expression "(undefined4 *)PTR_stderr_00028fc8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" else (compound_statement "{\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" { (expression_statement "DAT_0002cf00 = 0x69647473;" (assignment_expression "DAT_0002cf00 = 0x69647473" identifier = number_literal) ;) (expression_statement "DAT_0002cf04 = 0x6e;" (assignment_expression "DAT_0002cf04 = 0x6e" identifier = number_literal) ;) (expression_statement "DAT_00061b60 = 0x6f647473;" (assignment_expression "DAT_00061b60 = 0x6f647473" identifier = number_literal) ;) (expression_statement "DAT_00061b64 = 0x7475;" (assignment_expression "DAT_00061b64 = 0x7475" identifier = number_literal) ;) (expression_statement "DAT_00061b66 = 0;" (assignment_expression "DAT_00061b66 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);" (assignment_expression "iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500)" identifier = (call_expression "__fxstat64(3,0,(stat64 *)&DAT_00029500)" identifier (argument_list "(3,0,(stat64 *)&DAT_00029500)" ( number_literal , number_literal , (cast_expression "(stat64 *)&DAT_00029500" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00029500" & identifier)) )))) ;) (if_statement "if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }" { (if_statement "if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" if (parenthesized_expression "((DAT_00029510 & 0xf000) == 0x8000)" ( (binary_expression "(DAT_00029510 & 0xf000) == 0x8000" (parenthesized_expression "(DAT_00029510 & 0xf000)" ( (binary_expression "DAT_00029510 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }" { (expression_statement "DAT_0005d330 = DAT_0002952c;" (assignment_expression "DAT_0005d330 = DAT_0002952c" identifier = identifier) ;) (expression_statement "DAT_0005d334 = DAT_00029530;" (assignment_expression "DAT_0005d334 = DAT_00029530" identifier = identifier) ;) (expression_statement "DAT_00071f70 = 0xffffffff;" (assignment_expression "DAT_00071f70 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }" if (parenthesized_expression "((DAT_00029160 == 0) || (iVar2 != 0))" ( (binary_expression "(DAT_00029160 == 0) || (iVar2 != 0)" (parenthesized_expression "(DAT_00029160 == 0)" ( (binary_expression "DAT_00029160 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }" { (expression_statement "DAT_00071f6c = DAT_00029548;" (assignment_expression "DAT_00071f6c = DAT_00029548" identifier = identifier) ;) (expression_statement "DAT_00071f70 = DAT_0002954c;" (assignment_expression "DAT_00071f70 = DAT_0002954c" identifier = identifier) ;) })) }) (else_clause "else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" else (compound_statement "{\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" { (expression_statement "DAT_0005d334 = 0xffffffff;" (assignment_expression "DAT_0005d334 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_0005d330 = 0xffffffff;" (assignment_expression "DAT_0005d330 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_00071f70 = 0xffffffff;" (assignment_expression "DAT_00071f70 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }" if (parenthesized_expression "((DAT_00029160 == 0) || (iVar2 != 0))" ( (binary_expression "(DAT_00029160 == 0) || (iVar2 != 0)" (parenthesized_expression "(DAT_00029160 == 0)" ( (binary_expression "DAT_00029160 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          FUN_0001d480(&DAT_00071f6c);\n        }" { (expression_statement "FUN_0001d480(&DAT_00071f6c);" (call_expression "FUN_0001d480(&DAT_00071f6c)" identifier (argument_list "(&DAT_00071f6c)" ( (pointer_expression "&DAT_00071f6c" & identifier) ))) ;) })) }))) (expression_statement "FUN_0001c400();" (call_expression "FUN_0001c400()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_000294f4 = 1;" (assignment_expression "DAT_000294f4 = 1" identifier = number_literal) ;) (expression_statement "DAT_00029a0c = 0;" (assignment_expression "DAT_00029a0c = 0" identifier = number_literal) ;) (expression_statement "DAT_00061b40 = 0;" (assignment_expression "DAT_00061b40 = 0" identifier = number_literal) ;) (expression_statement "DAT_00029970 = 1;" (assignment_expression "DAT_00029970 = 1" identifier = number_literal) ;) (if_statement "if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }" if (parenthesized_expression "((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0))" ( (binary_expression "(DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)" (parenthesized_expression "(DAT_00029a28 != 0)" ( (binary_expression "DAT_00029a28 != 0" identifier != number_literal) )) && (parenthesized_expression "(DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)" ( (comma_expression "DAT_00029158 = FUN_00014610(), DAT_00029158 < 0" (assignment_expression "DAT_00029158 = FUN_00014610()" identifier = (call_expression "FUN_00014610()" identifier (argument_list "()" ( )))) , (binary_expression "DAT_00029158 < 0" identifier < number_literal)) ))) )) (compound_statement "{\n                    \n        FUN_00015940();\n      }" { (expression_statement "FUN_00015940();" (call_expression "FUN_00015940()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }" if (parenthesized_expression "(DAT_00029a18 != 0)" ( (binary_expression "DAT_00029a18 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_00015450();\n        return;\n      }" { (expression_statement "FUN_00015450();" (call_expression "FUN_00015450()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (while_statement "while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000291c0)(0,1)" identifier = (call_expression "(*(code *)PTR_FUN_000291c0)(0,1)" (parenthesized_expression "(*(code *)PTR_FUN_000291c0)" ( (pointer_expression "*(code *)PTR_FUN_000291c0" * (cast_expression "(code *)PTR_FUN_000291c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,1)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n          return;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;" if (parenthesized_expression "(((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))" ( (binary_expression "((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0)" (parenthesized_expression "((DAT_00029a28 == 0) || (DAT_00029a10 != 0))" ( (binary_expression "(DAT_00029a28 == 0) || (DAT_00029a10 != 0)" (parenthesized_expression "(DAT_00029a28 == 0)" ( (binary_expression "DAT_00029a28 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_00029a10 != 0)" ( (binary_expression "DAT_00029a10 != 0" identifier != number_literal) ))) )) || (parenthesized_expression "(iVar2 = FUN_00015a00(), iVar2 != 0)" ( (comma_expression "iVar2 = FUN_00015a00(), iVar2 != 0" (assignment_expression "iVar2 = FUN_00015a00()" identifier = (call_expression "FUN_00015a00()" identifier (argument_list "()" ( )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "DAT_00029158 = FUN_00014610();" (assignment_expression "DAT_00029158 = FUN_00014610()" identifier = (call_expression "FUN_00014610()" identifier (argument_list "()" ( )))) ;) (if_statement "if (DAT_00029158 < 0) {\n          return;\n        }" if (parenthesized_expression "(DAT_00029158 < 0)" ( (binary_expression "DAT_00029158 < 0" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "DAT_00071f60 = 0;" (assignment_expression "DAT_00071f60 = 0" identifier = number_literal) ;) (expression_statement "DAT_00071f64 = 0;" (assignment_expression "DAT_00071f64 = 0" identifier = number_literal) ;) })) (expression_statement "puVar3 = PTR_stderr_00028fc8;" (assignment_expression "puVar3 = PTR_stderr_00028fc8" identifier = identifier) ;) (if_statement "if (DAT_000294f0 == 0) {\n        return;\n      }" if (parenthesized_expression "(DAT_000294f0 == 0)" ( (binary_expression "DAT_000294f0 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }" if (parenthesized_expression "(DAT_000294e8 == 0)" ( (binary_expression "DAT_000294e8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }" { (if_statement "if (DAT_00029a28 != 0) {\n          return;\n        }" if (parenthesized_expression "(DAT_00029a28 != 0)" ( (binary_expression "DAT_00029a28 != 0" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);" (call_expression "FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8)" identifier (argument_list "((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8)" ( (binary_expression "(DAT_0002d300 - DAT_00071f60) + DAT_00079fc0" (parenthesized_expression "(DAT_0002d300 - DAT_00071f60)" ( (binary_expression "DAT_0002d300 - DAT_00071f60" identifier - identifier) )) + identifier) , (binary_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" (binary_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4" (parenthesized_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60))" ( (binary_expression "(DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)" (parenthesized_expression "(DAT_0002d304 - DAT_00071f64)" ( (binary_expression "DAT_0002d304 - DAT_00071f64" identifier - identifier) )) - (call_expression "(uint)(DAT_0002d300 < DAT_00071f60)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_0002d300 < DAT_00071f60)" ( (binary_expression "DAT_0002d300 < DAT_00071f60" identifier < identifier) )))) )) + identifier) + (cast_expression "(uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" identifier (argument_list "(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" ( (binary_expression "DAT_0002d300 - DAT_00071f60" identifier - identifier) , identifier ))))) , identifier , identifier , (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" * (cast_expression "(undefined4 *)PTR_stderr_00028fc8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "FUN_0001e830(*(undefined4 *)puVar3,"\n");" (call_expression "FUN_0001e830(*(undefined4 *)puVar3,"\n")" identifier (argument_list "(*(undefined4 *)puVar3,"\n")" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""\n"" " escape_sequence ") ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);" (call_expression "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" * (cast_expression "(undefined4 *)PTR_stderr_00028fc8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "&DAT_00022cb9" & identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_000143e0();" (call_expression "FUN_000143e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "FUN_00015940();" (call_expression "FUN_00015940()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))) )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (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 (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT < LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , IDENT ))))) , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (string_literal " escape_sequence ") ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (pointer_expression & IDENT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00015a70(void)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    \n  FUN_00015940();\n}" (primitive_type "void") (function_declarator "FUN_00015a70(void)" (identifier "FUN_00015a70") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined *puVar3;\n  char *pcVar4;\n  \n  iVar2 = DAT_00029a18;\n  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }\n                    \n  FUN_00015940();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (expression_statement "iVar2 = DAT_00029a18;" (assignment_expression "iVar2 = DAT_00029a18" (identifier "iVar2") (= "=") (identifier "DAT_00029a18")) (; ";")) (if_statement "if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }\n  else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" (if "if") (parenthesized_expression "((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0))))" (( "(") (binary_expression "(DAT_00029a18 == 0 && DAT_00029a24 == 0) &&\n     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))" (parenthesized_expression "(DAT_00029a18 == 0 && DAT_00029a24 == 0)" (( "(") (binary_expression "DAT_00029a18 == 0 && DAT_00029a24 == 0" (binary_expression "DAT_00029a18 == 0" (identifier "DAT_00029a18") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_00029a24 == 0" (identifier "DAT_00029a24") (== "==") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))" (( "(") (parenthesized_expression "(DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0))" (( "(") (binary_expression "DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)" (binary_expression "DAT_00029a31 != '\0'" (identifier "DAT_00029a31") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)" (( "(") (comma_expression "iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0" (assignment_expression "iVar1 = isatty((uint)(DAT_00029a28 == 0))" (identifier "iVar1") (= "=") (call_expression "isatty((uint)(DAT_00029a28 == 0))" (identifier "isatty") (argument_list "((uint)(DAT_00029a28 == 0))" (( "(") (call_expression "(uint)(DAT_00029a28 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00029a28 == 0)" (( "(") (binary_expression "DAT_00029a28 == 0" (identifier "DAT_00029a28") (== "==") (number_literal "0")) () ")"))) () ")")))) (, ",") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }\n  }" ({ "{") (if_statement "if (DAT_000294ec == 0) {\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }" (if "if") (parenthesized_expression "(DAT_000294ec == 0)" (( "(") (binary_expression "DAT_000294ec == 0" (identifier "DAT_000294ec") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);\n    }" ({ "{") (if_statement "if (DAT_00029a28 == 0) {\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }\n      else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" (if "if") (parenthesized_expression "(DAT_00029a28 == 0)" (( "(") (binary_expression "DAT_00029a28 == 0" (identifier "DAT_00029a28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar3 = &DAT_00023705;\n        pcVar4 = "written to";\n      }" ({ "{") (expression_statement "puVar3 = &DAT_00023705;" (assignment_expression "puVar3 = &DAT_00023705" (identifier "puVar3") (= "=") (pointer_expression "&DAT_00023705" (& "&") (identifier "DAT_00023705"))) (; ";")) (expression_statement "pcVar4 = "written to";" (assignment_expression "pcVar4 = "written to"" (identifier "pcVar4") (= "=") (string_literal ""written to"" (" """) (string_content "written to") (" """))) (; ";")) (} "}")) (else_clause "else {\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" (else "else") (compound_statement "{\n        puVar3 = &DAT_00022c9d;\n        pcVar4 = "read from";\n      }" ({ "{") (expression_statement "puVar3 = &DAT_00022c9d;" (assignment_expression "puVar3 = &DAT_00022c9d" (identifier "puVar3") (= "=") (pointer_expression "&DAT_00022c9d" (& "&") (identifier "DAT_00022c9d"))) (; ";")) (expression_statement "pcVar4 = "read from";" (assignment_expression "pcVar4 = "read from"" (identifier "pcVar4") (= "=") (string_literal ""read from"" (" """) (string_content "read from") (" """))) (; ";")) (} "}")))) (expression_statement "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);" (call_expression "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2)" (identifier "FUN_0001e830") (argument_list "(*(undefined4 *)PTR_stderr_00028fc8,\n                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"\n                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2)" (( "(") (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" (* "*") (cast_expression "(undefined4 *)PTR_stderr_00028fc8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_00028fc8"))) (, ",") (string_literal ""%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"" (" """) (string_content "%s: compressed data not %s a terminal. Use -f to force %scompression.") (escape_sequence "\n") (string_content "For help, type: %s -h") (escape_sequence "\n") (" """)) (, ",") (identifier "DAT_00071f68") (, ",") (identifier "pcVar4") (, ",") (identifier "puVar3") (, ",") (identifier "DAT_00071f68") (, ",") (identifier "iVar2") (, ",") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" (else "else") (compound_statement "{\n    DAT_0002cf00 = 0x69647473;\n    DAT_0002cf04 = 0x6e;\n    DAT_00061b60 = 0x6f647473;\n    DAT_00061b64 = 0x7475;\n    DAT_00061b66 = 0;\n    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);\n    if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }\n    FUN_000143e0();\n  }" ({ "{") (expression_statement "DAT_0002cf00 = 0x69647473;" (assignment_expression "DAT_0002cf00 = 0x69647473" (identifier "DAT_0002cf00") (= "=") (number_literal "0x69647473")) (; ";")) (expression_statement "DAT_0002cf04 = 0x6e;" (assignment_expression "DAT_0002cf04 = 0x6e" (identifier "DAT_0002cf04") (= "=") (number_literal "0x6e")) (; ";")) (expression_statement "DAT_00061b60 = 0x6f647473;" (assignment_expression "DAT_00061b60 = 0x6f647473" (identifier "DAT_00061b60") (= "=") (number_literal "0x6f647473")) (; ";")) (expression_statement "DAT_00061b64 = 0x7475;" (assignment_expression "DAT_00061b64 = 0x7475" (identifier "DAT_00061b64") (= "=") (number_literal "0x7475")) (; ";")) (expression_statement "DAT_00061b66 = 0;" (assignment_expression "DAT_00061b66 = 0" (identifier "DAT_00061b66") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);" (assignment_expression "iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500)" (identifier "iVar1") (= "=") (call_expression "__fxstat64(3,0,(stat64 *)&DAT_00029500)" (identifier "__fxstat64") (argument_list "(3,0,(stat64 *)&DAT_00029500)" (( "(") (number_literal "3") (, ",") (number_literal "0") (, ",") (cast_expression "(stat64 *)&DAT_00029500" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00029500" (& "&") (identifier "DAT_00029500"))) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }\n      FUN_0001c400();\n      DAT_000294f4 = 1;\n      DAT_00029a0c = 0;\n      DAT_00061b40 = 0;\n      DAT_00029970 = 1;\n      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }\n      if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }\n      while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }\n      puVar3 = PTR_stderr_00028fc8;\n      if (DAT_000294f0 == 0) {\n        return;\n      }\n      if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }\n      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);\n      return;\n    }" ({ "{") (if_statement "if ((DAT_00029510 & 0xf000) == 0x8000) {\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }\n      else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" (if "if") (parenthesized_expression "((DAT_00029510 & 0xf000) == 0x8000)" (( "(") (binary_expression "(DAT_00029510 & 0xf000) == 0x8000" (parenthesized_expression "(DAT_00029510 & 0xf000)" (( "(") (binary_expression "DAT_00029510 & 0xf000" (identifier "DAT_00029510") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x8000")) () ")")) (compound_statement "{\n        DAT_0005d330 = DAT_0002952c;\n        DAT_0005d334 = DAT_00029530;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }\n      }" ({ "{") (expression_statement "DAT_0005d330 = DAT_0002952c;" (assignment_expression "DAT_0005d330 = DAT_0002952c" (identifier "DAT_0005d330") (= "=") (identifier "DAT_0002952c")) (; ";")) (expression_statement "DAT_0005d334 = DAT_00029530;" (assignment_expression "DAT_0005d334 = DAT_00029530" (identifier "DAT_0005d334") (= "=") (identifier "DAT_00029530")) (; ";")) (expression_statement "DAT_00071f70 = 0xffffffff;" (assignment_expression "DAT_00071f70 = 0xffffffff" (identifier "DAT_00071f70") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }" (if "if") (parenthesized_expression "((DAT_00029160 == 0) || (iVar2 != 0))" (( "(") (binary_expression "(DAT_00029160 == 0) || (iVar2 != 0)" (parenthesized_expression "(DAT_00029160 == 0)" (( "(") (binary_expression "DAT_00029160 == 0" (identifier "DAT_00029160") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          DAT_00071f6c = DAT_00029548;\n          DAT_00071f70 = DAT_0002954c;\n        }" ({ "{") (expression_statement "DAT_00071f6c = DAT_00029548;" (assignment_expression "DAT_00071f6c = DAT_00029548" (identifier "DAT_00071f6c") (= "=") (identifier "DAT_00029548")) (; ";")) (expression_statement "DAT_00071f70 = DAT_0002954c;" (assignment_expression "DAT_00071f70 = DAT_0002954c" (identifier "DAT_00071f70") (= "=") (identifier "DAT_0002954c")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" (else "else") (compound_statement "{\n        DAT_0005d334 = 0xffffffff;\n        DAT_0005d330 = 0xffffffff;\n        DAT_00071f70 = 0xffffffff;\n        if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }\n      }" ({ "{") (expression_statement "DAT_0005d334 = 0xffffffff;" (assignment_expression "DAT_0005d334 = 0xffffffff" (identifier "DAT_0005d334") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_0005d330 = 0xffffffff;" (assignment_expression "DAT_0005d330 = 0xffffffff" (identifier "DAT_0005d330") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_00071f70 = 0xffffffff;" (assignment_expression "DAT_00071f70 = 0xffffffff" (identifier "DAT_00071f70") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if ((DAT_00029160 == 0) || (iVar2 != 0)) {\n          FUN_0001d480(&DAT_00071f6c);\n        }" (if "if") (parenthesized_expression "((DAT_00029160 == 0) || (iVar2 != 0))" (( "(") (binary_expression "(DAT_00029160 == 0) || (iVar2 != 0)" (parenthesized_expression "(DAT_00029160 == 0)" (( "(") (binary_expression "DAT_00029160 == 0" (identifier "DAT_00029160") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          FUN_0001d480(&DAT_00071f6c);\n        }" ({ "{") (expression_statement "FUN_0001d480(&DAT_00071f6c);" (call_expression "FUN_0001d480(&DAT_00071f6c)" (identifier "FUN_0001d480") (argument_list "(&DAT_00071f6c)" (( "(") (pointer_expression "&DAT_00071f6c" (& "&") (identifier "DAT_00071f6c")) () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0001c400();" (call_expression "FUN_0001c400()" (identifier "FUN_0001c400") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_000294f4 = 1;" (assignment_expression "DAT_000294f4 = 1" (identifier "DAT_000294f4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00029a0c = 0;" (assignment_expression "DAT_00029a0c = 0" (identifier "DAT_00029a0c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00061b40 = 0;" (assignment_expression "DAT_00061b40 = 0" (identifier "DAT_00061b40") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00029970 = 1;" (assignment_expression "DAT_00029970 = 1" (identifier "DAT_00029970") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {\n                    \n        FUN_00015940();\n      }" (if "if") (parenthesized_expression "((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0))" (( "(") (binary_expression "(DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)" (parenthesized_expression "(DAT_00029a28 != 0)" (( "(") (binary_expression "DAT_00029a28 != 0" (identifier "DAT_00029a28") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)" (( "(") (comma_expression "DAT_00029158 = FUN_00014610(), DAT_00029158 < 0" (assignment_expression "DAT_00029158 = FUN_00014610()" (identifier "DAT_00029158") (= "=") (call_expression "FUN_00014610()" (identifier "FUN_00014610") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "DAT_00029158 < 0" (identifier "DAT_00029158") (< "<") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    \n        FUN_00015940();\n      }" ({ "{") (expression_statement "FUN_00015940();" (call_expression "FUN_00015940()" (identifier "FUN_00015940") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_00029a18 != 0) {\n        FUN_00015450();\n        return;\n      }" (if "if") (parenthesized_expression "(DAT_00029a18 != 0)" (( "(") (binary_expression "DAT_00029a18 != 0" (identifier "DAT_00029a18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00015450();\n        return;\n      }" ({ "{") (expression_statement "FUN_00015450();" (call_expression "FUN_00015450()" (identifier "FUN_00015450") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (while_statement "while( true ) {\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);\n        if (iVar2 != 0) {\n          return;\n        }\n        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;\n        DAT_00029158 = FUN_00014610();\n        if (DAT_00029158 < 0) {\n          return;\n        }\n        DAT_00071f60 = 0;\n        DAT_00071f64 = 0;\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000291c0)(0,1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000291c0)(0,1)" (parenthesized_expression "(*(code *)PTR_FUN_000291c0)" (( "(") (pointer_expression "*(code *)PTR_FUN_000291c0" (* "*") (cast_expression "(code *)PTR_FUN_000291c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000291c0"))) () ")")) (argument_list "(0,1)" (( "(") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n          return;\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))\n        break;" (if "if") (parenthesized_expression "(((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))" (( "(") (binary_expression "((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0)" (parenthesized_expression "((DAT_00029a28 == 0) || (DAT_00029a10 != 0))" (( "(") (binary_expression "(DAT_00029a28 == 0) || (DAT_00029a10 != 0)" (parenthesized_expression "(DAT_00029a28 == 0)" (( "(") (binary_expression "DAT_00029a28 == 0" (identifier "DAT_00029a28") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_00029a10 != 0)" (( "(") (binary_expression "DAT_00029a10 != 0" (identifier "DAT_00029a10") (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar2 = FUN_00015a00(), iVar2 != 0)" (( "(") (comma_expression "iVar2 = FUN_00015a00(), iVar2 != 0" (assignment_expression "iVar2 = FUN_00015a00()" (identifier "iVar2") (= "=") (call_expression "FUN_00015a00()" (identifier "FUN_00015a00") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "DAT_00029158 = FUN_00014610();" (assignment_expression "DAT_00029158 = FUN_00014610()" (identifier "DAT_00029158") (= "=") (call_expression "FUN_00014610()" (identifier "FUN_00014610") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (DAT_00029158 < 0) {\n          return;\n        }" (if "if") (parenthesized_expression "(DAT_00029158 < 0)" (( "(") (binary_expression "DAT_00029158 < 0" (identifier "DAT_00029158") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_00071f60 = 0;" (assignment_expression "DAT_00071f60 = 0" (identifier "DAT_00071f60") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00071f64 = 0;" (assignment_expression "DAT_00071f64 = 0" (identifier "DAT_00071f64") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "puVar3 = PTR_stderr_00028fc8;" (assignment_expression "puVar3 = PTR_stderr_00028fc8" (identifier "puVar3") (= "=") (identifier "PTR_stderr_00028fc8")) (; ";")) (if_statement "if (DAT_000294f0 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(DAT_000294f0 == 0)" (( "(") (binary_expression "DAT_000294f0 == 0" (identifier "DAT_000294f0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_000294e8 == 0) {\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }" (if "if") (parenthesized_expression "(DAT_000294e8 == 0)" (( "(") (binary_expression "DAT_000294e8 == 0" (identifier "DAT_000294e8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_00029a28 != 0) {\n          return;\n        }\n        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);\n        FUN_0001e830(*(undefined4 *)puVar3,"\n");\n        return;\n      }" ({ "{") (if_statement "if (DAT_00029a28 != 0) {\n          return;\n        }" (if "if") (parenthesized_expression "(DAT_00029a28 != 0)" (( "(") (binary_expression "DAT_00029a28 != 0" (identifier "DAT_00029a28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);" (call_expression "FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8)" (identifier "FUN_0001cc40") (argument_list "((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,\n                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),\n                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8)" (( "(") (binary_expression "(DAT_0002d300 - DAT_00071f60) + DAT_00079fc0" (parenthesized_expression "(DAT_0002d300 - DAT_00071f60)" (( "(") (binary_expression "DAT_0002d300 - DAT_00071f60" (identifier "DAT_0002d300") (- "-") (identifier "DAT_00071f60")) () ")")) (+ "+") (identifier "DAT_00079fc0")) (, ",") (binary_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" (binary_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +\n                     DAT_00079fc4" (parenthesized_expression "((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60))" (( "(") (binary_expression "(DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)" (parenthesized_expression "(DAT_0002d304 - DAT_00071f64)" (( "(") (binary_expression "DAT_0002d304 - DAT_00071f64" (identifier "DAT_0002d304") (- "-") (identifier "DAT_00071f64")) () ")")) (- "-") (call_expression "(uint)(DAT_0002d300 < DAT_00071f60)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_0002d300 < DAT_00071f60)" (( "(") (binary_expression "DAT_0002d300 < DAT_00071f60" (identifier "DAT_0002d300") (< "<") (identifier "DAT_00071f60")) () ")")))) () ")")) (+ "+") (identifier "DAT_00079fc4")) (+ "+") (cast_expression "(uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" (identifier "CARRY4") (argument_list "(DAT_0002d300 - DAT_00071f60,DAT_00079fc0)" (( "(") (binary_expression "DAT_0002d300 - DAT_00071f60" (identifier "DAT_0002d300") (- "-") (identifier "DAT_00071f60")) (, ",") (identifier "DAT_00079fc0") () ")"))))) (, ",") (identifier "DAT_0002d300") (, ",") (identifier "DAT_0002d304") (, ",") (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" (* "*") (cast_expression "(undefined4 *)PTR_stderr_00028fc8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_00028fc8"))) () ")"))) (; ";")) (expression_statement "FUN_0001e830(*(undefined4 *)puVar3,"\n");" (call_expression "FUN_0001e830(*(undefined4 *)puVar3,"\n")" (identifier "FUN_0001e830") (argument_list "(*(undefined4 *)puVar3,"\n")" (( "(") (pointer_expression "*(undefined4 *)puVar3" (* "*") (cast_expression "(undefined4 *)puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (, ",") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """)) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);" (call_expression "FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9)" (identifier "FUN_0001e830") (argument_list "(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9)" (( "(") (pointer_expression "*(undefined4 *)PTR_stderr_00028fc8" (* "*") (cast_expression "(undefined4 *)PTR_stderr_00028fc8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_00028fc8"))) (, ",") (pointer_expression "&DAT_00022cb9" (& "&") (identifier "DAT_00022cb9")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_000143e0();" (call_expression "FUN_000143e0()" (identifier "FUN_000143e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_00015940();" (call_expression "FUN_00015940()" (identifier "FUN_00015940") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  int var_6;
  int var_11;
  type_1 *puVar3;
  char *pcVar4;
  
  var_11 = var_1;
  if ((var_1 == 0 && var_2 == 0) &&
     ((var_3 || (var_6 = var_4((type_5)(var_5 == 0)), var_6 != 0)))) {
    if (var_7 == 0) {
      if (var_5 == 0) {
        puVar3 = &DAT_00023705;
        pcVar4 = "written to";
      }
      else {
        puVar3 = &DAT_00022c9d;
        pcVar4 = "read from";
      }
      var_8(*(type_2 **)PTR_stderr_00028fc8,
                  "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"
                  ,program_name,pcVar4,puVar3,program_name,var_11,var_11);
    }
  }
  else {
    ifname = 0x69647473;
    DAT_0002cf04 = 0x6e;
    ofname = 0x6f647473;
    DAT_00061b64 = 0x7475;
    DAT_00061b66 = 0;
    var_6 = var_9(3,0,(type_3 *)&istat);
    if (var_6 == 0) {
      if ((istat.st_mode & 0xf000) == 0x8000) {
        ifile_size._0_4_ = (type_4)istat.st_size;
        ifile_size._4_4_ = istat.st_size._4_4_;
        time_stamp.tv_nsec = -1;
        if ((var_10 == 0) || (var_11 != 0)) {
          time_stamp.tv_sec = istat.st_mtim.tv_sec;
          time_stamp.tv_nsec = istat.st_mtim.tv_nsec;
        }
      }
      else {
        ifile_size._4_4_ = 0xffffffff;
        ifile_size._0_4_ = 0xffffffff;
        time_stamp.tv_nsec = -1;
        if ((var_10 == 0) || (var_11 != 0)) {
          var_12(&time_stamp);
        }
      }
      var_13();
      to_stdout = 1;
      part_nb = 0;
      ifd = 0;
      stdin_was_read = true;
      if ((var_5 != 0) && (var_15 = var_14(0), var_15 < 0)) {
                    /* WARNING: Subroutine does not return */
        var_16(exit_code);
      }
      if (var_1 != 0) {
        var_17(ifd,var_15);
        return;
      }
      while( true ) {
        var_11 = (*work)(0,1);
        if (var_11 != 0) {
          return;
        }
        if (((var_5 == 0) || (var_18 != 0)) || (var_11 = var_19(), var_11 != 0)) break;
        var_15 = var_14(ifd);
        if (var_15 < 0) {
          return;
        }
        bytes_out._0_4_ = 0;
        bytes_out._4_4_ = 0;
      }
      puVar3 = PTR_stderr_00028fc8;
      if (var_20 == 0) {
        return;
      }
      if (var_21 == 0) {
        if (var_5 != 0) {
          return;
        }
        var_22(var_23(((bytes_in._4_4_ - bytes_out._4_4_) -
                               (type_5)((type_5)bytes_in < (type_5)bytes_out)) + header_bytes._4_4_ +
                               (type_5)var_24((type_5)bytes_in - (type_5)bytes_out,(type_5)header_bytes),
                               ((type_5)bytes_in - (type_5)bytes_out) + (type_5)header_bytes),
                      var_23(bytes_in._4_4_,(type_5)bytes_in),*(type_2 **)PTR_stderr_00028fc8);
        var_8(*(type_2 **)puVar3,"\n");
        return;
      }
      var_8(*(type_2 **)PTR_stderr_00028fc8," OK\n");
      return;
    }
    var_25("standard input");
  }
                    /* WARNING: Subroutine does not return */
  var_16(1);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (char_literal (escape_sequence))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (break_statement)) (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 (return_statement))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (identifier))))) (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (string_literal (escape_sequence))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (pointer_expression argument: (identifier))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

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

void MASKED(void)

{
  int iVar1;
  int iVar2;
  undefined *puVar3;
  char *pcVar4;
  
  iVar2 = DAT_00029a18;
  if ((DAT_00029a18 == 0 && DAT_00029a24 == 0) &&
     ((DAT_00029a31 != '\0' || (iVar1 = isatty((uint)(DAT_00029a28 == 0)), iVar1 != 0)))) {
    if (DAT_000294ec == 0) {
      if (DAT_00029a28 == 0) {
        puVar3 = &DAT_00023705;
        pcVar4 = "written to";
      }
      else {
        puVar3 = &DAT_00022c9d;
        pcVar4 = "read from";
      }
      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,
                   "%s: compressed data not %s a terminal. Use -f to force %scompression.\nFor help, type: %s -h\n"
                   ,DAT_00071f68,pcVar4,puVar3,DAT_00071f68,iVar2,iVar2);
    }
  }
  else {
    DAT_0002cf00 = 0x69647473;
    DAT_0002cf04 = 0x6e;
    DAT_00061b60 = 0x6f647473;
    DAT_00061b64 = 0x7475;
    DAT_00061b66 = 0;
    iVar1 = __fxstat64(3,0,(stat64 *)&DAT_00029500);
    if (iVar1 == 0) {
      if ((DAT_00029510 & 0xf000) == 0x8000) {
        DAT_0005d330 = DAT_0002952c;
        DAT_0005d334 = DAT_00029530;
        DAT_00071f70 = 0xffffffff;
        if ((DAT_00029160 == 0) || (iVar2 != 0)) {
          DAT_00071f6c = DAT_00029548;
          DAT_00071f70 = DAT_0002954c;
        }
      }
      else {
        DAT_0005d334 = 0xffffffff;
        DAT_0005d330 = 0xffffffff;
        DAT_00071f70 = 0xffffffff;
        if ((DAT_00029160 == 0) || (iVar2 != 0)) {
          FUN_0001d480(&DAT_00071f6c);
        }
      }
      FUN_0001c400();
      DAT_000294f4 = 1;
      DAT_00029a0c = 0;
      DAT_00061b40 = 0;
      DAT_00029970 = 1;
      if ((DAT_00029a28 != 0) && (DAT_00029158 = FUN_00014610(), DAT_00029158 < 0)) {
                    /* WARNING: Subroutine does not return */
        FUN_00015940();
      }
      if (DAT_00029a18 != 0) {
        FUN_00015450();
        return;
      }
      while( true ) {
        iVar2 = (*(code *)PTR_FUN_000291c0)(0,1);
        if (iVar2 != 0) {
          return;
        }
        if (((DAT_00029a28 == 0) || (DAT_00029a10 != 0)) || (iVar2 = FUN_00015a00(), iVar2 != 0))
        break;
        DAT_00029158 = FUN_00014610();
        if (DAT_00029158 < 0) {
          return;
        }
        DAT_00071f60 = 0;
        DAT_00071f64 = 0;
      }
      puVar3 = PTR_stderr_00028fc8;
      if (DAT_000294f0 == 0) {
        return;
      }
      if (DAT_000294e8 == 0) {
        if (DAT_00029a28 != 0) {
          return;
        }
        FUN_0001cc40((DAT_0002d300 - DAT_00071f60) + DAT_00079fc0,
                     ((DAT_0002d304 - DAT_00071f64) - (uint)(DAT_0002d300 < DAT_00071f60)) +
                     DAT_00079fc4 + (uint)CARRY4(DAT_0002d300 - DAT_00071f60,DAT_00079fc0),
                     DAT_0002d300,DAT_0002d304,*(undefined4 *)PTR_stderr_00028fc8);
        FUN_0001e830(*(undefined4 *)puVar3,"\n");
        return;
      }
      FUN_0001e830(*(undefined4 *)PTR_stderr_00028fc8,&DAT_00022cb9);
      return;
    }
    FUN_000143e0();
  }
                    /* WARNING: Subroutine does not return */
  FUN_00015940();
}

