// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::ShellApplication::findProg(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
void ShellApplication::findProg (const string &progName) const
{
	ASSERT (! progName. empty ());
	ASSERT (! contains (progName, '/'));
	ASSERT (isDirName (execDir));
	
	string dir;
	if (! find (prog2dir, progName, dir))
	{
		dir = fileExists (execDir + progName)
		        ? execDir
		        : which (progName);
	  if (dir. empty ())
	    throw runtime_error ("Binary " + shellQuote (progName) + " is not found.\nPlease make sure that " 
	                         + shellQuote (progName) + " is in the same directory as " + shellQuote (Common_sp::programName) + " or is in your $PATH.");;
	  prog2dir [progName] = dir;
	}
	  
	ASSERT (isDirName (dir));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1b0, %rsp            # imm = 0x1B0
movq %rsi, %rbx
movq %rdi, %r15
callq 0xb060
andl $0x0, (%rax)
cmpq $0x0, 0x8(%rbx)
je 0x3a9fa
movq %rax, %r14
pushq $0x2f
popq %rsi
movq %rbx, %rdi
callq 0x1c948
testb %al, %al
jne 0x3aad4
andl $0x0, (%r14)
leaq 0xb0(%r15), %r12
movq %r12, %rdi
callq 0x1e230
testb %al, %al
je 0x3abae
leaq 0x60(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x188, %r15            # imm = 0x188
leaq 0x50(%rsp), %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3d772
testb %al, %al
jne 0x3a9ca
leaq 0x30(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1dbc3
leaq 0x30(%rsp), %rdi
callq 0x24f27
testb %al, %al
je 0x3a976
leaq 0x10(%rsp), %rdi
movq %r12, %rsi
callq 0xb7b0
jmp 0x3a983
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
callq 0x2857d
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb350
leaq 0x10(%rsp), %rdi
callq 0xbb68
leaq 0x30(%rsp), %rdi
callq 0xbb68
cmpq $0x0, 0x58(%rsp)
je 0x3ad6d
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3d7a6
leaq 0x50(%rsp), %rsi
movq %rax, %rdi
callq 0xb350
andl $0x0, (%r14)
leaq 0x50(%rsp), %rdi
callq 0x1e230
testb %al, %al
je 0x3ac88
leaq 0x50(%rsp), %rdi
callq 0xbb68
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6c0
testl %eax, %eax
jne 0x3ad65
leaq 0x20f33(%rip), %rsi     # 0x5b941
leaq 0xd0(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x1b7b6
leaq 0xb0(%rsp), %rdi
movl $0x1104, %esi           # imm = 0x1104
callq 0x1caa3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x1ca3c
leaq 0x1f18a(%rip), %rdx     # 0x59be3
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x1b92d
leaq 0x230ee(%rip), %rsi     # 0x5db60
leaq 0x70(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x1b7b6
leaq 0x20eb3(%rip), %rdx     # 0x5b93e
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x216f9(%rip), %rdx     # 0x5c1b4
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0x50(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x3ad65
leaq 0x20e59(%rip), %rsi     # 0x5b941
leaq 0xd0(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x1b7b6
leaq 0xb0(%rsp), %rdi
movl $0x1105, %esi           # imm = 0x1105
callq 0x1caa3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x1ca3c
leaq 0x1f0b0(%rip), %rdx     # 0x59be3
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x1b92d
leaq 0x23014(%rip), %rsi     # 0x5db60
leaq 0x70(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x1b7b6
leaq 0x20dd9(%rip), %rdx     # 0x5b93e
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2300c(%rip), %rdx     # 0x5dba1
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0x50(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x3ad65
leaq 0x20d7f(%rip), %rsi     # 0x5b941
leaq 0xd0(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x1b7b6
leaq 0xb0(%rsp), %rdi
movl $0x1106, %esi           # imm = 0x1106
callq 0x1caa3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x1ca3c
leaq 0x1efd6(%rip), %rdx     # 0x59be3
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x1b92d
leaq 0x22f3a(%rip), %rsi     # 0x5db60
leaq 0x70(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x1b7b6
leaq 0x20cff(%rip), %rdx     # 0x5b93e
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x22f4d(%rip), %rdx     # 0x5dbbc
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0x50(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x3ad65
leaq 0x20ca5(%rip), %rsi     # 0x5b941
leaq 0xb0(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
movl $0x1114, %esi           # imm = 0x1114
callq 0x1caa3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x1eefc(%rip), %rdx     # 0x59be3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x22e5d(%rip), %rsi     # 0x5db60
leaq 0x110(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x20c22(%rip), %rdx     # 0x5b93e
leaq 0x70(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x22ee6(%rip), %rdx     # 0x5dc32
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %r14
leaq 0x190(%rsp), %rdi
movq %rbx, %rsi
callq 0xb7b0
leaq 0x70(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x1c554
leaq 0x22e2f(%rip), %rsi     # 0x5dbd0
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x1b94c
leaq 0x22e1e(%rip), %rdx     # 0x5dbd8
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x1b92d
leaq 0x170(%rsp), %rdi
movq %rbx, %rsi
callq 0xb7b0
leaq 0x110(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x1c554
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x110(%rsp), %rdx
callq 0x1ca3c
leaq 0x22de6(%rip), %rdx     # 0x5dbfe
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x49c84(%rip), %rsi     # 0x84ab8
leaq 0x150(%rsp), %rdi
callq 0xb7b0
leaq 0x130(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x1c554
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x1ca3c
leaq 0x22da5(%rip), %rdx     # 0x5dc1c
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x49149(%rip), %rsi     # 0x83fe8
movq 0x490ba(%rip), %rdx     # 0x83f60
movq %r14, %rdi
callq 0xb9d0
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x3aec3
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x3aed5
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x130(%rsp), %rdi
callq 0xbb68
jmp 0x3aeea
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x150(%rsp), %rdi
callq 0xbb68
jmp 0x3aeff
movq %rax, %rbx
movb $0x1, %bpl
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x3af32
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x3af20
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x3af6a
movq %rax, %rbx
movb $0x1, %bpl
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x3af7c
jmp 0x3af49
jmp 0x3af58
jmp 0x3af49
jmp 0x3af58
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xbb68
jmp 0x3af5b
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x3af92
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x3afa4
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x110(%rsp), %rdi
callq 0xbb68
jmp 0x3afb9
jmp 0x3af8f
jmp 0x3af8f
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x3afcf
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0xbb68
jmp 0x3afde
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x170(%rsp), %rdi
callq 0xbb68
jmp 0x3aff3
jmp 0x3afcc
jmp 0x3afcc
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x3b009
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x3b018
movq %rax, %rbx
movb $0x1, %bpl
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x3b02d
jmp 0x3b006
jmp 0x3b006
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x3b043
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x3b055
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x3b06a
jmp 0x3b040
jmp 0x3b040
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x3b07d
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x3b08f
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x3b09f
jmp 0x3b07a
jmp 0x3b07a
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x3b0ba
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
jmp 0x3b0f5
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x190(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x3b0c9
jmp 0x3b0ff
jmp 0x3b0b7
jmp 0x3b0b7
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
jmp 0x3b104
jmp 0x3b0fc
movq %rax, %rbx
movq %r14, %rdi
callq 0xb470
jmp 0x3b0ff
jmp 0x3b0d7
jmp 0x3b0d7
movq %rax, %rbx
jmp 0x3b109
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x3b0f0
jmp 0x3b0fc
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x3b0ff
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0xba30
nop