// File: /workspace/github_cpp_makefile_star2_O3/BGI-Qingdao[P]ExtractNGSReads/utils/seq.cpp
// Function: BGIQD::SEQ::seq::ReverseCompleteSeq[abi:cxx11](int) const
std::string seq::ReverseCompleteSeq(int weight) const
            {
                std::string r_atcgs = seqCompleteReverse(atcgs);
                if( weight < 1 )
                    return r_atcgs ;
                else
                {
                    std::ostringstream ost;
                    int i = 1 ;
                    for( char c : r_atcgs)
                    {
                        ost<<c;
                        if( i % weight == 0 || i == (int)r_atcgs.size() )
                            ost<<'\n';
                        i++ ;
                    }
                    return ost.str();
                }
            }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movl %edx, -0x30(%rbp)
movq %rsi, %r15
movq %rdi, %rbx
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
movq $0x0, -0x8(%r14)
movb $0x0, (%r14)
movq 0x8(%rsi), %rsi
leaq -0x50(%rbp), %rdi
movl $0x4e, %edx
callq 0x40b0
movq 0x8(%r15), %rax
testq %rax, %rax
je 0x9969
addq (%r15), %rax
xorl %ecx, %ecx
movb -0x1(%rax), %dl
movzbl %dl, %edi
movb $0x54, %sil
cmpl $0x60, %edi
jg 0x9920
cmpl $0x46, %edi
jg 0x9934
cmpl $0x41, %edi
je 0x9956
cmpl $0x43, %edi
je 0x992f
jmp 0x9954
cmpl $0x66, %edi
jg 0x9940
cmpl $0x61, %edi
je 0x9956
cmpl $0x63, %edi
jne 0x9954
movb $0x47, %sil
jmp 0x9956
cmpl $0x47, %edi
je 0x994a
cmpl $0x54, %edi
je 0x994f
jmp 0x9954
cmpl $0x74, %edi
je 0x994f
cmpl $0x67, %edi
jne 0x9954
movb $0x43, %sil
jmp 0x9956
movb $0x41, %sil
jmp 0x9956
movl %edx, %esi
decq %rax
movq -0x50(%rbp), %rdx
movb %sil, (%rdx,%rcx)
incq %rcx
cmpq (%r15), %rax
jne 0x9901
cmpl $0x0, -0x30(%rbp)
jle 0x9a29
movq %rbx, -0x58(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x4330
movq -0x48(%rbp), %rbx
testq %rbx, %rbx
je 0x99e3
movq -0x50(%rbp), %r14
xorl %r15d, %r15d
leaq -0x1d0(%rbp), %r12
leaq -0x29(%rbp), %r13
movb (%r14,%r15), %al
movb %al, -0x29(%rbp)
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x42d0
incq %r15
movl %r15d, %eax
xorl %edx, %edx
divl -0x30(%rbp)
testl %edx, %edx
je 0x99ca
cmpl -0x48(%rbp), %r15d
jne 0x99de
movb $0xa, -0x29(%rbp)
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x42d0
cmpq %r15, %rbx
jne 0x999e
leaq -0x1c8(%rbp), %rsi
movq -0x58(%rbp), %rbx
movq %rbx, %rdi
callq 0x43d0
movq 0x65d3(%rip), %rsi      # 0xffd0
leaq -0x1d0(%rbp), %rdi
callq 0x4150
leaq -0x160(%rbp), %rdi
callq 0x40d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x9a55
callq 0x4240
jmp 0x9a55
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
movq -0x50(%rbp), %rcx
cmpq %r14, %rcx
je 0x9a46
movq %rcx, (%rbx)
movq -0x40(%rbp), %rax
movq %rax, 0x10(%rbx)
jmp 0x9a4d
movups (%r14), %xmm0
movups %xmm0, (%rax)
movq -0x48(%rbp), %rax
movq %rax, 0x8(%rbx)
movq %rbx, %rax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9a7f
movq %rax, %rbx
jmp 0x9aa1
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
jne 0x9aae
jmp 0x9ab3
movq %rax, %rbx
movq 0x6547(%rip), %rsi      # 0xffd0
leaq -0x1d0(%rbp), %rdi
callq 0x4150
leaq -0x160(%rbp), %rdi
callq 0x40d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x9ab3
callq 0x4240
movq %rbx, %rdi
callq 0x4450
nop