// File: ncbi[P]amr/common.cpp
// Function: Common_sp::Xml::BinFile::tagStart(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Xml::BinFile::tagStart (const string &tag) 
{ 
	ASSERT (! isText);
	
	if (tag. empty ())
		throw runtime_error (FUNC "Empty tag");
  QC_ASSERT (! contains (tag, '\0'));
  QC_ASSERT (! contains (tag, '\n'));
	size_t i = names. add (tag);
//ASSERT (i);
	const uchar b = i % 256;
	i /= 256;
	if (i > 256)
		throw runtime_error (FUNC "Too many different tag names");
	os << (uchar) i << b;
}

// Assembly:
subq $0x448, %rsp            # imm = 0x448
movq %rdi, 0x440(%rsp)
movq %rsi, 0x438(%rsp)
movq 0x440(%rsp), %rax
movq %rax, 0x50(%rsp)
callq 0xc090
movq %rax, %rcx
movq 0x50(%rsp), %rax
movl $0x0, (%rcx)
testb $0x1, 0x8(%rax)
je 0x4ca38
callq 0xc8c0
cmpl $0x0, %eax
jne 0x4ca2e
leaq 0x397(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xcd00
movq 0x48(%rsp), %rdx
leaq 0x8123c(%rip), %rsi     # 0xcda19
leaq 0x398(%rsp), %rdi
callq 0x29fd0
jmp 0x4c7ec
leaq 0x360(%rsp), %rdi
movl $0x74c, %esi            # imm = 0x74C
callq 0x2ded0
jmp 0x4c800
leaq 0x3b8(%rsp), %rdi
leaq 0x398(%rsp), %rsi
leaq 0x360(%rsp), %rdx
callq 0x2dde0
jmp 0x4c81f
leaq 0x7f37b(%rip), %rdx     # 0xcbba1
leaq 0x3d8(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x2a2f0
jmp 0x4c83d
leaq 0x31f(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xcd00
movq 0x40(%rsp), %rdx
leaq 0x81bfc(%rip), %rsi     # 0xce457
leaq 0x320(%rsp), %rdi
callq 0x29fd0
jmp 0x4c86a
leaq 0x811a5(%rip), %rdx     # 0xcda16
leaq 0x340(%rsp), %rdi
leaq 0x320(%rsp), %rsi
callq 0x2a2f0
jmp 0x4c888
leaq 0x3f8(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
leaq 0x340(%rsp), %rdx
callq 0x2dde0
jmp 0x4c8a7
leaq 0x81b29(%rip), %rdx     # 0xce3d7
leaq 0x418(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
callq 0x2a2f0
jmp 0x4c8c5
leaq 0x418(%rsp), %rdi
callq 0x3e9b0
jmp 0x4c8d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4ca1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4ca0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4ca02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4c9f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4c9db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4c9ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4c9c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4c9b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
leaq 0x418(%rsp), %rdi
callq 0xce98
leaq 0x3f8(%rsp), %rdi
callq 0xce98
leaq 0x340(%rsp), %rdi
callq 0xce98
leaq 0x320(%rsp), %rdi
callq 0xce98
leaq 0x31f(%rsp), %rdi
callq 0xc7a0
leaq 0x3d8(%rsp), %rdi
callq 0xce98
leaq 0x3b8(%rsp), %rdi
callq 0xce98
leaq 0x360(%rsp), %rdi
callq 0xce98
leaq 0x398(%rsp), %rdi
callq 0xce98
leaq 0x397(%rsp), %rdi
callq 0xc7a0
jmp 0x4d24d
movl $0x1, %edi
callq 0xc8d0
movq 0x438(%rsp), %rdi
callq 0xcc10
testb $0x1, %al
jne 0x4ca4e
jmp 0x4cb6b
movb $0x1, 0x2d6(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x30(%rsp)
leaq 0x2d7(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xcd00
movq 0x38(%rsp), %rdx
leaq 0x819d4(%rip), %rsi     # 0xce457
leaq 0x2d8(%rsp), %rdi
callq 0x29fd0
jmp 0x4ca92
leaq 0x819fd(%rip), %rdx     # 0xce496
leaq 0x2f8(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cab0
movq 0x30(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
callq 0xcbb0
jmp 0x4cac4
movq 0x30(%rsp), %rdi
movb $0x0, 0x2d6(%rsp)
movq 0xb9518(%rip), %rsi     # 0x105ff0
movq 0xb9491(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x4d25a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cb36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0xce98
leaq 0x2d8(%rsp), %rdi
callq 0xce98
leaq 0x2d7(%rsp), %rdi
callq 0xc7a0
testb $0x1, 0x2d6(%rsp)
jne 0x4cb5c
jmp 0x4cb66
movq 0x30(%rsp), %rdi
callq 0xc580
jmp 0x4d24d
callq 0xc090
movl $0x0, (%rax)
movq 0x438(%rsp), %rdi
xorl %esi, %esi
callq 0x2dbd0
testb $0x1, %al
jne 0x4cb8e
jmp 0x4ce15
callq 0xc8c0
cmpl $0x0, %eax
jne 0x4ce0b
leaq 0x22f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xcd00
movq 0x28(%rsp), %rdx
leaq 0x80e5f(%rip), %rsi     # 0xcda19
leaq 0x230(%rsp), %rdi
callq 0x29fd0
jmp 0x4cbc9
leaq 0x208(%rsp), %rdi
movl $0x750, %esi            # imm = 0x750
callq 0x2ded0
jmp 0x4cbdd
leaq 0x250(%rsp), %rdi
leaq 0x230(%rsp), %rsi
leaq 0x208(%rsp), %rdx
callq 0x2dde0
jmp 0x4cbfc
leaq 0x7ef9e(%rip), %rdx     # 0xcbba1
leaq 0x270(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cc1a
leaq 0x1c7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xcd00
movq 0x20(%rsp), %rdx
leaq 0x8181f(%rip), %rsi     # 0xce457
leaq 0x1c8(%rsp), %rdi
callq 0x29fd0
jmp 0x4cc47
leaq 0x80dc8(%rip), %rdx     # 0xcda16
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cc65
leaq 0x290(%rsp), %rdi
leaq 0x270(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x2dde0
jmp 0x4cc84
leaq 0x81817(%rip), %rdx     # 0xce4a2
leaq 0x2b0(%rsp), %rdi
leaq 0x290(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cca2
leaq 0x2b0(%rsp), %rdi
callq 0x3e9b0
jmp 0x4ccb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cdf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cdec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cddf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cdd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cdb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cdab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cd9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4cd91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0xce98
leaq 0x290(%rsp), %rdi
callq 0xce98
leaq 0x1e8(%rsp), %rdi
callq 0xce98
leaq 0x1c8(%rsp), %rdi
callq 0xce98
leaq 0x1c7(%rsp), %rdi
callq 0xc7a0
leaq 0x270(%rsp), %rdi
callq 0xce98
leaq 0x250(%rsp), %rdi
callq 0xce98
leaq 0x208(%rsp), %rdi
callq 0xce98
leaq 0x230(%rsp), %rdi
callq 0xce98
leaq 0x22f(%rsp), %rdi
callq 0xc7a0
jmp 0x4d24d
movl $0x1, %edi
callq 0xc8d0
callq 0xc090
movl $0x0, (%rax)
movq 0x438(%rsp), %rdi
movl $0xa, %esi
callq 0x2dbd0
testb $0x1, %al
jne 0x4ce3b
jmp 0x4d0c2
callq 0xc8c0
cmpl $0x0, %eax
jne 0x4d0b8
leaq 0x11f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x80bb2(%rip), %rsi     # 0xcda19
leaq 0x120(%rsp), %rdi
callq 0x29fd0
jmp 0x4ce76
leaq 0xf8(%rsp), %rdi
movl $0x751, %esi            # imm = 0x751
callq 0x2ded0
jmp 0x4ce8a
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
leaq 0xf8(%rsp), %rdx
callq 0x2dde0
jmp 0x4cea9
leaq 0x7ecf1(%rip), %rdx     # 0xcbba1
leaq 0x160(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cec7
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x81572(%rip), %rsi     # 0xce457
leaq 0xb8(%rsp), %rdi
callq 0x29fd0
jmp 0x4cef4
leaq 0x80b1b(%rip), %rdx     # 0xcda16
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cf12
leaq 0x180(%rsp), %rdi
leaq 0x160(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
callq 0x2dde0
jmp 0x4cf31
leaq 0x81581(%rip), %rdx     # 0xce4b9
leaq 0x1a0(%rsp), %rdi
leaq 0x180(%rsp), %rsi
callq 0x2a2f0
jmp 0x4cf4f
leaq 0x1a0(%rsp), %rdi
callq 0x3e9b0
jmp 0x4cf5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d0a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d099
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d08c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d07f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d065
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d058
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d04b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d03e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
leaq 0x1a0(%rsp), %rdi
callq 0xce98
leaq 0x180(%rsp), %rdi
callq 0xce98
leaq 0xd8(%rsp), %rdi
callq 0xce98
leaq 0xb8(%rsp), %rdi
callq 0xce98
leaq 0xb7(%rsp), %rdi
callq 0xc7a0
leaq 0x160(%rsp), %rdi
callq 0xce98
leaq 0x140(%rsp), %rdi
callq 0xce98
leaq 0xf8(%rsp), %rdi
callq 0xce98
leaq 0x120(%rsp), %rdi
callq 0xce98
leaq 0x11f(%rsp), %rdi
callq 0xc7a0
jmp 0x4d24d
movl $0x1, %edi
callq 0xc8d0
movq 0x50(%rsp), %rdi
addq $0x218, %rdi            # imm = 0x218
movq 0x438(%rsp), %rsi
callq 0x745d0
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
andq $0xff, %rax
movb %al, 0xa7(%rsp)
movq 0xa8(%rsp), %rax
shrq $0x8, %rax
movq %rax, 0xa8(%rsp)
cmpq $0x100, 0xa8(%rsp) # imm = 0x100
jbe 0x4d21c
movb $0x1, 0x5e(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, (%rsp)
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xcd00
movq 0x8(%rsp), %rdx
leaq 0x8130b(%rip), %rsi     # 0xce457
leaq 0x60(%rsp), %rdi
callq 0x29fd0
jmp 0x4d158
leaq 0x81371(%rip), %rdx     # 0xce4d0
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2a2f0
jmp 0x4d173
movq (%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xcbb0
jmp 0x4d186
movq (%rsp), %rdi
movb $0x0, 0x5e(%rsp)
movq 0xb8e5a(%rip), %rsi     # 0x105ff0
movq 0xb8dd3(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x4d25a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d1fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x4d1f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
leaq 0x80(%rsp), %rdi
callq 0xce98
leaq 0x60(%rsp), %rdi
callq 0xce98
leaq 0x5f(%rsp), %rdi
callq 0xc7a0
testb $0x1, 0x5e(%rsp)
jne 0x4d211
jmp 0x4d21a
movq (%rsp), %rdi
callq 0xc580
jmp 0x4d24d
movq 0x50(%rsp), %rdi
addq $0x18, %rdi
movq 0xa8(%rsp), %rax
movzbl %al, %esi
callq 0xcb20
movq %rax, %rdi
movzbl 0xa7(%rsp), %esi
callq 0xcb20
addq $0x448, %rsp            # imm = 0x448
retq
movq 0x388(%rsp), %rdi
callq 0xccf0
nopw (%rax,%rax)