// File: ncbi[P]amr/common.cpp
// Function: Common_sp::getCommandLine[abi:cxx11]()
string getCommandLine ()
{
  string commandLine;
  for (const string& s : programArgs)
  {
    const bool bad =    s. empty () 
                     || contains (s, ' ')
                     || contains (s, '|')
                     || contains (s, ';')
                     || contains (s, '#')
                     || contains (s, '*')
                     || contains (s, '?')
                     || contains (s, '$')
                     || contains (s, '(')
                     || contains (s, ')')
                     || contains (s, '<')
                     || contains (s, '>')
                     || contains (s, '~')
                     || contains (s, '\'')
                     || contains (s, '"')
                     || contains (s, '\\');
    if (! commandLine. empty ())
      commandLine += ' ';
    if (bad)
      commandLine += shellQuote (s);
    else
      commandLine += s;
  }
  return commandLine;
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0x10(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0xa0(%rsp)
movb $0x0, 0x9f(%rsp)
callq 0xca10
leaq 0xc9f20(%rip), %rax     # 0x106c40
movq %rax, 0x90(%rsp)
leaq 0xc9f11(%rip), %rdi     # 0x106c40
callq 0x2eff0
movq %rax, 0x88(%rsp)
leaq 0xc9efd(%rip), %rdi     # 0x106c40
callq 0x2f020
movq %rax, 0x80(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2f050
testb $0x1, %al
jne 0x3cd6e
jmp 0x3d0e1
leaq 0x88(%rsp), %rdi
callq 0x2f090
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rdi
callq 0xcc10
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
movq 0x78(%rsp), %rdi
movl $0x20, %esi
callq 0x2dbd0
movb %al, 0xe(%rsp)
jmp 0x3cdb0
movb 0xe(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cdc5
movq 0x78(%rsp), %rdi
movl $0x7c, %esi
callq 0x2dbd0
movb %al, 0xd(%rsp)
jmp 0x3cdda
movb 0xd(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cdef
movq 0x78(%rsp), %rdi
movl $0x3b, %esi
callq 0x2dbd0
movb %al, 0xc(%rsp)
jmp 0x3ce04
movb 0xc(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3ce19
movq 0x78(%rsp), %rdi
movl $0x23, %esi
callq 0x2dbd0
movb %al, 0xb(%rsp)
jmp 0x3ce2e
movb 0xb(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3ce43
movq 0x78(%rsp), %rdi
movl $0x2a, %esi
callq 0x2dbd0
movb %al, 0xa(%rsp)
jmp 0x3ce58
movb 0xa(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3ce6d
movq 0x78(%rsp), %rdi
movl $0x3f, %esi
callq 0x2dbd0
movb %al, 0x9(%rsp)
jmp 0x3ce82
movb 0x9(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3ce97
movq 0x78(%rsp), %rdi
movl $0x24, %esi
callq 0x2dbd0
movb %al, 0x8(%rsp)
jmp 0x3ceac
movb 0x8(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cec1
movq 0x78(%rsp), %rdi
movl $0x28, %esi
callq 0x2dbd0
movb %al, 0x7(%rsp)
jmp 0x3ced6
movb 0x7(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3ceeb
movq 0x78(%rsp), %rdi
movl $0x29, %esi
callq 0x2dbd0
movb %al, 0x6(%rsp)
jmp 0x3cf00
movb 0x6(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cf15
movq 0x78(%rsp), %rdi
movl $0x3c, %esi
callq 0x2dbd0
movb %al, 0x5(%rsp)
jmp 0x3cf2a
movb 0x5(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cf3f
movq 0x78(%rsp), %rdi
movl $0x3e, %esi
callq 0x2dbd0
movb %al, 0x4(%rsp)
jmp 0x3cf54
movb 0x4(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cf69
movq 0x78(%rsp), %rdi
movl $0x7e, %esi
callq 0x2dbd0
movb %al, 0x3(%rsp)
jmp 0x3cf7e
movb 0x3(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cf8f
movq 0x78(%rsp), %rdi
movl $0x27, %esi
callq 0x2dbd0
movb %al, 0x2(%rsp)
jmp 0x3cfa4
movb 0x2(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cfb5
movq 0x78(%rsp), %rdi
movl $0x22, %esi
callq 0x2dbd0
movb %al, 0x1(%rsp)
jmp 0x3cfca
movb 0x1(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xf(%rsp)
jne 0x3cff8
jmp 0x3cfdb
movq 0x78(%rsp), %rdi
movl $0x5c, %esi
callq 0x2dbd0
movb %al, (%rsp)
jmp 0x3cfef
movb (%rsp), %al
movb %al, 0xf(%rsp)
jmp 0x3cff8
movq 0x10(%rsp), %rdi
movb 0xf(%rsp), %al
andb $0x1, %al
movb %al, 0x77(%rsp)
callq 0xcc10
testb $0x1, %al
jne 0x3d036
movq 0x10(%rsp), %rdi
movl $0x20, %esi
callq 0xc4c0
jmp 0x3d021
jmp 0x3d036
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
jmp 0x3d10a
testb $0x1, 0x77(%rsp)
je 0x3d0ba
movq 0x78(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0xc320
jmp 0x3d04e
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2d3d0
jmp 0x3d05f
movq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0xc960
jmp 0x3d070
leaq 0x40(%rsp), %rdi
callq 0xce98
leaq 0x20(%rsp), %rdi
callq 0xce98
jmp 0x3d0cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
jmp 0x3d0ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xce98
leaq 0x20(%rsp), %rdi
callq 0xce98
jmp 0x3d10a
movq 0x10(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0xc960
jmp 0x3d0cb
jmp 0x3d0cd
jmp 0x3d0cf
leaq 0x88(%rsp), %rdi
callq 0x2f0f0
jmp 0x3cd50
movb $0x1, 0x9f(%rsp)
testb $0x1, 0x9f(%rsp)
jne 0x3d0fd
movq 0x10(%rsp), %rdi
callq 0xce98
movq 0x18(%rsp), %rax
addq $0xa8, %rsp
retq
movq 0x10(%rsp), %rdi
callq 0xce98
movq 0x68(%rsp), %rdi
callq 0xccf0
nop