LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::getString[abi:cxx11]() const
string Json::getString () const
{ 
  const auto* this_ = this;
  if (! this_ || asJsonNull ())
    throw logic_error ("undefined");
  if (const JsonString* j = asJsonString ())
    return j->s;
  throw logic_error ("Not a JsonString");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq %rsi, %rdi
callq *0x48(%rax)
testq %rax, %rax
jne 0x30baa
movq (%r14), %rax
movq %r14, %rdi
callq *0x50(%rax)
testq %rax, %rax
je 0x30bc6
addq $0x8, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0xb7b0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2c15b(%rip), %rsi     # 0x5cd17
movq %rax, %rdi
callq 0xb800
jmp 0x30be0
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2c149(%rip), %rsi     # 0x5cd21
movq %rax, %rdi
callq 0xb800
movq 0x533d9(%rip), %rsi     # 0x83fc0
movq 0x5338a(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
jmp 0x30bf8
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::getInt() const
long long Json::getInt () const
{ 
  const auto* this_ = this;
  if (! this_ || asJsonNull ())
    throw logic_error ("undefined");
  if (const JsonInt* j = asJsonInt ())
    return j->n;
  throw logic_error ("Not a JsonInt");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x48(%rax)
testq %rax, %rax
jne 0x30c38
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x58(%rax)
testq %rax, %rax
je 0x30c54
movq 0x8(%rax), %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2c0cd(%rip), %rsi     # 0x5cd17
movq %rax, %rdi
callq 0xb800
jmp 0x30c6e
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2c0cc(%rip), %rsi     # 0x5cd32
movq %rax, %rdi
callq 0xb800
movq 0x5334b(%rip), %rsi     # 0x83fc0
movq 0x532fc(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
jmp 0x30c86
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::getDouble() const
double Json::getDouble () const
{ 
  const auto* this_ = this;
  if (! this_)
    throw logic_error ("undefined");
  if (asJsonNull ())
    return numeric_limits<double>::quiet_NaN ();
  if (const JsonDouble* j = asJsonDouble ())
    return j->n;
  throw logic_error ("Not a JsonDouble");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x48(%rax)
testq %rax, %rax
je 0x30cb6
movsd 0x2a8e4(%rip), %xmm0    # 0x5b598
jmp 0x30cc9
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x60(%rax)
testq %rax, %rax
je 0x30cd1
movsd 0x8(%rax), %xmm0
addq $0x8, %rsp
popq %rbx
popq %r14
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2c05d(%rip), %rsi     # 0x5cd40
movq %rax, %rdi
callq 0xb800
movq 0x532ce(%rip), %rsi     # 0x83fc0
movq 0x5327f(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::getBoolean() const
bool Json::getBoolean () const
{ 
  const auto* this_ = this;
  if (! this_ || asJsonNull ())
    throw logic_error ("undefined");
  if (const JsonBoolean* j = asJsonBoolean ())
    return j->b;
  throw logic_error ("Not a JsonBoolean");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x48(%rax)
testq %rax, %rax
jne 0x30d3f
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x68(%rax)
testq %rax, %rax
je 0x30d5b
movb 0x8(%rax), %al
addq $0x8, %rsp
popq %rbx
popq %r14
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2bfc6(%rip), %rsi     # 0x5cd17
movq %rax, %rdi
callq 0xb800
jmp 0x30d75
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2bfe4(%rip), %rsi     # 0x5cd51
movq %rax, %rdi
callq 0xb800
movq 0x53244(%rip), %rsi     # 0x83fc0
movq 0x531f5(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
jmp 0x30d8d
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
const Json* Json::at (const string& name_arg) const
{ 
  const auto* this_ = this;
  if (! this_)
    throw logic_error ("undefined");
  if (asJsonNull ())
    return nullptr;
  if (const JsonMap* j = asJsonMap ())
    return findPtr (j->data, name_arg);
  throw logic_error ("Not a JsonMap");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq (%rdi), %rax
callq *0x48(%rax)
testq %rax, %rax
je 0x30dbf
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq (%r14), %rax
movq %r14, %rdi
callq *0x78(%rax)
testq %rax, %rax
je 0x30de3
addq $0x8, %rax
movq %rax, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x3d033
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2bf6e(%rip), %rsi     # 0x5cd63
movq %rax, %rdi
callq 0xb800
movq 0x531bc(%rip), %rsi     # 0x83fc0
movq 0x5316d(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::at(unsigned long) const
const Json* Json::at (size_t index) const
{ 
  const auto* this_ = this;
  if (! this_)
    throw logic_error ("undefined");
  if (asJsonNull ())
    return nullptr;
  if (const JsonArray* j = asJsonArray ())
  {
    if (index >= j->data. size ())
      throw runtime_error (FUNC "Index out of range");
    else
      return j->data [index];
  }
  throw logic_error ("Not a JsonArray");
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x50, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rdi), %rax
callq *0x48(%rax)
testq %rax, %rax
je 0x30e43
xorl %eax, %eax
jmp 0x30e74
movq (%r14), %rax
movq %r14, %rdi
callq *0x70(%rax)
testq %rax, %rax
je 0x30e7d
movq 0x10(%rax), %rcx
subq 0x8(%rax), %rcx
sarq $0x3, %rcx
cmpq %rbx, %rcx
jbe 0x30ead
addq $0x8, %rax
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3d04a
movq (%rax), %rax
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2bf25(%rip), %rsi     # 0x5cdb4
movq %rax, %rdi
callq 0xb800
movq 0x53122(%rip), %rsi     # 0x83fc0
movq 0x530d3(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2beb2(%rip), %rsi     # 0x5cd71
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x2beca(%rip), %rdx     # 0x5cd9f
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x530eb(%rip), %rsi     # 0x83fe8
movq 0x5305c(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x30f21
movq %rax, %r14
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x30f37
jmp 0x30f3f
jmp 0x30f34
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Json::getSize() const
size_t Json::getSize () const
{ 
  const auto* this_ = this;
  if (! this_)
    throw logic_error ("undefined");
  if (asJsonNull ())
    return 0;
  if (const JsonArray* j = asJsonArray ())
    return j->data. size ();
  throw logic_error ("Not a JsonArray");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x48(%rax)
testq %rax, %rax
je 0x30f5e
xorl %eax, %eax
jmp 0x30f7b
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x70(%rax)
testq %rax, %rax
je 0x30f83
movq %rax, %rcx
movq 0x10(%rax), %rax
subq 0x8(%rcx), %rax
sarq $0x3, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2be1f(%rip), %rsi     # 0x5cdb4
movq %rax, %rdi
callq 0xb800
movq 0x5301c(%rip), %rsi     # 0x83fc0
movq 0x52fcd(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::JsonArray::JsonArray(Common_sp::CharInput&, Common_sp::JsonContainer*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
JsonArray::JsonArray (CharInput& in,
                      JsonContainer* parent,
                      const string& name)
: JsonContainer (parent, name)
{
  bool first = true;
  for (;;)
  {
    Token token (in, false, false);
    if (token. isDelimiter (']'))
      break;
    if (! first)
    {
      if (! token. isDelimiter (','))
        in. error ("\',\'");
      token = Token (in, false, false);
    }
    parse (in, token, this, noString);
    first = false;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rsi, %r14
movq %rdi, %r15
movq %rdx, %rsi
movq %rcx, %rdx
callq 0x3d0b4
leaq 0x51a89(%rip), %rax     # 0x82a78
movq %rax, (%r15)
leaq 0x8(%r15), %rax
movq %rax, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r15)
movups %xmm0, 0x11(%r15)
movb $0x1, %bl
leaq 0x78(%rsp), %r12
pushq $0x5d
popq %rbp
movq %r12, %rdi
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3cc32
movq %r12, %rdi
movl %ebp, %esi
callq 0x3cc94
movl %eax, %r13d
testb %al, %al
jne 0x31084
testb $0x1, %bl
jne 0x3106d
movq %r12, %rdi
pushq $0x2c
popq %rsi
callq 0x3cc94
testb %al, %al
je 0x310a3
leaq 0x18(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3cc32
movq %r12, %rdi
movq %rbx, %rsi
callq 0x3cbc2
movq %rbx, %rdi
callq 0x3cc0c
movq %r14, %rdi
movq %r12, %rsi
movq %r15, %rdx
leaq 0x53a7b(%rip), %rcx     # 0x84af8
callq 0x308b8
xorl %ebx, %ebx
movq %r12, %rdi
callq 0x3cc0c
testb %r13b, %r13b
je 0x31012
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2bd1a(%rip), %rsi     # 0x5cdc4
leaq 0x18(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x18(%rsp), %rsi
pushq $0x1
popq %rdx
movq %r14, %rdi
callq 0x3c836
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xbb68
jmp 0x310e4
jmp 0x310e1
jmp 0x310e1
movq %rax, %rbx
jmp 0x310ee
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3cc0c
movq 0x10(%rsp), %rdi
callq 0x3d0ca
movq %rbx, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::JsonArray::saveText(std::ostream&) const
void JsonArray::saveText (ostream& os) const
{ 
  os << "[";
  bool first = true;
  for (const Json* j : data)
  {
    ASSERT (j);
    if (! first)
      os << ",";
    j->saveText (os);
    first = false;
  }
  os << "]";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x29de0(%rip), %rsi     # 0x5aefe
movq %rbx, %rdi
callq 0xb590
movq 0x8(%r14), %r12
movq 0x10(%r14), %r13
movb $0x1, %bpl
leaq 0x2bccd(%rip), %r14     # 0x5ce05
cmpq %r13, %r12
je 0x31173
movq (%r12), %r15
callq 0xb060
andl $0x0, (%rax)
testq %r15, %r15
je 0x31193
testb $0x1, %bpl
jne 0x3115f
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb590
movq (%r15), %rax
movq %r15, %rdi
movq %rbx, %rsi
callq *0x20(%rax)
addq $0x8, %r12
xorl %ebp, %ebp
jmp 0x31138
leaq 0x2bc8d(%rip), %rsi     # 0x5ce07
movq %rbx, %rdi
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb590
callq 0xb6c0
testl %eax, %eax
jne 0x31267
leaq 0x2a79a(%rip), %rsi     # 0x5b941
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x48(%rsp), %rdi
movl $0xcb6, %esi            # imm = 0xCB6
callq 0x1caa3
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x1ca3c
leaq 0x28a00(%rip), %rdx     # 0x59be3
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1b92d
leaq 0x2bbc9(%rip), %rsi     # 0x5cdc8
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x1b7b6
leaq 0x2a729(%rip), %rdx     # 0x5b93e
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1b92d
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0x1ca3c
leaq 0x2e6b8(%rip), %rdx     # 0x5f8fd
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x1b92d
leaq 0xe8(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xbb68
jmp 0x31284
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbb68
jmp 0x31296
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xbb68
jmp 0x312a5
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x312b4
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0xbb68
jmp 0x312c6
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbb68
jmp 0x312d8
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x312e7
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::JsonMap::JsonMap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
JsonMap::JsonMap (const string &fName)
{
  CharInput in (fName);
  const Token token (in, false, false);
  if (! token. isDelimiter ('{'))
    in. error ("Json file " + shellQuote (fName) + ": text should start with '{'", false);
  parse (in);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x51623(%rip), %rax     # 0x82b08
movq %rax, (%rdi)
leaq 0x10(%rdi), %rax
andl $0x0, 0x10(%rdi)
andq $0x0, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq %rax, 0x28(%rdi)
andq $0x0, 0x30(%rdi)
leaq 0xe8(%rsp), %rdi
xorl %edx, %edx
callq 0x3d0dc
leaq 0x88(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3cc32
leaq 0x88(%rsp), %rdi
pushq $0x7b
popq %rsi
callq 0x3cc94
testb %al, %al
je 0x31573
leaq 0xe8(%rsp), %rsi
movq %rbx, %rdi
callq 0x31648
leaq 0x88(%rsp), %rdi
callq 0x3cc0c
leaq 0xe8(%rsp), %rdi
callq 0x1f5f4
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r14
retq
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb7b0
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1c554
leaq 0x2b899(%rip), %rsi     # 0x5ce2f
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1b94c
leaq 0x2b88e(%rip), %rdx     # 0x5ce3a
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1b92d
leaq 0xe8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
xorl %edx, %edx
callq 0x3c836
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x315e1
movq %rax, %r14
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x315f0
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0xbb68
jmp 0x315ff
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x3161a
jmp 0x31617
movq %rax, %r14
jmp 0x31627
movq %rax, %r14
jmp 0x31634
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x3cc0c
leaq 0xe8(%rsp), %rdi
callq 0x1f5f4
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x3e1be
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::JsonMap::saveText(std::ostream&) const
void JsonMap::saveText (ostream& os) const
{ 
  os << "{";
  bool first = true;
  for (const auto& it : data)
  {
    if (! first)
      os << ",";
    os << toStr (it. first) << ":";
    const Json* j = it. second;
    ASSERT (j);
    j->saveText (os);
    first = false;
  }
  os << "}";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x2b43f(%rip), %rsi     # 0x5cea3
movq %rbx, %rdi
callq 0xb590
movq 0x20(%r14), %r15
addq $0x10, %r14
movb $0x1, %al
leaq 0x8(%rsp), %r12
leaq 0x29fde(%rip), %r13     # 0x5ba60
cmpq %r14, %r15
je 0x31af1
testb $0x1, %al
jne 0x31a9a
movq %rbx, %rdi
leaq 0x2b370(%rip), %rsi     # 0x5ce05
callq 0xb590
leaq 0x20(%r15), %rsi
movq %r12, %rdi
callq 0x307ae
movq %rbx, %rdi
movq %r12, %rsi
callq 0xb510
movq %rax, %rdi
movq %r13, %rsi
callq 0xb590
movq %r12, %rdi
callq 0xbb68
movq 0x40(%r15), %rbp
callq 0xb060
andl $0x0, (%rax)
testq %rbp, %rbp
je 0x31b12
movq (%rbp), %rax
movq %rbp, %rdi
movq %rbx, %rsi
callq *0x20(%rax)
movq %r15, %rdi
callq 0xb660
movq %rax, %r15
xorl %eax, %eax
jmp 0x31a82
leaq 0x2b3e8(%rip), %rsi     # 0x5cee0
movq %rbx, %rdi
callq 0xb590
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6c0
testl %eax, %eax
jne 0x31be6
leaq 0x29e1b(%rip), %rsi     # 0x5b941
leaq 0x88(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x68(%rsp), %rdi
movl $0xd08, %esi            # imm = 0xD08
callq 0x1caa3
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x1ca3c
leaq 0x2807b(%rip), %rdx     # 0x59be3
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x1b92d
leaq 0x2b321(%rip), %rsi     # 0x5cea5
leaq 0x28(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x1b7b6
leaq 0x29da4(%rip), %rdx     # 0x5b93e
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1b92d
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x1ca3c
leaq 0x2dd33(%rip), %rdx     # 0x5f8fd
leaq 0x8(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x1b92d
leaq 0x8(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x31c00
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xbb68
jmp 0x31c12
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x31c21
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xbb68
jmp 0x31c30
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbb68
jmp 0x31c42
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0xbb68
jmp 0x31c54
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x31c63
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
jmp 0x31c7a
movq %rax, %rbx
jmp 0x31c7f
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::FileItemGenerator::next(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool FileItemGenerator::next (string &item)
{ 
  if (f. eof ())
    return false;
    
	readLine (f, item);
  if (! tsv)
    trim (item);
  if (item. empty () && f. eof ())
    return false;

  prog (item);
    
	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq 0x68(%rdi), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x88(%rdi,%rax)
jne 0x320b6
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x68(%rdi), %r15
movq %r15, %rdi
callq 0x27ac6
cmpb $0x0, 0x270(%r14)
jne 0x3208d
movq %rbx, %rdi
callq 0x3c32f
cmpq $0x0, 0x8(%rbx)
jne 0x320a3
movq (%r15), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x20(%r15,%rax)
jne 0x320b6
addq $0x8, %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28ac0
movb $0x1, %al
jmp 0x320b8
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::RawDirItemGenerator::next_(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, bool)
bool RawDirItemGenerator::next_ (string &item,
                                 bool report)
{ 
  ASSERT (imp);
  for (;;)
  {
    if (const dirent* f = readdir (imp->dir))    
      item = std::move (string (f->d_name));
    else
      return false;
    if (item == ".")
      continue;
    if (item == "..")
      continue;
    break;
  }

  if (report)
    prog (item);

	return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movl %edx, 0x4(%rsp)
movq %rsi, %rbx
movq %rdi, %r14
callq 0xb060
andl $0x0, (%rax)
movq 0x68(%r14), %rax
testq %rax, %rax
je 0x322c5
leaq 0x28(%rsp), %r15
leaq 0x8(%rsp), %r12
leaq 0x26fd6(%rip), %r13     # 0x59213
movq (%rax), %rdi
callq 0xb8a0
movq %rax, %rbp
testq %rax, %rax
je 0x322ad
leaq 0x13(%rbp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x1b7b6
movq %rbx, %rdi
movq %r15, %rsi
callq 0xb6f0
movq %r15, %rdi
callq 0xbb68
movq %rbx, %rdi
movq %r13, %rsi
callq 0x1cba2
testb %al, %al
jne 0x32291
movq %rbx, %rdi
leaq 0x28cb5(%rip), %rsi     # 0x5af3d
callq 0x1cba2
testb %al, %al
je 0x32297
movq 0x68(%r14), %rax
jmp 0x3223d
cmpb $0x0, 0x4(%rsp)
je 0x322ad
addq $0x8, %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28ac0
testq %rbp, %rbp
setne %al
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6c0
testl %eax, %eax
jne 0x32399
leaq 0x29668(%rip), %rsi     # 0x5b941
leaq 0xa8(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1b7b6
leaq 0x88(%rsp), %rdi
movl $0xd8d, %esi            # imm = 0xD8D
callq 0x1caa3
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x1ca3c
leaq 0x278c2(%rip), %rdx     # 0x59be3
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x1b92d
leaq 0x2ac53(%rip), %rsi     # 0x5cf90
leaq 0x48(%rsp), %rdi
leaq 0x2(%rsp), %rdx
callq 0x1b7b6
leaq 0x295eb(%rip), %rdx     # 0x5b93e
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1b92d
leaq 0x8(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x1ca3c
leaq 0x2ac4b(%rip), %rdx     # 0x5cfcb
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1b92d
leaq 0x28(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xbb68
jmp 0x323b3
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x323c2
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x323d1
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x323e0
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xbb68
jmp 0x323f2
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbb68
jmp 0x32404
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbb68
jmp 0x32416
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::RawDirItemGenerator::toVector()
StringVector RawDirItemGenerator::toVector ()
{
  StringVector vec;
  string s;
  while (next (s))
    vec << std::move (s);
      
  vec. sort ();
  QC_ASSERT (vec. isUniq ());
    
  return vec;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x130, %rsp            # imm = 0x130
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movups %xmm0, 0x9(%rdi)
movups %xmm0, (%rdi)
movb $0x0, (%rax)
leaq 0x10(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x2603a
testb %al, %al
je 0x3247a
movq %rbx, %rdi
movq %r15, %rsi
callq 0x1d14c
jmp 0x3245e
movq %rbx, %rdi
callq 0x1e78e
callq 0xb060
andl $0x0, (%rax)
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0x3d1f0
testb %al, %al
je 0x324b3
leaq 0x10(%rsp), %rdi
callq 0xbb68
movq %rbx, %rax
addq $0x130, %rsp            # imm = 0x130
popq %rbx
popq %r14
popq %r15
retq
callq 0xb6c0
testl %eax, %eax
jne 0x3258d
leaq 0x2947a(%rip), %rsi     # 0x5b941
leaq 0x90(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x70(%rsp), %rdi
movl $0xdab, %esi            # imm = 0xDAB
callq 0x1caa3
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x276da(%rip), %rdx     # 0x59be3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x1b92d
leaq 0x2aaaa(%rip), %rsi     # 0x5cfcf
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x29403(%rip), %rdx     # 0x5b93e
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x1ca3c
leaq 0x2aa9c(%rip), %rdx     # 0x5d007
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x1b92d
leaq 0x110(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0xbb68
jmp 0x325aa
movq %rax, %r14
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x325bc
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0xbb68
jmp 0x325cb
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x325da
movq %rax, %r14
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x325ec
movq %rax, %r14
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x325fe
movq %rax, %r14
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x3260d
movq %rax, %r14
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x32623
jmp 0x32620
jmp 0x32620
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0x20bee
movq %r14, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::SoftwareVersion::SoftwareVersion(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
SoftwareVersion::SoftwareVersion (const string &fName)
{ 
  StringVector vec (fName, (size_t) 1, true);
  if (vec. size () != 1)
    throw runtime_error ("Cannot read software version. One line is expected in the file: " + shellQuote (fName));
  init (std::move (vec [0]), false);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
movq %rdi, %rbx
leaq 0x50a23(%rip), %rax     # 0x83078
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
andl $0x0, 0x10(%rdi)
leaq 0x8(%rsp), %r15
pushq $0x1
popq %rdx
pushq $0x1
popq %rcx
movq %r15, %rdi
callq 0x29a8c
movq 0x8(%r15), %rax
subq (%r15), %rax
cmpq $0x20, %rax
jne 0x326b5
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x1d5ec
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x32774
leaq 0x8(%rsp), %rdi
callq 0x20bee
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0xb7b0
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1c554
leaq 0x2a933(%rip), %rsi     # 0x5d016
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x1b94c
movb $0x1, %bpl
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x518dd(%rip), %rsi     # 0x83fe8
movq 0x5184e(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x3272f
movq %rax, %r14
movb $0x1, %bpl
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x32741
movq %rax, %r14
movb $0x1, %bpl
leaq 0x28(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x32755
jmp 0x32762
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
jmp 0x32762
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x20bee
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::SoftwareVersion::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&, bool)
void SoftwareVersion::init (string &&s,
                            bool minorOnly)
{ 
  try 
  { 
    major = str2<uint> (findSplit (s, '.'));
    if (minorOnly)
      minor = str2<uint> (s);
    else
    { 
      minor = str2<uint> (findSplit (s, '.'));
      patch = str2<uint> (s);
    }
  } 
  catch (...) 
  { 
    throw runtime_error ("Cannot read software version"); 
  }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x20, %rsp
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
movq %rsp, %rdi
pushq $0x2e
popq %rdx
callq 0x248b1
movq %rsp, %rdi
callq 0x1dd7e
movl %eax, 0x8(%rbx)
movq %rsp, %rdi
callq 0xbb68
testb %bpl, %bpl
je 0x327b4
movq %r14, %rdi
callq 0x1dd7e
movl %eax, 0xc(%rbx)
jmp 0x327e0
movq %rsp, %rdi
pushq $0x2e
popq %rdx
movq %r14, %rsi
callq 0x248b1
movq %rsp, %rdi
callq 0x1dd7e
movl %eax, 0xc(%rbx)
movq %rsp, %rdi
callq 0xbb68
movq %r14, %rdi
callq 0x1dd7e
movl %eax, 0x10(%rbx)
addq $0x20, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x327ef
jmp 0x327fc
jmp 0x327fc
movq %rax, %rbx
movq %rsp, %rdi
callq 0xbb68
jmp 0x327ff
movq %rax, %rbx
movq %rbx, %rdi
callq 0xb270
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2a83e(%rip), %rsi     # 0x5d057
movq %rax, %rdi
callq 0xb260
movq 0x517c0(%rip), %rsi     # 0x83fe8
movq 0x51731(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
jmp 0x32847
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
callq 0xb970
movq %r14, %rdi
callq 0xba30
movq %rax, %rdi
callq 0x1bdcd
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::DataVersion::DataVersion(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
DataVersion::DataVersion (const string &fName)
{ 
  StringVector vec (fName, (size_t) 1, true);
  if (vec. size () != 1)
    throw runtime_error ("Cannot read data version. One line is expected in the file: " + shellQuote (fName));
  init (std::move (vec [0]));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x507be(%rip), %rax     # 0x830d0
movq %rax, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x8(%rsp), %r15
pushq $0x1
popq %rdx
pushq $0x1
popq %rcx
movq %r15, %rdi
callq 0x29a8c
movq 0x8(%r15), %rax
subq (%r15), %rax
cmpq $0x20, %rax
jne 0x3296b
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x1d5ec
movq %rbx, %rdi
movq %rax, %rsi
callq 0x32a2a
leaq 0x8(%rsp), %rdi
callq 0x20bee
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0xb7b0
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1c554
leaq 0x2a6db(%rip), %rsi     # 0x5d074
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x1b94c
movb $0x1, %bpl
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x51627(%rip), %rsi     # 0x83fe8
movq 0x51598(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x329e5
movq %rax, %r14
movb $0x1, %bpl
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x329f7
movq %rax, %r14
movb $0x1, %bpl
leaq 0x28(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x32a0b
jmp 0x32a18
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
jmp 0x32a18
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x20bee
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::DataVersion::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&)
void DataVersion::init (string &&s)
{ 
  try
  { 
    year  = str2<uint> (findSplit (s, '-'));
    month = str2<uint> (findSplit (s, '-'));
    day   = str2<uint> (findSplit (s, '.'));
    num   = str2<uint> (s);
  } 
  catch (...) 
  { 
    throw runtime_error ("Cannot read data version"); 
  }
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x8(%rsp), %rdi
pushq $0x2d
popq %rdx
callq 0x248b1
leaq 0x8(%rsp), %rdi
callq 0x1dd7e
movl %eax, 0x8(%rbx)
leaq 0x8(%rsp), %rdi
callq 0xbb68
leaq 0x8(%rsp), %rdi
pushq $0x2d
popq %rdx
movq %r14, %rsi
callq 0x248b1
leaq 0x8(%rsp), %rdi
callq 0x1dd7e
movl %eax, 0xc(%rbx)
leaq 0x8(%rsp), %rdi
callq 0xbb68
leaq 0x8(%rsp), %rdi
pushq $0x2e
popq %rdx
movq %r14, %rsi
callq 0x248b1
leaq 0x8(%rsp), %rdi
callq 0x1dd7e
movl %eax, 0x10(%rbx)
leaq 0x8(%rsp), %rdi
callq 0xbb68
movq %r14, %rdi
callq 0x1dd7e
movl %eax, 0x14(%rbx)
addq $0x28, %rsp
popq %rbx
popq %r14
retq
jmp 0x32ad5
jmp 0x32ac6
jmp 0x32ad5
jmp 0x32ac6
jmp 0x32ad5
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x32ad8
movq %rax, %rbx
movq %rbx, %rdi
callq 0xb270
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x2a5bf(%rip), %rsi     # 0x5d0b1
movq %rax, %rdi
callq 0xb260
movq 0x514e7(%rip), %rsi     # 0x83fe8
movq 0x51458(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
jmp 0x32b20
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
callq 0xb970
movq %r14, %rdi
callq 0xba30
movq %rax, %rdi
callq 0x1bdcd
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::DataVersion::operator<(Common_sp::DataVersion const&) const
bool DataVersion::operator< (const DataVersion &other) const
{ 
  LESS_PART (*this, other, year);
  LESS_PART (*this, other, month);
  LESS_PART (*this, other, day);
  LESS_PART (*this, other, num);
  return false;
}

// Assembly:
movl 0x8(%rdi), %ecx
movl 0x8(%rsi), %edx
movb $0x1, %al
cmpl %edx, %ecx
jb 0x32baa
jbe 0x32bab
xorl %eax, %eax
retq
movl 0xc(%rdi), %ecx
movl 0xc(%rsi), %edx
cmpl %edx, %ecx
jb 0x32baa
ja 0x32ba8
movl 0x10(%rdi), %ecx
movl 0x10(%rsi), %edx
cmpl %edx, %ecx
jb 0x32baa
ja 0x32ba8
movl 0x14(%rdi), %eax
cmpl 0x14(%rsi), %eax
setb %al
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::Arg::qc() const
void Application::Arg::qc () const
{
  if (! qc_on)
  	return;
  	
  QC_ASSERT (! name. empty ());
  QC_ASSERT (! description. empty ());
}

// Assembly:
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
cmpb $0x1, 0x516e7(%rip)     # 0x84ae0
jne 0x33418
movq %rdi, %rbx
callq 0xb060
andl $0x0, (%rax)
cmpq $0x0, 0x10(%rbx)
je 0x33421
cmpq $0x0, 0x30(%rbx)
je 0x334f5
addq $0x110, %rsp            # imm = 0x110
popq %rbx
retq
callq 0xb6c0
testl %eax, %eax
jne 0x335c9
leaq 0x2850c(%rip), %rsi     # 0x5b941
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x50(%rsp), %rdi
movl $0xe35, %esi            # imm = 0xE35
callq 0x1caa3
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x1ca3c
leaq 0x26772(%rip), %rdx     # 0x59be3
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x1b92d
leaq 0x29cfb(%rip), %rsi     # 0x5d188
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x2849b(%rip), %rdx     # 0x5b93e
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x1ca3c
leaq 0x29295(%rip), %rdx     # 0x5c768
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0xf0(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x335c9
leaq 0x28438(%rip), %rsi     # 0x5b941
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x50(%rsp), %rdi
movl $0xe36, %esi            # imm = 0xE36
callq 0x1caa3
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x1ca3c
leaq 0x2669e(%rip), %rdx     # 0x59be3
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x1b92d
leaq 0x29c27(%rip), %rsi     # 0x5d188
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x283c7(%rip), %rdx     # 0x5b93e
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x1ca3c
leaq 0x29b90(%rip), %rdx     # 0x5d137
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0xf0(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
jmp 0x335d5
jmp 0x335e7
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x335ea
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x335fe
jmp 0x335fb
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x3360f
jmp 0x3360c
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x33620
jmp 0x3361d
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x33634
jmp 0x33631
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x33648
jmp 0x33645
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xbb68
jmp 0x33659
jmp 0x33656
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x3366a
jmp 0x33667
movq %rax, %rbx
movq %rbx, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::Key::saveText(std::ostream&) const
void Application::Key::saveText (ostream &os) const
{
  os << '-';
	if (app. gnu)
	{
		os << "-" << name;
		if (! flag)
			os << ' ' << var;
	}
	else
	{
	  os << name; 
	  if (! flag)
	  {
	    os << ' ';
	    const bool quoted = defaultValue. empty () || contains (defaultValue, ' ');
	    if (quoted)
	      os << '\"';
	    os << defaultValue;
	    if (quoted)
	      os << '\"';
	  }
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
pushq $0x2d
popq %rsi
movq %rbx, %rdi
callq 0xb680
movq 0x68(%r14), %rax
cmpb $0x1, 0xa9(%rax)
jne 0x33ca7
leaq 0x272d0(%rip), %rsi     # 0x5af42
movq %rbx, %rdi
callq 0xb590
leaq 0x8(%r14), %rsi
movq %rax, %rdi
callq 0xb510
cmpb $0x0, 0x70(%r14)
jne 0x33cba
pushq $0x20
popq %rsi
movq %rbx, %rdi
callq 0xb680
addq $0xa0, %r14
movq %rax, %rdi
movq %r14, %rsi
jmp 0x33d22
leaq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xb510
cmpb $0x0, 0x70(%r14)
je 0x33cc5
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x20
popq %rsi
movq %rbx, %rdi
callq 0xb680
leaq 0xc0(%r14), %r15
cmpq $0x0, 0xc8(%r14)
je 0x33cf0
pushq $0x20
popq %rsi
movq %r15, %rdi
callq 0x1c948
testb %al, %al
je 0x33d1c
pushq $0x22
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0xb680
movq %rbx, %rdi
movq %r15, %rsi
callq 0xb510
movq %rbx, %rdi
movl %ebp, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xb680
movq %rbx, %rdi
movq %r15, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xb510
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::Key::getShortHelp[abi:cxx11]() const
string Application::Key::getShortHelp () const
{
	string acronymS;
	if (acronym)
	{
		acronymS = string ("-") + acronym;
		if (! flag)
			acronymS += " " + var;
		acronymS += ", ";
	}
  return acronymS + str ();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x70, %rsp
movq %rsi, %r14
leaq 0x40(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movq %rdi, %rbx
movb $0x0, (%rax)
cmpb $0x0, 0x98(%rsi)
je 0x33df9
leaq 0x271dc(%rip), %rsi     # 0x5af42
leaq 0x50(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
movsbl 0x98(%r14), %edx
leaq 0x10(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x3c3a5
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %r15
movq %r15, %rsi
callq 0xb6f0
movq %r15, %rdi
callq 0xbb68
leaq 0x50(%rsp), %rdi
callq 0xbb68
cmpb $0x0, 0x70(%r14)
jne 0x33de8
leaq 0xa0(%r14), %rdx
leaq 0x29a40(%rip), %rsi     # 0x5d805
leaq 0x10(%rsp), %rdi
callq 0x1b8b7
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xbb00
leaq 0x10(%rsp), %rdi
callq 0xbb68
leaq 0x2542f(%rip), %rsi     # 0x5921e
leaq 0x30(%rsp), %rdi
callq 0xbac0
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x1d0e4
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x3d213
leaq 0x10(%rsp), %rdi
callq 0xbb68
leaq 0x30(%rsp), %rdi
callq 0xbb68
movq %rbx, %rax
addq $0x70, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x33e4b
jmp 0x33e5a
jmp 0x33e5a
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
jmp 0x33e53
jmp 0x33e5a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x33e5d
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::getKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
Application::Key* Application::getKey (const string &keyName) const
{
  if (! contains (name2arg, keyName))
    throw runtime_error ("Unknown key: " + strQuote (keyName) + "\n\n" + getInstruction (false));
    
  Key* key = nullptr;
  if (const Arg* arg = findPtr (name2arg, keyName))  	
    key = var_cast (arg->asKey ());
  if (! key)
    throw runtime_error (strQuote (keyName) + " is not a key\n\n" + getInstruction (false));
    
  return key;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq 0x100(%rdi), %rbx
movq %rbx, %rdi
callq 0x3d237
testb %al, %al
je 0x34acf
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3d465
testq %rax, %rax
je 0x34a4e
movq (%rax), %rcx
movq %rax, %rdi
callq *0x58(%rcx)
testq %rax, %rax
je 0x34a4e
addq $0xa8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
pushq $0x22
popq %rdx
movq %r15, %rsi
callq 0x243b1
leaq 0x28942(%rip), %rdx     # 0x5d3b2
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1b92d
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x34c1c
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x1ca3c
movb $0x1, %bpl
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x4f52d(%rip), %rsi     # 0x83fe8
movq 0x4f49e(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
jmp 0x34b67
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
pushq $0x22
popq %rdx
movq %r15, %rsi
callq 0x243b1
leaq 0x288b3(%rip), %rsi     # 0x5d3a4
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1b94c
leaq 0x28dec(%rip), %rdx     # 0x5d8f3
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1b92d
leaq 0x88(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x34c1c
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x1ca3c
movb $0x1, %bpl
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x4f490(%rip), %rsi     # 0x83fe8
movq 0x4f401(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x34b7c
movq %rax, %r14
movb $0x1, %bpl
leaq 0x88(%rsp), %rdi
callq 0xbb68
jmp 0x34b91
movq %rax, %r14
movb $0x1, %bpl
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x34bc4
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0xbb68
jmp 0x34bb2
movq %rax, %r14
movb $0x1, %bpl
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x34bd6
movq %rax, %r14
movb $0x1, %bpl
leaq 0x28(%rsp), %rdi
callq 0xbb68
jmp 0x34be8
movq %rax, %r14
movb $0x1, %bpl
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x34bf5
movq %rax, %r14
movb $0x1, %bpl
leaq 0x8(%rsp), %rdi
jmp 0x34bfa
movq %rax, %r14
movb $0x1, %bpl
leaq 0x28(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x34c0b
jmp 0x34c13
jmp 0x34c08
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
movq %r14, %rdi
callq 0xba30
nop
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::setPositional(std::_List_iterator<Common_sp::Application::Positional>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Application::setPositional (List<Positional>::iterator &posIt,
	                               const string &value)
{
  if (posIt == positionalArgs. end ())
  {
  	if (isLeft (value, "-"))
      throw runtime_error (strQuote (value) + " is not a valid option\n\n" + getInstruction (false));
  	else
      throw runtime_error (strQuote (value) + " cannot be a positional parameter\n\n" + getInstruction (false));
  }
  (*posIt). value = value;
  posIt++;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
movq %rdx, %r15
movq %rdi, %r14
leaq 0xd0(%rdi), %rax
movq (%rsi), %rdi
cmpq %rax, %rdi
je 0x3553c
movq %rsi, %rbx
addq $0x58, %rdi
movq %r15, %rsi
callq 0xb350
movq (%rbx), %rax
movq (%rax), %rax
movq %rax, (%rbx)
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x259ff(%rip), %rsi     # 0x5af42
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1b7b6
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x1d2b2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0xbb68
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
testb %bpl, %bpl
je 0x355ee
leaq 0x68(%rsp), %rdi
pushq $0x22
popq %rdx
movq %r15, %rsi
callq 0x243b1
leaq 0x27e30(%rip), %rdx     # 0x5d3c2
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x1b92d
leaq 0x48(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x34c1c
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x1ca3c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x4ea0b(%rip), %rsi     # 0x83fe8
movq 0x4e97c(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
jmp 0x3565f
leaq 0x68(%rsp), %rdi
pushq $0x22
popq %rdx
movq %r15, %rsi
callq 0x243b1
leaq 0x27dd6(%rip), %rdx     # 0x5d3db
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x1b92d
leaq 0x48(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x34c1c
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x1ca3c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x4e998(%rip), %rsi     # 0x83fe8
movq 0x4e909(%rip), %rdx     # 0x83f60
movq %rbx, %rdi
callq 0xb9d0
jmp 0x35661
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x35678
jmp 0x35672
movq %rax, %r14
movb $0x1, %bpl
leaq 0x48(%rsp), %rdi
callq 0xbb68
jmp 0x3568c
jmp 0x35686
movq %rax, %r14
movb $0x1, %bpl
leaq 0x28(%rsp), %rdi
callq 0xbb68
jmp 0x356a0
jmp 0x3569a
movq %rax, %r14
movb $0x1, %bpl
leaq 0x68(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x356b6
jmp 0x356d2
jmp 0x356b3
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
jmp 0x356d2
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0xbb68
jmp 0x356d2
movq %rax, %r14
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::getFlag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
bool Application::getFlag (const string &name) const
{
  const string value (getArg (name));
  const Key* key = name2arg. at (name) -> asKey ();
  if (! key || ! key->flag)
    throw logic_error ("Parameter " + strQuote (name) + " is not a flag");
  return value == "true";
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x80, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x60(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x365ec
addq $0x100, %rbx            # imm = 0x100
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3d4f8
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
testq %rax, %rax
je 0x3676b
cmpb $0x0, 0x70(%rax)
je 0x3676b
leaq 0x28a71(%rip), %rsi     # 0x5f1b7
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x1cba2
movl %eax, %ebp
movq %rbx, %rdi
callq 0xbb68
movl %ebp, %eax
addq $0x80, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %rbx
movq %rsp, %rdi
pushq $0x22
popq %rdx
movq %r14, %rsi
callq 0x243b1
leaq 0x26f15(%rip), %rsi     # 0x5d6a0
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1b94c
leaq 0x26f1a(%rip), %rdx     # 0x5d6b9
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1b92d
movb $0x1, %bpl
leaq 0x40(%rsp), %rsi
movq %rbx, %rdi
callq 0xb850
xorl %ebp, %ebp
movq 0x4d7f9(%rip), %rsi     # 0x83fc0
movq 0x4d7aa(%rip), %rdx     # 0x83f78
movq %rbx, %rdi
callq 0xb9d0
movq %rax, %r14
leaq 0x40(%rsp), %rdi
callq 0xbb68
jmp 0x367eb
movq %rax, %r14
movb $0x1, %bpl
leaq 0x20(%rsp), %rdi
callq 0xbb68
jmp 0x367fd
movq %rax, %r14
movb $0x1, %bpl
movq %rsp, %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x3680f
jmp 0x3681c
movq %rax, %r14
movq %rbx, %rdi
callq 0xb470
jmp 0x3681c
movq %rax, %r14
leaq 0x60(%rsp), %rdi
callq 0xbb68
movq %r14, %rdi
callq 0xba30
// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::Application::getUpdates[abi:cxx11](bool) const
string Application::getUpdates (bool screen) const
{
  if (updatesDoc. empty ())
    return noString;
  string s ("\n\n" + colorize ("UPDATES", screen) + "\n" + updatesDoc);
  if (! updatesUrl. empty ())
    s += ": " + colorizeUrl (updatesUrl, screen);
  return s;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x90, %rsp
movq %rdi, %rbx
cmpq $0x0, 0x90(%rsi)
je 0x371a5
movl %edx, %ebp
movq %rsi, %r14
leaq 0x26733(%rip), %rsi     # 0x5d7f9
leaq 0x50(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
movzbl %bpl, %ebp
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movl %ebp, %edx
callq 0x1d1a0
leaq 0x26802(%rip), %rsi     # 0x5d8f3
leaq 0x10(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x1b94c
leaq 0x267ed(%rip), %rdx     # 0x5d8f4
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0x88(%r14), %rdx
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x1cbaf
leaq 0x30(%rsp), %rdi
callq 0xbb68
leaq 0x10(%rsp), %rdi
callq 0xbb68
leaq 0x70(%rsp), %rdi
callq 0xbb68
leaq 0x50(%rsp), %rdi
callq 0xbb68
cmpq $0x0, 0x70(%r14)
je 0x371b4
addq $0x68, %r14
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
movl %ebp, %edx
callq 0x1ce9c
leaq 0x2479d(%rip), %rsi     # 0x5b910
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x1b94c
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0xbb00
leaq 0x30(%rsp), %rdi
callq 0xbb68
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x371b4
leaq 0x4d94c(%rip), %rsi     # 0x84af8
movq %rbx, %rdi
callq 0xb7b0
movq %rbx, %rax
addq $0x90, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x371d5
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x371e4
movq %rax, %r14
movq %rbx, %rdi
jmp 0x3721e
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x371fb
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x3720a
movq %rax, %r14
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x37219
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0xbb68
movq %r14, %rdi
callq 0xba30
movq %rax, %r14
jmp 0x37223