// File: /workspace/github_c_makefile_star2_O0/jiqingxiaoxi[P]RPA/RPA.c
// Function: generate_primer
void generate_primer(char *seq,char primer[],int start,int length,int flag) //flag=0:plus
{
        int i;
        
        if(flag==0)
        {
                for(i=0;i<length;i++)
                        primer[i]=seq[start+i];
                primer[i]='\0';
        }
        else
        {
                for(i=0;i<length;i++)
                {
                        if((seq[start+length-1-i]=='A')||(seq[start+length-1-i]=='a'))
                                primer[i]='T';
                        else if((seq[start+length-1-i]=='T')||(seq[start+length-1-i]=='t'))
                                primer[i]='A';
                        else if((seq[start+length-1-i]=='C')||(seq[start+length-1-i]=='c'))
                                primer[i]='G';
                        else 
                                primer[i]='C';
                }
                primer[length]='\0';
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl %r8d, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0xe852
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0xe841
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xe813
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movb $0x0, (%rax,%rcx)
jmp 0xe966
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0xe95a
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
subl $0x1, %ecx
subl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x41, %eax
je 0xe89d
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
subl $0x1, %ecx
subl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x61, %eax
jne 0xe8ae
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movb $0x54, (%rax,%rcx)
jmp 0xe94a
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
subl $0x1, %ecx
subl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x54, %eax
je 0xe8e6
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
subl $0x1, %ecx
subl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x74, %eax
jne 0xe8f4
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movb $0x41, (%rax,%rcx)
jmp 0xe948
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
subl $0x1, %ecx
subl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x43, %eax
je 0xe92c
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
subl $0x1, %ecx
subl -0x20(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x63, %eax
jne 0xe93a
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movb $0x47, (%rax,%rcx)
jmp 0xe946
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
movb $0x43, (%rax,%rcx)
jmp 0xe948
jmp 0xe94a
jmp 0xe94c
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xe859
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
popq %rbp
retq
nopl (%rax,%rax)