// File: /workspace/github_cpp_makefile_star2_O3/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 0x1a3e1
movl $0xc8, %edi
callq 0x5360
movq %rax, %r14
movq 0x8(%rbx), %rsi
movzbl 0x16(%rbx), %ecx
movzbl 0x14(%rbx), %r8d
movq 0x20bd8(%rip), %r9      # 0x3afa0
movq %rax, %rdi
movl %ebp, %edx
callq 0x1a5fe
movq %r14, 0x78(%rbx)
movl 0x68(%rbx), %esi
movq %r14, %rdi
callq 0x1a7b4
movl 0x10(%rbx), %ecx
movq 0x8(%rbx), %rdx
movb 0x16(%rbx), %al
cmpq %rcx, 0x18(%rdx)
jae 0x1a4d6
testb %al, %al
je 0x1a587
leaq 0x28(%rsp), %rdi
callq 0x5200
leaq 0x38(%rsp), %r14
leaq 0x1626b(%rip), %rsi     # 0x3067e
movl $0x2c, %edx
movq %r14, %rdi
callq 0x53f0
movq 0x8(%rbx), %rax
movq 0x18(%rax), %rsi
movq %r14, %rdi
callq 0x51e0
movq %rax, %r14
leaq 0x16271(%rip), %rsi     # 0x306ab
movl $0x1b, %edx
movq %rax, %rdi
callq 0x53f0
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 0x5330
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
leaq 0x40(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5580
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1b716
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a4b3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x20a9e(%rip), %rsi     # 0x3af58
leaq 0x28(%rsp), %rdi
callq 0x5230
leaq 0xa8(%rsp), %rdi
callq 0x5130
jmp 0x1a587
testb %al, %al
je 0x1a57f
leaq 0x28(%rsp), %rdi
callq 0x5200
leaq 0x38(%rsp), %r14
leaq 0x16179(%rip), %rsi     # 0x3066d
movl $0x10, %edx
movq %r14, %rdi
callq 0x53f0
movq 0x38(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5330
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
leaq 0x40(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5580
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1b716
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a561
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x209f0(%rip), %rsi     # 0x3af58
leaq 0x28(%rsp), %rdi
callq 0x5230
leaq 0xa8(%rsp), %rdi
callq 0x5130
movq %rbx, %rdi
callq 0x1b770
movb $0x1, 0x80(%rbx)
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1a59e
jmp 0x1a5d4
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a5d7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0x1a5d7
jmp 0x1a5d4
movq %rax, %rbx
movl $0xc8, %esi
movq %r14, %rdi
callq 0x5370
jmp 0x1a5f5
jmp 0x1a5d4
movq %rax, %rbx
movq 0x2097a(%rip), %rsi     # 0x3af58
leaq 0x28(%rsp), %rdi
callq 0x5230
leaq 0xa8(%rsp), %rdi
callq 0x5130
movq %rbx, %rdi
callq 0x5680
nop