// File: /workspace/github_c_makefile_star2_O3/annoroad[P]fqtools_plus/fqtools.c
// Function: report
local void report(struct readclass* readclass){
	readline* read1 = readclass->read1;
	STAT* stat = readclass->stat;
    int i=0;
    int curqual;
    char* seq=(read1->reads)[1];
	char* qual=(read1->reads)[3];
    while (i < g.CUT){
        switch (*(seq + i)){
            case 'A': (*(*(stat->base1+i)+0))++; break;
            case 'a': (*(*(stat->base1+i)+0))++; break;
            case 'T': (*(*(stat->base1+i)+1))++; break;
            case 't': (*(*(stat->base1+i)+1))++; break;
            case 'C': (*(*(stat->base1+i)+2))++; break;
            case 'c': (*(*(stat->base1+i)+2))++; break;
            case 'G': (*(*(stat->base1+i)+3))++; break;
            case 'g': (*(*(stat->base1+i)+3))++; break;
            case 'N': (*(*(stat->base1+i)+4))++; break;
            case 'n': (*(*(stat->base1+i)+4))++; break;
        }
        curqual=(int)*(qual + i) - g.ASCII;
        (*(*(stat->quality1 + i) + curqual))++;
        i++;
    }

    if (g.single_or_pair){
    	readline* read2 = readclass->read2;
    	i = 0;
	    seq=(read2->reads)[1];
	    qual=(read2->reads)[3];
	    while (i < g.CUT){
			switch (*(seq + i)){
				case 'A': (*(*(stat->base2+i)+0))++; break;
				case 'a': (*(*(stat->base2+i)+0))++; break;
				case 'T': (*(*(stat->base2+i)+1))++; break;
				case 't': (*(*(stat->base2+i)+1))++; break;
				case 'C': (*(*(stat->base2+i)+2))++; break;
				case 'c': (*(*(stat->base2+i)+2))++; break;
				case 'G': (*(*(stat->base2+i)+3))++; break;
				case 'g': (*(*(stat->base2+i)+3))++; break;
				case 'N': (*(*(stat->base2+i)+4))++; break;
				case 'n': (*(*(stat->base2+i)+4))++; break;
			}
			curqual=(int)*(qual + i) - g.ASCII;
			(*(*(stat->quality2 + i) + curqual))++;
			i++;
		}
    }
	    
}

// Assembly:
cmpl $0x0, 0x7151(%rip)      # 0xb1cc
jle 0x4280
movq (%rdi), %rcx
movq 0x10(%rdi), %rax
leaq 0x74(%rax), %rdx
leaq 0xa074(%rax), %rsi
xorl %r8d, %r8d
movq %rdx, %r9
movzbl 0x41d(%rcx,%r8), %r10d
cmpl $0x60, %r10d
jg 0x40c2
cmpl $0x46, %r10d
jle 0x40e8
cmpl $0x47, %r10d
je 0x4113
cmpl $0x4e, %r10d
je 0x4121
cmpl $0x54, %r10d
je 0x40da
jmp 0x413a
cmpl $0x66, %r10d
jle 0x40f6
cmpl $0x67, %r10d
je 0x4113
cmpl $0x6e, %r10d
je 0x4121
cmpl $0x74, %r10d
jne 0x413a
leaq (%r8,%r8,4), %r10
leaq (%rdx,%r10,4), %r11
addq $0x4, %r11
jmp 0x4137
cmpl $0x41, %r10d
je 0x412f
cmpl $0x43, %r10d
je 0x4105
jmp 0x413a
movq %r9, %r11
cmpl $0x61, %r10d
je 0x4137
cmpl $0x63, %r10d
jne 0x413a
leaq (%r8,%r8,4), %r10
leaq (%rdx,%r10,4), %r11
addq $0x8, %r11
jmp 0x4137
leaq (%r8,%r8,4), %r10
leaq (%rdx,%r10,4), %r11
addq $0xc, %r11
jmp 0x4137
leaq (%r8,%r8,4), %r10
leaq (%rdx,%r10,4), %r11
addq $0x10, %r11
jmp 0x4137
leaq (%r8,%r8,4), %r10
leaq (%rdx,%r10,4), %r11
incl (%r11)
movsbq 0xc1d(%rcx,%r8), %r10
movslq 0x70b2(%rip), %r11      # 0xb1fc
shlq $0x2, %r10
shlq $0x2, %r11
subq %r11, %r10
incl (%rsi,%r10)
incq %r8
movslq 0x7069(%rip), %r10      # 0xb1cc
addq $0x14, %r9
addq $0xc8, %rsi
cmpq %r10, %r8
jl 0x4099
cmpb $0x0, 0x704a(%rip)      # 0xb1c8
je 0x4280
testl %r10d, %r10d
jle 0x4280
movq 0x8(%rdi), %rcx
leaq 0x5074(%rax), %rdx
addq $0x3c074, %rax          # imm = 0x3C074
xorl %esi, %esi
movq %rdx, %rdi
movzbl 0x41d(%rcx,%rsi), %r8d
cmpl $0x60, %r8d
jg 0x41cc
cmpl $0x46, %r8d
jle 0x41f2
cmpl $0x47, %r8d
je 0x421d
cmpl $0x4e, %r8d
je 0x422b
cmpl $0x54, %r8d
je 0x41e4
jmp 0x4244
cmpl $0x66, %r8d
jle 0x4200
cmpl $0x67, %r8d
je 0x421d
cmpl $0x6e, %r8d
je 0x422b
cmpl $0x74, %r8d
jne 0x4244
leaq (%rsi,%rsi,4), %r8
leaq (%rdx,%r8,4), %r9
addq $0x4, %r9
jmp 0x4241
cmpl $0x41, %r8d
je 0x4239
cmpl $0x43, %r8d
je 0x420f
jmp 0x4244
movq %rdi, %r9
cmpl $0x61, %r8d
je 0x4241
cmpl $0x63, %r8d
jne 0x4244
leaq (%rsi,%rsi,4), %r8
leaq (%rdx,%r8,4), %r9
addq $0x8, %r9
jmp 0x4241
leaq (%rsi,%rsi,4), %r8
leaq (%rdx,%r8,4), %r9
addq $0xc, %r9
jmp 0x4241
leaq (%rsi,%rsi,4), %r8
leaq (%rdx,%r8,4), %r9
addq $0x10, %r9
jmp 0x4241
leaq (%rsi,%rsi,4), %r8
leaq (%rdx,%r8,4), %r9
incl (%r9)
movsbq 0xc1d(%rcx,%rsi), %r8
movslq 0x6fa8(%rip), %r9       # 0xb1fc
shlq $0x2, %r8
shlq $0x2, %r9
subq %r9, %r8
incl (%rax,%r8)
incq %rsi
movslq 0x6f5f(%rip), %r8       # 0xb1cc
addq $0x14, %rdi
addq $0xc8, %rax
cmpq %r8, %rsi
jl 0x41a3
retq