// File: /workspace/github_c_makefile_star2_O1/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, 0x10a33(%rip)     # 0x15a2c
jne 0x50fc
cmpl $0x3, 0x10a2a(%rip)     # 0x15a30
je 0x50fc
cmpb $0x0, 0xfdd1(%rip)      # 0x14de4
je 0x50fc
leaq 0xfdd0(%rip), %rdi      # 0x14df0
leaq 0x8(%rsp), %rsi
callq 0x2190
testl %eax, %eax
jne 0x5087
cmpb $0x0, 0xfd96(%rip)      # 0x14dcb
je 0x505d
movq 0xefba(%rip), %rax      # 0x13ff8
movq (%rax), %rdi
movq 0x109d8(%rip), %rdx     # 0x15a20
leaq 0xa935(%rip), %rsi      # 0xf984
leaq 0x101aa(%rip), %rcx     # 0x15200
xorl %eax, %eax
callq 0x2180
movq 0xfd5c(%rip), %rdi      # 0x14dc0
testq %rdi, %rdi
je 0x506e
callq 0x20e0
leaq 0x1018b(%rip), %rdi     # 0x15200
callq 0x2080
testl %eax, %eax
je 0x50fc
leaq 0xa92b(%rip), %rsi      # 0xf9b0
jmp 0x50e4
movq 0xef6a(%rip), %r14      # 0x13ff8
movq (%r14), %rdi
movq 0x10988(%rip), %rdx     # 0x15a20
leaq 0xa94c(%rip), %rsi      # 0xf9eb
xorl %eax, %eax
callq 0x2180
movq (%r14), %rdi
movq 0x10970(%rip), %rdx     # 0x15a20
leaq 0xa965(%rip), %rsi      # 0xfa1c
xorl %eax, %eax
callq 0x2180
movq (%r14), %rdi
movq 0x10958(%rip), %rdx     # 0x15a20
leaq 0xa985(%rip), %rsi      # 0xfa54
leaq 0x1012a(%rip), %rcx     # 0x15200
xorl %eax, %eax
callq 0x2180
leaq 0xa990(%rip), %rsi      # 0xfa74
movq 0xef0d(%rip), %rax      # 0x13ff8
movq (%rax), %rdi
movq 0x1092b(%rip), %rdx     # 0x15a20
xorl %eax, %eax
callq 0x2180
cmpb $0x0, 0xfcc8(%rip)      # 0x14dcb
je 0x513f
movl 0xfccc(%rip), %r8d      # 0x14dd8
testl %r8d, %r8d
jle 0x513f
movl %r8d, %r9d
subl 0xfcc1(%rip), %r9d      # 0x14ddc
jle 0x513f
movq 0xeed4(%rip), %rax      # 0x13ff8
movq (%rax), %rdi
movq 0x108f2(%rip), %rcx     # 0x15a20
leaq 0xa97c(%rip), %rsi      # 0xfab1
movq %rcx, %rdx
xorl %eax, %eax
callq 0x2180
cmpl %ebx, 0xfca3(%rip)      # 0x14de8
jge 0x514d
movl %ebx, 0xfc9b(%rip)      # 0x14de8
movl 0xfc95(%rip), %edi      # 0x14de8
callq 0x2260