// File: /workspace/github_c_makefile_star2_O3/coapp-packages[P]bzip2/bzip2.c
// Function: cleanUpAndFail
static 
void cleanUpAndFail ( Int32 ec )
{
   IntNative      retVal;
   struct MY_STAT statBuf;

   if ( srcMode == SM_F2F 
        && opMode != OM_TEST
        && deleteOutputOnInterrupt ) {

      /* Check whether input file still exists.  Delete output file
         only if input exists to avoid loss of data.  Joerg Prante, 5
         January 2002.  (JRS 06-Jan-2002: other changes in 1.0.2 mean
         this is less likely to happen.  But to be ultra-paranoid, we
         do the check anyway.)  */
      retVal = MY_STAT ( inName, &statBuf );
      if (retVal == 0) {
         if (noisy)
            fprintf ( stderr, 
                      "%s: Deleting output file %s, if it exists.\n",
                      progName, outName );
         if (outputHandleJustInCase != NULL)
            fclose ( outputHandleJustInCase );
         retVal = remove ( outName );
         if (retVal != 0)
            fprintf ( stderr,
                      "%s: WARNING: deletion of output file "
                      "(apparently) failed.\n",
                      progName );
      } else {
         fprintf ( stderr,
                   "%s: WARNING: deletion of output file suppressed\n",
                    progName );
         fprintf ( stderr,
                   "%s:    since input file no longer exists.  Output file\n",
                   progName );
         fprintf ( stderr,
                   "%s:    `%s' may be incomplete.\n",
                   progName, outName );
         fprintf ( stderr, 
                   "%s:    I suggest doing an integrity test (bzip2 -tv)"
                   " of it.\n",
                   progName );
      }
   }

   if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) {
      fprintf ( stderr, 
                "%s: WARNING: some files have not been processed:\n"
                "%s:    %d specified on command line, %d not processed yet.\n\n",
                progName, progName,
                numFileNames, numFileNames - numFilesProcessed );
   }
   setExit(ec);
   exit(exitValue);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x98, %rsp
movl %edi, %ebx
cmpl $0x3, 0x14a96(%rip)     # 0x19a2c
jne 0x5099
cmpl $0x3, 0x14a8d(%rip)     # 0x19a30
je 0x5099
cmpb $0x0, 0x13e34(%rip)     # 0x18de4
je 0x5099
leaq 0x13e33(%rip), %rdi     # 0x18df0
leaq 0x8(%rsp), %rsi
callq 0x2190
testl %eax, %eax
jne 0x5024
cmpb $0x0, 0x13df9(%rip)     # 0x18dcb
je 0x4ffa
movq 0x1301d(%rip), %rax     # 0x17ff8
movq (%rax), %rdi
movq 0x14a3b(%rip), %rdx     # 0x19a20
leaq 0xd995(%rip), %rsi      # 0x12981
leaq 0x1420d(%rip), %rcx     # 0x19200
xorl %eax, %eax
callq 0x2180
movq 0x13dbf(%rip), %rdi     # 0x18dc0
testq %rdi, %rdi
je 0x500b
callq 0x20d0
leaq 0x141ee(%rip), %rdi     # 0x19200
callq 0x2080
testl %eax, %eax
je 0x5099
leaq 0xd98b(%rip), %rsi      # 0x129ad
jmp 0x5081
movq 0x12fcd(%rip), %r14     # 0x17ff8
movq (%r14), %rdi
movq 0x149eb(%rip), %rdx     # 0x19a20
leaq 0xd9ac(%rip), %rsi      # 0x129e8
xorl %eax, %eax
callq 0x2180
movq (%r14), %rdi
movq 0x149d3(%rip), %rdx     # 0x19a20
leaq 0xd9c5(%rip), %rsi      # 0x12a19
xorl %eax, %eax
callq 0x2180
movq (%r14), %rdi
movq 0x149bb(%rip), %rdx     # 0x19a20
leaq 0xd9e5(%rip), %rsi      # 0x12a51
leaq 0x1418d(%rip), %rcx     # 0x19200
xorl %eax, %eax
callq 0x2180
leaq 0xd9f0(%rip), %rsi      # 0x12a71
movq 0x12f70(%rip), %rax     # 0x17ff8
movq (%rax), %rdi
movq 0x1498e(%rip), %rdx     # 0x19a20
xorl %eax, %eax
callq 0x2180
cmpb $0x0, 0x13d2b(%rip)     # 0x18dcb
je 0x50dc
movl 0x13d2f(%rip), %r8d     # 0x18dd8
testl %r8d, %r8d
jle 0x50dc
movl %r8d, %r9d
subl 0x13d24(%rip), %r9d     # 0x18ddc
jle 0x50dc
movq 0x12f37(%rip), %rax     # 0x17ff8
movq (%rax), %rdi
movq 0x14955(%rip), %rcx     # 0x19a20
leaq 0xd9dc(%rip), %rsi      # 0x12aae
movq %rcx, %rdx
xorl %eax, %eax
callq 0x2180
movl 0x13d06(%rip), %edi     # 0x18de8
cmpl %ebx, %edi
jge 0x50ee
movl %ebx, 0x13cfc(%rip)     # 0x18de8
movl %ebx, %edi
callq 0x2260