// File: /workspace/github_cpp_makefile_star2_O2/BGI-Qingdao[P]ExtractNGSReads/utils/fastq.cpp
// Function: BGIQD::FASTQ::stLFRHeader::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void stLFRHeader::Init( const std::string & line ) 
        {
            Reset() ;

            auto items = BGIQD::STRING::split(line ,'@');

            assert(!items.empty());

            auto items_1 = BGIQD::STRING::split(items[0]);

            assert(!items_1.empty());

            auto items_2 = BGIQD::STRING::split(items_1[0],'#');

            assert(items_2.size() == 2);

            readName = items_2[0] ;

            auto items_3 = BGIQD::STRING::split(items_2[1] , '/');

            assert( !items_3.empty());

            barcode_str = items_3[0] ;

            type = readName_barcodeStr ;

            if( items_3.size() == 2 && BGIQD::STRING::IsNum(items_3[1]) )
            {
                readIndex = std::stoi(items_3[1]);
                type = readName_barcodeStr_index ;
            }

            if( items_1.size() >1 && BGIQD::STRING::IsNum(items_1[1]) )
            {
                barcode_num = std::stoi(items_1[1]);
                type = readName_barcodeStr_index_barcodeNum ;
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x68, %rsp
movq %rsi, %r14
movq %rdi, %rbx
callq 0x72f0
leaq -0x50(%rbp), %rdx
movb $0x40, (%rdx)
leaq -0x80(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x9174
movq (%r15), %rsi
cmpq 0x8(%r15), %rsi
je 0x80e2
leaq -0x50(%rbp), %rdi
callq 0x932a
movq -0x50(%rbp), %rsi
cmpq -0x48(%rbp), %rsi
je 0x80fb
leaq -0x38(%rbp), %rdx
movb $0x23, (%rdx)
leaq -0x68(%rbp), %rdi
callq 0x9174
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rax
subq %rsi, %rax
cmpq $0x40, %rax
jne 0x8114
leaq 0x30(%rbx), %rdi
callq 0x4170
movq -0x68(%rbp), %rsi
addq $0x20, %rsi
leaq -0x19(%rbp), %rdx
movb $0x2f, (%rdx)
leaq -0x38(%rbp), %rdi
callq 0x9174
movq -0x38(%rbp), %rsi
cmpq -0x30(%rbp), %rsi
je 0x812d
leaq 0x10(%rbx), %rdi
callq 0x4170
movl $0x1, (%rbx)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rax
subq %rdi, %rax
cmpq $0x40, %rax
jne 0x807a
addq $0x20, %rdi
callq 0x948a
testb %al, %al
je 0x807a
movq -0x38(%rbp), %rdi
addq $0x20, %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x62f8
movl %eax, 0x4(%rbx)
movl $0x2, (%rbx)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rax
subq %rdi, %rax
cmpq $0x21, %rax
jb 0x80b3
addq $0x20, %rdi
callq 0x948a
testb %al, %al
je 0x80b3
movq -0x50(%rbp), %rdi
addq $0x20, %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x62f8
movl %eax, 0x8(%rbx)
movl $0x3, (%rbx)
leaq -0x38(%rbp), %rdi
callq 0x68d8
leaq -0x68(%rbp), %rdi
callq 0x68d8
leaq -0x50(%rbp), %rdi
callq 0x68d8
leaq -0x80(%rbp), %rdi
callq 0x68d8
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2771(%rip), %rdi      # 0xa85a
leaq 0x2779(%rip), %rsi      # 0xa869
leaq 0x2782(%rip), %rcx      # 0xa879
pushq $0x11
jmp 0x8144
leaq 0x27b1(%rip), %rdi      # 0xa8b3
leaq 0x2760(%rip), %rsi      # 0xa869
leaq 0x2769(%rip), %rcx      # 0xa879
pushq $0x15
jmp 0x8144
leaq 0x27a9(%rip), %rdi      # 0xa8c4
leaq 0x2747(%rip), %rsi      # 0xa869
leaq 0x2750(%rip), %rcx      # 0xa879
pushq $0x19
jmp 0x8144
leaq 0x27a4(%rip), %rdi      # 0xa8d8
leaq 0x272e(%rip), %rsi      # 0xa869
leaq 0x2737(%rip), %rcx      # 0xa879
pushq $0x1f
popq %rdx
callq 0x41b0
jmp 0x814c
movq %rax, %rbx
jmp 0x8167
movq %rax, %rbx
jmp 0x8170
movq %rax, %rbx
jmp 0x8179
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x68d8
leaq -0x68(%rbp), %rdi
callq 0x68d8
leaq -0x50(%rbp), %rdi
callq 0x68d8
leaq -0x80(%rbp), %rdi
callq 0x68d8
movq %rbx, %rdi
callq 0x4430