// File: /workspace/github_cpp_makefile_star2_O1/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, %r15
leaq -0x40(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb $0x0, (%rcx)
leaq -0xe0(%rbp), %rbx
movq %rax, -0x8(%rbx)
movq %rbx, %rdi
callq 0x7996
leaq -0x80(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x60(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movq %rbx, %rdi
callq 0x79fa
xorl %r14d, %r14d
leaq -0xe8(%rbp), %rcx
movq %r14, 0x60(%rcx)
movq 0x58(%rcx), %rax
movb %r14b, (%rax)
movq %r14, 0x80(%rcx)
movq 0x78(%rcx), %rax
movb %r14b, (%rax)
movq $0x2, (%rcx)
movl $0x1, %ebx
leaq -0x50(%rbp), %r13
leaq 0x4777(%rip), %r12      # 0xb034
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x4250
movsbl %al, %edx
movq %r15, %rdi
movq %r13, %rsi
callq 0x4480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x2, 0x20(%rax,%rcx)
jne 0x69e1
movl %ebx, %eax
andl $0x3, %eax
movslq (%r12,%rax,4), %rax
addq %r12, %rax
jmpq *%rax
leaq -0xe8(%rbp), %rdi
movq %r13, %rsi
callq 0x794c
jmp 0x69d9
leaq -0xe8(%rbp), %rdi
movq %r13, %rsi
callq 0x7902
jmp 0x69d9
cmpq $0x0, -0x48(%rbp)
je 0x6ac6
movq -0x50(%rbp), %rax
cmpb $0x2b, (%rax)
jne 0x6ac6
movq -0xe8(%rbp), %rax
movl %eax, %ecx
andl $0xe, %ecx
cmpl $0xc, %ecx
jne 0x6ae5
orq $0x10, %rax
movq %rax, -0xe8(%rbp)
jmp 0x69d9
cmpq $0x0, -0x48(%rbp)
je 0x6aa7
movq -0x50(%rbp), %rax
cmpb $0x40, (%rax)
jne 0x6aa7
movl -0xe8(%rbp), %eax
andl $0x3e, %eax
cmpl $0x3c, %eax
jne 0x6997
movq -0x30(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x78c6
leaq -0xe0(%rbp), %rdi
callq 0x79fa
movq %r14, -0x88(%rbp)
movq -0x90(%rbp), %rax
movb %r14b, (%rax)
movq %r14, -0x68(%rbp)
movq -0x70(%rbp), %rax
movb %r14b, (%rax)
movq $0x4, -0xe8(%rbp)
leaq -0xe0(%rbp), %rdi
movq %r13, %rsi
callq 0x85b8
incq %rbx
jmp 0x68bd
movl -0xe8(%rbp), %eax
andl $0x3e, %eax
cmpl $0x3c, %eax
jne 0x69ff
leaq -0xe8(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x78c6
leaq -0xe0(%rbp), %rdi
callq 0x79fa
xorl %eax, %eax
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rcx
movb %al, (%rcx)
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rcx
movb %al, (%rcx)
movq $0x2, -0xe8(%rbp)
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6a44
callq 0x4240
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6a59
callq 0x4240
leaq -0xa0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a6e
callq 0x4240
leaq -0xc0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a83
callq 0x4240
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6a95
callq 0x4240
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x493f(%rip), %rdi      # 0xb3ed
leaq 0x4962(%rip), %rsi      # 0xb417
leaq 0x496b(%rip), %rcx      # 0xb427
movl $0xcd, %edx
callq 0x4190
leaq 0x4a19(%rip), %rdi      # 0xb4e6
leaq 0x4943(%rip), %rsi      # 0xb417
leaq 0x494c(%rip), %rcx      # 0xb427
movl $0xdb, %edx
callq 0x4190
leaq 0x4a22(%rip), %rdi      # 0xb50e
leaq 0x4924(%rip), %rsi      # 0xb417
leaq 0x4a87(%rip), %rcx      # 0xb581
movl $0x92, %edx
callq 0x4190
jmp 0x6b0d
movq %rax, %rbx
jmp 0x6b1c
jmp 0x6b0d
movq %rax, %rbx
leaq -0xe8(%rbp), %rdi
callq 0x6db8
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6b2e
callq 0x4240
movq %rbx, %rdi
callq 0x4450