// File: /workspace/github_cpp_makefile_star2_O2/BGI-Qingdao[P]ExtractNGSReads/./utils/fastq.h
// Function: BGIQD::FASTQ::FastqReader<BGIQD::FASTQ::Fastq<BGIQD::FASTQ::stLFRHeader>>::LoadAllFastq(std::istream&, std::vector<BGIQD::FASTQ::Fastq<BGIQD::FASTQ::stLFRHeader>, std::allocator<BGIQD::FASTQ::Fastq<BGIQD::FASTQ::stLFRHeader>>>&)
static void LoadAllFastq( 
                        std::istream & ist 
                        , std::vector<Fastq> & buffer )
                {
                    std::string line ;
                    Fastq fq;
                    fq.Reset();
                    long index = 0 ;
                    while ( ! std::getline(ist,line).eof() )
                    {
                        index ++ ;
                        if( index % 4 == 1 )
                        {
                            assert(IsHead(line) && "fastq format invalid!!!");
                            if(fq.Is_Setted())
                            {
                                buffer.push_back(fq);
                            }
                            fq.Reset();
                            fq.AddHead(line);
                        }
                        else if ( index % 4 == 2 )
                        {
                            fq.AddSeq(line);
                        }
                        else if ( index % 4 == 3 )
                        {
                            assert( Is_3(line) && "fastq format invalid!!!" );
                            fq.Add3(line);
                        }
                        else 
                        {
                            fq.AddQuality(line);
                        }
                    }
                    if(fq.Is_Setted())
                    {
                        buffer.push_back(fq);
                    }
                    fq.Reset();
                }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rsi, -0x30(%rbp)
movq %rdi, %r14
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0xe8(%rbp), %rdi
callq 0x703e
leaq -0xe8(%rbp), %rdi
callq 0x7086
pushq $0x1
popq %r13
leaq -0x50(%rbp), %r15
leaq 0x41f8(%rip), %rbx      # 0xa034
leaq -0xe8(%rbp), %r12
movq %r14, %rdi
movq %r15, %rsi
callq 0x4070
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x2, 0x20(%rax,%rcx)
jne 0x5ef9
movl %r13d, %eax
andl $0x3, %eax
movslq (%rbx,%rax,4), %rax
addq %rbx, %rax
jmpq *%rax
movq %r12, %rdi
movq %r15, %rsi
callq 0x7234
jmp 0x5ef1
movq %r12, %rdi
movq %r15, %rsi
callq 0x7180
jmp 0x5ef1
cmpq $0x0, -0x48(%rbp)
je 0x5f6b
movq -0x50(%rbp), %rax
cmpb $0x2b, (%rax)
jne 0x5f6b
movq %r12, %rdi
movq %r15, %rsi
callq 0x71dc
jmp 0x5ef1
cmpq $0x0, -0x48(%rbp)
je 0x5f4c
movq -0x50(%rbp), %rax
cmpb $0x40, (%rax)
jne 0x5f4c
movq %r12, %rdi
callq 0x70c6
testb %al, %al
je 0x5ede
movq -0x30(%rbp), %rdi
movq %r12, %rsi
callq 0x7114
movq %r12, %rdi
callq 0x7086
movq %r12, %rdi
movq %r15, %rsi
callq 0x7152
incq %r13
jmp 0x5e43
leaq -0xe8(%rbp), %rdi
callq 0x70c6
testb %al, %al
je 0x5f19
leaq -0xe8(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x7114
leaq -0xe8(%rbp), %rdi
callq 0x7086
leaq -0xe8(%rbp), %rdi
callq 0x6208
leaq -0x50(%rbp), %rdi
callq 0x4140
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x449a(%rip), %rdi      # 0xa3ed
leaq 0x44bd(%rip), %rsi      # 0xa417
leaq 0x44c6(%rip), %rcx      # 0xa427
movl $0xcd, %edx
callq 0x41b0
leaq 0x4574(%rip), %rdi      # 0xa4e6
leaq 0x449e(%rip), %rsi      # 0xa417
leaq 0x44a7(%rip), %rcx      # 0xa427
movl $0xdb, %edx
callq 0x41b0
jmp 0x5f93
movq %rax, %rbx
jmp 0x5fa2
jmp 0x5f93
movq %rax, %rbx
leaq -0xe8(%rbp), %rdi
callq 0x6208
leaq -0x50(%rbp), %rdi
callq 0x4140
movq %rbx, %rdi
callq 0x4430
nop