// File: BenLangmead[P]bowtie/./hit.h
// Function: HitSink::dumpUnal(PatternSourcePerThread&)
void dumpUnal(PatternSourcePerThread& p) {
		if(!dumpUnalignFlag_) return;
		const bool paired = p.bufa().mate > 0;
		if(!paired || onePairFile_) {
			// Dump unpaired read to an unaligned-read file of the same format
			if(!dumpUnalBase_.empty()) {
				ThreadSafe _ts(&dumpUnalLock_);
				if(dumpUnal_ == NULL) {
					dumpUnal_ = openOf(dumpUnalBase_, 0, "");
					assert(dumpUnal_ != NULL);
				}
				*dumpUnal_ << p.bufa().readOrigBuf;
			}
		} else {
			// Dump paired-end read to an unaligned-read file (or pair
			// of files) of the same format
			if(!dumpUnalBase_.empty()) {
				ThreadSafe _ts(&dumpUnalLockPE_);
				if(dumpUnal_1_ == NULL) {
					assert(dumpUnal_1_ == NULL);
					assert(dumpUnal_2_ == NULL);
					dumpUnal_1_ = openOf(dumpUnalBase_, 1, "");
					dumpUnal_2_ = openOf(dumpUnalBase_, 2, "");
					assert(dumpUnal_1_ != NULL);
					assert(dumpUnal_2_ != NULL);
				}
				*dumpUnal_1_ << p.bufa().readOrigBuf;
				*dumpUnal_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, 0x1bf(%rax)
jne 0x37a2c
jmp 0x37e4d
movq -0x10(%rbp), %rdi
callq 0x37f00
cmpl $0x0, 0x188(%rax)
setg %al
andb $0x1, %al
movb %al, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
je 0x37a5e
movq -0xb8(%rbp), %rax
testb $0x1, 0x168(%rax)
je 0x37bc8
movq -0xb8(%rbp), %rdi
addq $0x128, %rdi            # imm = 0x128
callq 0xaa90
testb $0x1, %al
jne 0x37bc3
movq -0xb8(%rbp), %rsi
addq $0x1ba, %rsi            # imm = 0x1BA
leaq -0x20(%rbp), %rdi
callq 0x2f3b0
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x188(%rax)
jne 0x37b5b
movq -0xb8(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0xc8(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0xab70
movq -0xc0(%rbp), %rdx
leaq 0x56dc4(%rip), %rsi     # 0x8e89b
leaq -0x40(%rbp), %rdi
callq 0x24c10
jmp 0x37ae2
movq -0xc8(%rbp), %rsi
movq -0xb8(%rbp), %rdi
xorl %edx, %edx
leaq -0x40(%rbp), %rcx
callq 0x38380
movq %rax, -0xd0(%rbp)
jmp 0x37b04
movq -0xb8(%rbp), %rax
movq -0xd0(%rbp), %rcx
movq %rcx, 0x188(%rax)
leaq -0x40(%rbp), %rdi
callq 0xacd8
leaq -0x41(%rbp), %rdi
callq 0xa670
jmp 0x37b5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x37b50
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 0x37bb5
movq -0xb8(%rbp), %rax
movq 0x188(%rax), %rax
movq %rax, -0xe0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x37f00
movq %rax, -0xd8(%rbp)
jmp 0x37b82
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
addq $0x120, %rsi            # imm = 0x120
callq 0x38850
jmp 0x37b9e
leaq -0x20(%rbp), %rdi
callq 0x2f3e0
jmp 0x37bc3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x2f3e0
jmp 0x37e56
jmp 0x37e4d
movq -0xb8(%rbp), %rdi
addq $0x128, %rdi            # imm = 0x128
callq 0xaa90
testb $0x1, %al
jne 0x37e4b
movq -0xb8(%rbp), %rsi
addq $0x1bb, %rsi            # imm = 0x1BB
leaq -0x60(%rbp), %rdi
callq 0x2f3b0
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x190(%rax)
jne 0x37da3
movq -0xb8(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0xf0(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0xab70
movq -0xe8(%rbp), %rdx
leaq 0x56c57(%rip), %rsi     # 0x8e89b
leaq -0x80(%rbp), %rdi
callq 0x24c10
jmp 0x37c4f
movq -0xf0(%rbp), %rsi
movq -0xb8(%rbp), %rdi
movl $0x1, %edx
leaq -0x80(%rbp), %rcx
callq 0x38380
movq %rax, -0xf8(%rbp)
jmp 0x37c74
movq -0xb8(%rbp), %rax
movq -0xf8(%rbp), %rcx
movq %rcx, 0x190(%rax)
leaq -0x80(%rbp), %rdi
callq 0xacd8
leaq -0x81(%rbp), %rdi
callq 0xa670
movq -0xb8(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x108(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0xab70
movq -0x100(%rbp), %rdx
leaq 0x56bc8(%rip), %rsi     # 0x8e89b
leaq -0xa8(%rbp), %rdi
callq 0x24c10
jmp 0x37ce1
movq -0x108(%rbp), %rsi
movq -0xb8(%rbp), %rdi
movl $0x2, %edx
leaq -0xa8(%rbp), %rcx
callq 0x38380
movq %rax, -0x110(%rbp)
jmp 0x37d09
movq -0xb8(%rbp), %rax
movq -0x110(%rbp), %rcx
movq %rcx, 0x198(%rax)
leaq -0xa8(%rbp), %rdi
callq 0xacd8
leaq -0xa9(%rbp), %rdi
callq 0xa670
jmp 0x37da3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x37d5b
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 0x37e40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x37d92
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 0x37e40
movq -0xb8(%rbp), %rax
movq 0x190(%rax), %rax
movq %rax, -0x120(%rbp)
movq -0x10(%rbp), %rdi
callq 0x37f00
movq %rax, -0x118(%rbp)
jmp 0x37dca
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
addq $0x120, %rsi            # imm = 0x120
callq 0x38850
jmp 0x37de6
movq -0xb8(%rbp), %rax
movq 0x198(%rax), %rax
movq %rax, -0x130(%rbp)
movq -0x10(%rbp), %rdi
callq 0x38890
movq %rax, -0x128(%rbp)
jmp 0x37e0d
movq -0x130(%rbp), %rdi
movq -0x128(%rbp), %rsi
addq $0x120, %rsi            # imm = 0x120
callq 0x38850
jmp 0x37e29
leaq -0x60(%rbp), %rdi
callq 0x2f3e0
jmp 0x37e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x2f3e0
jmp 0x37e56
jmp 0x37e4d
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0xab60
nop