// File: ncbi[P]amr/common.cpp
// Function: Common_sp::ShellApplication::uncompress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
string ShellApplication::uncompress (const string &quotedFName,
                                     const string &suffix) const
{
  ASSERT (! tmp. empty ());
  const string res (shellQuote (tmp + "/" + suffix));
  QC_ASSERT (quotedFName != res);
  const string s (unQuote (quotedFName));
  if (isRight (s, ".gz"))  
  {
    exec ("gunzip -c " + quotedFName + " > " + res);
    return res;
  }
  return quotedFName;  
}

// Assembly:
subq $0x3b8, %rsp            # imm = 0x3B8
movq %rdi, 0x40(%rsp)
movq %rdi, %rax
movq %rax, 0x48(%rsp)
movq %rdi, 0x3b0(%rsp)
movq %rsi, 0x3a8(%rsp)
movq %rdx, 0x3a0(%rsp)
movq %rcx, 0x398(%rsp)
movq 0x3a8(%rsp), %rax
movq %rax, 0x50(%rsp)
callq 0xc090
movq 0x50(%rsp), %rdi
movl $0x0, (%rax)
addq $0x168, %rdi            # imm = 0x168
callq 0xcc10
testb $0x1, %al
jne 0x721b6
jmp 0x7243d
callq 0xc8c0
cmpl $0x0, %eax
jne 0x72433
leaq 0x2f7(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xcd00
movq 0x38(%rsp), %rdx
leaq 0x5b837(%rip), %rsi     # 0xcda19
leaq 0x2f8(%rsp), %rdi
callq 0x29fd0
jmp 0x721f1
leaq 0x2c0(%rsp), %rdi
movl $0x1137, %esi           # imm = 0x1137
callq 0x2ded0
jmp 0x72205
leaq 0x318(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
leaq 0x2c0(%rsp), %rdx
callq 0x2dde0
jmp 0x72224
leaq 0x59976(%rip), %rdx     # 0xcbba1
leaq 0x338(%rsp), %rdi
leaq 0x318(%rsp), %rsi
callq 0x2a2f0
jmp 0x72242
leaq 0x27f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xcd00
movq 0x30(%rsp), %rdx
leaq 0x5dbfa(%rip), %rsi     # 0xcfe5a
leaq 0x280(%rsp), %rdi
callq 0x29fd0
jmp 0x7226f
leaq 0x5b7a0(%rip), %rdx     # 0xcda16
leaq 0x2a0(%rsp), %rdi
leaq 0x280(%rsp), %rsi
callq 0x2a2f0
jmp 0x7228d
leaq 0x358(%rsp), %rdi
leaq 0x338(%rsp), %rsi
leaq 0x2a0(%rsp), %rdx
callq 0x2dde0
jmp 0x722ac
leaq 0x5db67(%rip), %rdx     # 0xcfe1a
leaq 0x378(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x2a2f0
jmp 0x722ca
leaq 0x378(%rsp), %rdi
callq 0x3e9b0
jmp 0x722d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72421
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72414
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72407
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x723fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x723e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x723d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x723c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x723b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
leaq 0x378(%rsp), %rdi
callq 0xce98
leaq 0x358(%rsp), %rdi
callq 0xce98
leaq 0x2a0(%rsp), %rdi
callq 0xce98
leaq 0x280(%rsp), %rdi
callq 0xce98
leaq 0x27f(%rsp), %rdi
callq 0xc7a0
leaq 0x338(%rsp), %rdi
callq 0xce98
leaq 0x318(%rsp), %rdi
callq 0xce98
leaq 0x2c0(%rsp), %rdi
callq 0xce98
leaq 0x2f8(%rsp), %rdi
callq 0xce98
leaq 0x2f7(%rsp), %rdi
callq 0xc7a0
jmp 0x72a1b
movl $0x1, %edi
callq 0xc8d0
movq 0x50(%rsp), %rsi
addq $0x168, %rsi            # imm = 0x168
leaq 0x5bfae(%rip), %rdx     # 0xce3fe
leaq 0x218(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x2d9a0
movq 0x28(%rsp), %rsi
movq 0x398(%rsp), %rdx
leaq 0x238(%rsp), %rdi
callq 0x2e220
jmp 0x7247e
leaq 0x258(%rsp), %rdi
leaq 0x238(%rsp), %rsi
callq 0x2d3d0
jmp 0x72495
leaq 0x238(%rsp), %rdi
callq 0xce98
leaq 0x218(%rsp), %rdi
callq 0xce98
callq 0xc090
movl $0x0, (%rax)
movq 0x3a0(%rsp), %rdi
leaq 0x258(%rsp), %rsi
callq 0x2f5a0
testb $0x1, %al
jne 0x727a7
callq 0xc8c0
cmpl $0x0, %eax
jne 0x7279d
leaq 0x177(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xcd00
movq 0x20(%rsp), %rdx
leaq 0x5b516(%rip), %rsi     # 0xcda19
leaq 0x178(%rsp), %rdi
callq 0x29fd0
jmp 0x72512
leaq 0x150(%rsp), %rdi
movl $0x1139, %esi           # imm = 0x1139
callq 0x2ded0
jmp 0x72526
leaq 0x198(%rsp), %rdi
leaq 0x178(%rsp), %rsi
leaq 0x150(%rsp), %rdx
callq 0x2dde0
jmp 0x72545
leaq 0x59655(%rip), %rdx     # 0xcbba1
leaq 0x1b8(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x2a2f0
jmp 0x72563
leaq 0x10f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x5d8d9(%rip), %rsi     # 0xcfe5a
leaq 0x110(%rsp), %rdi
callq 0x29fd0
jmp 0x72590
leaq 0x5b47f(%rip), %rdx     # 0xcda16
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x2a2f0
jmp 0x725ae
leaq 0x1d8(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x2dde0
jmp 0x725cd
leaq 0x5d8db(%rip), %rdx     # 0xcfeaf
leaq 0x1f8(%rsp), %rdi
leaq 0x1d8(%rsp), %rsi
callq 0x2a2f0
jmp 0x725eb
leaq 0x1f8(%rsp), %rdi
callq 0x3e9b0
jmp 0x725fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72631
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
leaq 0x238(%rsp), %rdi
callq 0xce98
leaq 0x218(%rsp), %rdi
callq 0xce98
jmp 0x72a1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x7278b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x7277e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72771
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72764
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x7274a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x7273d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72730
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72723
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0xce98
leaq 0x1d8(%rsp), %rdi
callq 0xce98
leaq 0x130(%rsp), %rdi
callq 0xce98
leaq 0x110(%rsp), %rdi
callq 0xce98
leaq 0x10f(%rsp), %rdi
callq 0xc7a0
leaq 0x1b8(%rsp), %rdi
callq 0xce98
leaq 0x198(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
leaq 0x178(%rsp), %rdi
callq 0xce98
leaq 0x177(%rsp), %rdi
callq 0xc7a0
jmp 0x72a0e
movl $0x1, %edi
callq 0xc8d0
movq 0x3a0(%rsp), %rsi
leaq 0xe8(%rsp), %rdi
callq 0x2f110
jmp 0x727be
leaq 0xc7(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x5d6e6(%rip), %rsi     # 0xcfec2
leaq 0xc8(%rsp), %rdi
callq 0x29fd0
jmp 0x727eb
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x404c0
movb %al, 0xf(%rsp)
jmp 0x72806
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0xc7(%rsp), %rdi
callq 0xc7a0
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x7282d
jmp 0x729be
movq 0x3a0(%rsp), %rdx
leaq 0x5d68a(%rip), %rsi     # 0xcfec6
leaq 0x60(%rsp), %rdi
callq 0x2a1c0
jmp 0x72848
leaq 0x5a3a3(%rip), %rdx     # 0xccbf2
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2a2f0
jmp 0x72863
leaq 0xa0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x258(%rsp), %rdx
callq 0x2e220
jmp 0x72882
leaq 0x9440f(%rip), %rsi     # 0x106c98
leaq 0xa0(%rsp), %rdi
callq 0x4a960
jmp 0x72898
leaq 0xa0(%rsp), %rdi
callq 0xce98
leaq 0x80(%rsp), %rdi
callq 0xce98
leaq 0x60(%rsp), %rdi
callq 0xce98
movq 0x40(%rsp), %rdi
leaq 0x258(%rsp), %rsi
callq 0xc320
jmp 0x728d0
movl $0x1, 0x5c(%rsp)
jmp 0x729da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72a0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x7292d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0xc7(%rsp), %rdi
callq 0xc7a0
jmp 0x72a01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x72a01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x729b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
jmp 0x729a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2e8(%rsp)
movl %eax, 0x2e4(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0xce98
leaq 0x80(%rsp), %rdi
callq 0xce98
leaq 0x60(%rsp), %rdi
callq 0xce98
jmp 0x72a01
movq 0x40(%rsp), %rdi
movq 0x3a0(%rsp), %rsi
callq 0xc320
jmp 0x729d2
movl $0x1, 0x5c(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0xce98
leaq 0x258(%rsp), %rdi
callq 0xce98
movq 0x48(%rsp), %rax
addq $0x3b8, %rsp            # imm = 0x3B8
retq
leaq 0xe8(%rsp), %rdi
callq 0xce98
leaq 0x258(%rsp), %rdi
callq 0xce98
movq 0x2e8(%rsp), %rdi
callq 0xccf0
nopl (%rax,%rax)