// File: /workspace/github_c_makefile_star2_O2/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, 0x10312(%rip)     # 0x13a0c
jne 0x37fd
cmpl $0x3, 0x10309(%rip)     # 0x13a10
je 0x37fd
cmpb $0x0, 0xf6b0(%rip)      # 0x12dc4
je 0x37fd
leaq 0xf6af(%rip), %rdi      # 0x12dd0
leaq 0x8(%rsp), %rsi
callq 0x1170
testl %eax, %eax
jne 0x3788
cmpb $0x0, 0xf675(%rip)      # 0x12dab
je 0x375e
movq 0xe8b9(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq 0x102b7(%rip), %rdx     # 0x13a00
leaq 0xa231(%rip), %rsi      # 0xd981
leaq 0xfa89(%rip), %rcx      # 0x131e0
xorl %eax, %eax
callq 0x1160
movq 0xf63b(%rip), %rdi      # 0x12da0
testq %rdi, %rdi
je 0x376f
callq 0x10d0
leaq 0xfa6a(%rip), %rdi      # 0x131e0
callq 0x1080
testl %eax, %eax
je 0x37fd
leaq 0xa227(%rip), %rsi      # 0xd9ad
jmp 0x37e5
movq 0xe869(%rip), %r14      # 0x11ff8
movq (%r14), %rdi
movq 0x10267(%rip), %rdx     # 0x13a00
leaq 0xa248(%rip), %rsi      # 0xd9e8
xorl %eax, %eax
callq 0x1160
movq (%r14), %rdi
movq 0x1024f(%rip), %rdx     # 0x13a00
leaq 0xa261(%rip), %rsi      # 0xda19
xorl %eax, %eax
callq 0x1160
movq (%r14), %rdi
movq 0x10237(%rip), %rdx     # 0x13a00
leaq 0xa281(%rip), %rsi      # 0xda51
leaq 0xfa09(%rip), %rcx      # 0x131e0
xorl %eax, %eax
callq 0x1160
leaq 0xa28c(%rip), %rsi      # 0xda71
movq 0xe80c(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq 0x1020a(%rip), %rdx     # 0x13a00
xorl %eax, %eax
callq 0x1160
cmpb $0x0, 0xf5a7(%rip)      # 0x12dab
je 0x3840
movl 0xf5ab(%rip), %r8d      # 0x12db8
testl %r8d, %r8d
jle 0x3840
movl %r8d, %r9d
subl 0xf5a0(%rip), %r9d      # 0x12dbc
jle 0x3840
movq 0xe7d3(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq 0x101d1(%rip), %rcx     # 0x13a00
leaq 0xa278(%rip), %rsi      # 0xdaae
movq %rcx, %rdx
xorl %eax, %eax
callq 0x1160
movl 0xf582(%rip), %edi      # 0x12dc8
cmpl %ebx, %edi
jge 0x3852
movl %ebx, 0xf578(%rip)      # 0x12dc8
movl %ebx, %edi
callq 0x1230