// File: /workspace/github_cpp_makefile_star2_O1/BenLangmead[P]bowtie/./blockwise_sa.h
// Function: KarkkainenBlockwiseSA<SString<char>>::build()
void build() {
		// Calculate difference-cover sample
		assert(_dc == NULL);
		if(_dcV != 0) {
			_dc = new TDC(this->text(), _dcV, this->verbose(), this->sanityCheck());
			_dc->build(this->_nthreads);
		}
		// Calculate sample suffixes
		if(this->bucketSz() <= this->text().length()) {
			VMSG_NL("Building samples");
			buildSamples();
		} else {
			VMSG_NL("Skipping building samples since text length " <<
				this->text().length() << " is less than bucket size: " <<
				this->bucketSz());
		}
		_built = true;
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x1b0, %rsp            # imm = 0x1B0
movq %rdi, %rbx
movl 0x74(%rdi), %ebp
testl %ebp, %ebp
je 0x1a4cf
movl $0xc8, %edi
callq 0x5370
movq %rax, %r14
movq 0x8(%rbx), %rsi
movzbl 0x16(%rbx), %ecx
movzbl 0x14(%rbx), %r8d
movq 0x20aea(%rip), %r9      # 0x3afa0
movq %rax, %rdi
movl %ebp, %edx
callq 0x1a6ec
movq %r14, 0x78(%rbx)
movl 0x68(%rbx), %esi
movq %r14, %rdi
callq 0x1a8a2
movl 0x10(%rbx), %ecx
movq 0x8(%rbx), %rdx
movb 0x16(%rbx), %al
cmpq %rcx, 0x18(%rdx)
jae 0x1a5c4
testb %al, %al
je 0x1a675
leaq 0x28(%rsp), %rdi
callq 0x5200
leaq 0x38(%rsp), %r14
leaq 0x1612d(%rip), %rsi     # 0x3062e
movl $0x2c, %edx
movq %r14, %rdi
callq 0x5400
movq 0x8(%rbx), %rax
movq 0x18(%rax), %rsi
movq %r14, %rdi
callq 0x51e0
movq %rax, %r14
leaq 0x16133(%rip), %rsi     # 0x3065b
movl $0x1b, %edx
movq %rax, %rdi
callq 0x5400
movl 0x10(%rbx), %esi
movq %r14, %rdi
callq 0x51e0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
leaq 0x40(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x55a0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1b894
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a5a1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
movq 0x209b0(%rip), %rsi     # 0x3af58
leaq 0x28(%rsp), %rdi
callq 0x5230
leaq 0xa8(%rsp), %rdi
callq 0x5130
jmp 0x1a675
testb %al, %al
je 0x1a66d
leaq 0x28(%rsp), %rdi
callq 0x5200
leaq 0x38(%rsp), %r14
leaq 0x1603b(%rip), %rsi     # 0x3061d
movl $0x10, %edx
movq %r14, %rdi
callq 0x5400
movq 0x38(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
leaq 0x40(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x55a0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1b894
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a64f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
movq 0x20902(%rip), %rsi     # 0x3af58
leaq 0x28(%rsp), %rdi
callq 0x5230
leaq 0xa8(%rsp), %rdi
callq 0x5130
movq %rbx, %rdi
callq 0x1b8ee
movb $0x1, 0x80(%rbx)
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1a68c
jmp 0x1a6c2
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a6c5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
jmp 0x1a6c5
jmp 0x1a6c2
movq %rax, %rbx
movl $0xc8, %esi
movq %r14, %rdi
callq 0x5380
jmp 0x1a6e3
jmp 0x1a6c2
movq %rax, %rbx
movq 0x2088c(%rip), %rsi     # 0x3af58
leaq 0x28(%rsp), %rdi
callq 0x5230
leaq 0xa8(%rsp), %rdi
callq 0x5130
movq %rbx, %rdi
callq 0x56a0
nop