// File: BenLangmead[P]bowtie/./hit.h
// Function: HitSink::dumpAlign(PatternSourcePerThread&)
void dumpAlign(PatternSourcePerThread& p) {
		if(!dumpAlignFlag_) return;
		const bool paired = p.bufa().mate > 0;
		if(!paired || onePairFile_) {
			// Dump unpaired read to an aligned-read file of the same format
			if(!dumpAlBase_.empty()) {
				ThreadSafe _ts(&dumpAlignLock_);
				if(dumpAl_ == NULL) {
					dumpAl_ = openOf(dumpAlBase_, 0, "");
					assert(dumpAl_ != NULL);
				}
				*dumpAl_ << p.bufa().readOrigBuf;
			}
		} else {
			// Dump paired-end read to an aligned-read file (or pair of
			// files) of the same format
			if(!dumpAlBase_.empty()) {
				ThreadSafe _ts(&dumpAlignLockPE_);
				if(dumpAl_1_ == NULL) {
					dumpAl_1_ = openOf(dumpAlBase_, 1, "");
					dumpAl_2_ = openOf(dumpAlBase_, 2, "");
					assert(dumpAl_1_ != NULL);
					assert(dumpAl_2_ != NULL);
				}
				*dumpAl_1_ << p.bufa().readOrigBuf;
				*dumpAl_2_ << p.bufb().readOrigBuf;
			}
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
testb $0x1, 0x1be(%rax)
jne 0x37f4c
jmp 0x3836d
movq -0x10(%rbp), %rdi
callq 0x37f00
cmpl $0x0, 0x188(%rax)
setg %al
andb $0x1, %al
movb %al, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
je 0x37f7e
movq -0xb8(%rbp), %rax
testb $0x1, 0x168(%rax)
je 0x380e8
movq -0xb8(%rbp), %rdi
addq $0x108, %rdi            # imm = 0x108
callq 0xaa90
testb $0x1, %al
jne 0x380e3
movq -0xb8(%rbp), %rsi
addq $0x1b8, %rsi            # imm = 0x1B8
leaq -0x20(%rbp), %rdi
callq 0x2f3b0
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x170(%rax)
jne 0x3807b
movq -0xb8(%rbp), %rax
addq $0x108, %rax            # imm = 0x108
movq %rax, -0xc8(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0xab70
movq -0xc0(%rbp), %rdx
leaq 0x568a4(%rip), %rsi     # 0x8e89b
leaq -0x40(%rbp), %rdi
callq 0x24c10
jmp 0x38002
movq -0xc8(%rbp), %rsi
movq -0xb8(%rbp), %rdi
xorl %edx, %edx
leaq -0x40(%rbp), %rcx
callq 0x38380
movq %rax, -0xd0(%rbp)
jmp 0x38024
movq -0xb8(%rbp), %rax
movq -0xd0(%rbp), %rcx
movq %rcx, 0x170(%rax)
leaq -0x40(%rbp), %rdi
callq 0xacd8
leaq -0x41(%rbp), %rdi
callq 0xa670
jmp 0x3807b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x38070
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xacd8
leaq -0x41(%rbp), %rdi
callq 0xa670
jmp 0x380d5
movq -0xb8(%rbp), %rax
movq 0x170(%rax), %rax
movq %rax, -0xe0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x37f00
movq %rax, -0xd8(%rbp)
jmp 0x380a2
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
addq $0x120, %rsi            # imm = 0x120
callq 0x38850
jmp 0x380be
leaq -0x20(%rbp), %rdi
callq 0x2f3e0
jmp 0x380e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x2f3e0
jmp 0x38376
jmp 0x3836d
movq -0xb8(%rbp), %rdi
addq $0x108, %rdi            # imm = 0x108
callq 0xaa90
testb $0x1, %al
jne 0x3836b
movq -0xb8(%rbp), %rsi
addq $0x1b9, %rsi            # imm = 0x1B9
leaq -0x60(%rbp), %rdi
callq 0x2f3b0
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x178(%rax)
jne 0x382c3
movq -0xb8(%rbp), %rax
addq $0x108, %rax            # imm = 0x108
movq %rax, -0xf0(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0xab70
movq -0xe8(%rbp), %rdx
leaq 0x56737(%rip), %rsi     # 0x8e89b
leaq -0x80(%rbp), %rdi
callq 0x24c10
jmp 0x3816f
movq -0xf0(%rbp), %rsi
movq -0xb8(%rbp), %rdi
movl $0x1, %edx
leaq -0x80(%rbp), %rcx
callq 0x38380
movq %rax, -0xf8(%rbp)
jmp 0x38194
movq -0xb8(%rbp), %rax
movq -0xf8(%rbp), %rcx
movq %rcx, 0x178(%rax)
leaq -0x80(%rbp), %rdi
callq 0xacd8
leaq -0x81(%rbp), %rdi
callq 0xa670
movq -0xb8(%rbp), %rax
addq $0x108, %rax            # imm = 0x108
movq %rax, -0x108(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0xab70
movq -0x100(%rbp), %rdx
leaq 0x566a8(%rip), %rsi     # 0x8e89b
leaq -0xa8(%rbp), %rdi
callq 0x24c10
jmp 0x38201
movq -0x108(%rbp), %rsi
movq -0xb8(%rbp), %rdi
movl $0x2, %edx
leaq -0xa8(%rbp), %rcx
callq 0x38380
movq %rax, -0x110(%rbp)
jmp 0x38229
movq -0xb8(%rbp), %rax
movq -0x110(%rbp), %rcx
movq %rcx, 0x180(%rax)
leaq -0xa8(%rbp), %rdi
callq 0xacd8
leaq -0xa9(%rbp), %rdi
callq 0xa670
jmp 0x382c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3827b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xacd8
leaq -0x81(%rbp), %rdi
callq 0xa670
jmp 0x38360
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x382b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xacd8
leaq -0xa9(%rbp), %rdi
callq 0xa670
jmp 0x38360
movq -0xb8(%rbp), %rax
movq 0x178(%rax), %rax
movq %rax, -0x120(%rbp)
movq -0x10(%rbp), %rdi
callq 0x37f00
movq %rax, -0x118(%rbp)
jmp 0x382ea
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
addq $0x120, %rsi            # imm = 0x120
callq 0x38850
jmp 0x38306
movq -0xb8(%rbp), %rax
movq 0x180(%rax), %rax
movq %rax, -0x130(%rbp)
movq -0x10(%rbp), %rdi
callq 0x38890
movq %rax, -0x128(%rbp)
jmp 0x3832d
movq -0x130(%rbp), %rdi
movq -0x128(%rbp), %rsi
addq $0x120, %rsi            # imm = 0x120
callq 0x38850
jmp 0x38349
leaq -0x60(%rbp), %rdi
callq 0x2f3e0
jmp 0x3836b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x2f3e0
jmp 0x38376
jmp 0x3836d
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0xab60
nop