// File: BenLangmead[P]bowtie/./ebwt.h
// Function: Ebwt::countBwSide(SideLocus const&, int) const
inline TIndexOffU Ebwt::countBwSide(const SideLocus& l, int c) const {
	assert_lt(c, 4);
	assert_geq(c, 0);
	assert_lt(l._by, (int)this->_eh._sideBwtSz);
	assert_geq(l._by, 0);
	assert_lt(l._bp, 4);
	assert_geq(l._bp, 0);
	const uint8_t *side = l.side(this->_ebwt);
	TIndexOffU cCnt = countUpTo(l, c);
	if(rowL(l) == c) cCnt++;
	assert_leq(cCnt, this->_eh._sideBwtLen);
	if(c == 0 && l._sideByteOff <= _zEbwtByteOff && l._sideByteOff + l._by >= _zEbwtByteOff) {
		// Adjust for the fact that we represented $ with an 'A', but
		// shouldn't count it as an 'A' here
		if((l._sideByteOff + l._by > _zEbwtByteOff) ||
		   (l._sideByteOff + l._by == _zEbwtByteOff && l._bp >= _zEbwtBpOff))
		{
			cCnt--;
		}
	}
	TIndexOffU ret;
	// Now factor in the occ[] count at the side break
	if(c < 2) {
		const TIndexOffU *ac = reinterpret_cast<const TIndexOffU*>(side + this->_eh._sideSz - 2*OFF_SIZE);
		assert_leq(ac[0], this->_eh._numSides * this->_eh._sideBwtLen); // b/c it's used as padding
		assert_leq(ac[1], this->_eh._len);
		ret = ac[c] - cCnt + this->_fchr[c];
	} else {
		const TIndexOffU *gt = reinterpret_cast<const TIndexOffU*>(side + (2*this->_eh._sideSz) - 2*OFF_SIZE); // next
		assert_leq(gt[0], this->_eh._len); assert_leq(gt[1], this->_eh._len);
		ret = gt[c-2] - cCnt + this->_fchr[c];
	}
#ifndef NDEBUG
	assert_leq(ret, this->_fchr[c+1]); // can't have jumped into next char's section
	if(c == 0) {
		assert_leq(cCnt, this->_eh._sideBwtLen);
	} else {
		assert_lt(ret, this->_eh._bwtLen);
	}
#endif
	return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpl $0x4, -0x14(%rbp)
jl 0x24cea
movq 0x25384(%rip), %rdi     # 0x49fc0
leaq 0x1a604(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1a600(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movl $0x4, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1c93f(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x252f8(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x2532c(%rip), %rdi     # 0x49fc0
leaq 0x1a422(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1bae0(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x859, %esi            # imm = 0x859
callq 0x5750
movq %rax, %rdi
movq 0x252ba(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b998(%rip), %rdi     # 0x4066a
leaq 0x1a3e4(%rip), %rsi     # 0x3f0bd
movl $0x859, %edx            # imm = 0x859
leaq 0x1b512(%rip), %rcx     # 0x401f7
callq 0x51e0
cmpl $0x0, -0x14(%rbp)
jge 0x24da6
movq 0x252c5(%rip), %rdi     # 0x49fc0
leaq 0x1a503(%rip), %rsi     # 0x3f205
callq 0x5360
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1a500(%rip), %rsi     # 0x3f21c
callq 0x5360
movq %rax, %rdi
xorl %esi, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1c883(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x2523c(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25270(%rip), %rdi     # 0x49fc0
leaq 0x1a366(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1ba24(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x85a, %esi            # imm = 0x85A
callq 0x5750
movq %rax, %rdi
movq 0x251fe(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b8dc(%rip), %rdi     # 0x4066a
leaq 0x1a328(%rip), %rsi     # 0x3f0bd
movl $0x85a, %edx            # imm = 0x85A
leaq 0x1b456(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %eax
cmpl 0x190(%rcx), %eax
jl 0x24e7d
movq 0x251fb(%rip), %rdi     # 0x49fc0
leaq 0x1a47b(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %esi
callq 0x5300
movq %rax, %rdi
leaq 0x1a472(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movl 0x190(%rax), %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1c7ac(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x25165(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25199(%rip), %rdi     # 0x49fc0
leaq 0x1a28f(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b94d(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x85b, %esi            # imm = 0x85B
callq 0x5750
movq %rax, %rdi
movq 0x25127(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b805(%rip), %rdi     # 0x4066a
leaq 0x1a251(%rip), %rsi     # 0x3f0bd
movl $0x85b, %edx            # imm = 0x85B
leaq 0x1b37f(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %eax
cmpl $0x0, %eax
jge 0x24f45
movq 0x2512b(%rip), %rdi     # 0x49fc0
leaq 0x1a369(%rip), %rsi     # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %esi
callq 0x5300
movq %rax, %rdi
leaq 0x1a361(%rip), %rsi     # 0x3f21c
callq 0x5360
movq %rax, %rdi
xorl %esi, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1c6e4(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x2509d(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x250d1(%rip), %rdi     # 0x49fc0
leaq 0x1a1c7(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b885(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x85c, %esi            # imm = 0x85C
callq 0x5750
movq %rax, %rdi
movq 0x2505f(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b73d(%rip), %rdi     # 0x4066a
leaq 0x1a189(%rip), %rsi     # 0x3f0bd
movl $0x85c, %edx            # imm = 0x85C
leaq 0x1b2b7(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %eax
cmpl $0x4, %eax
jl 0x25010
movq 0x25063(%rip), %rdi     # 0x49fc0
leaq 0x1a2e3(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %esi
callq 0x5560
movq %rax, %rdi
leaq 0x1a2da(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movl $0x4, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1c619(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24fd2(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25006(%rip), %rdi     # 0x49fc0
leaq 0x1a0fc(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b7ba(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x85d, %esi            # imm = 0x85D
callq 0x5750
movq %rax, %rdi
movq 0x24f94(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b672(%rip), %rdi     # 0x4066a
leaq 0x1a0be(%rip), %rsi     # 0x3f0bd
movl $0x85d, %edx            # imm = 0x85D
leaq 0x1b1ec(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %eax
cmpl $0x0, %eax
jge 0x250d8
movq 0x24f98(%rip), %rdi     # 0x49fc0
leaq 0x1a1d6(%rip), %rsi     # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %esi
callq 0x5560
movq %rax, %rdi
leaq 0x1a1ce(%rip), %rsi     # 0x3f21c
callq 0x5360
movq %rax, %rdi
xorl %esi, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1c551(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24f0a(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x24f3e(%rip), %rdi     # 0x49fc0
leaq 0x1a034(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b6f2(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x85e, %esi            # imm = 0x85E
callq 0x5750
movq %rax, %rdi
movq 0x24ecc(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b5aa(%rip), %rdi     # 0x4066a
leaq 0x19ff6(%rip), %rsi     # 0x3f0bd
movl $0x85e, %edx            # imm = 0x85E
leaq 0x1b124(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x48(%rbp), %rax
movq -0x10(%rbp), %rdi
movq 0xc8(%rax), %rsi
callq 0x23610
movq -0x48(%rbp), %rdi
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x264d0
movq -0x48(%rbp), %rdi
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rsi
callq 0x18f40
cmpl -0x14(%rbp), %eax
jne 0x25122
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movl 0x194(%rcx), %ecx
cmpq %rcx, %rax
jbe 0x251f4
movq 0x24e80(%rip), %rdi     # 0x49fc0
leaq 0x1a05c(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x28(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1a058(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movl 0x194(%rax), %esi
callq 0x5530
movq %rax, %rdi
leaq 0x1c435(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24dee(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x24e22(%rip), %rdi     # 0x49fc0
leaq 0x19f18(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b5d6(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x862, %esi            # imm = 0x862
callq 0x5750
movq %rax, %rdi
movq 0x24db0(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b48e(%rip), %rdi     # 0x4066a
leaq 0x19eda(%rip), %rsi     # 0x3f0bd
movl $0x862, %edx            # imm = 0x862
leaq 0x1b008(%rip), %rcx     # 0x401f7
callq 0x51e0
cmpl $0x0, -0x14(%rbp)
jne 0x25287
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpq 0x70(%rcx), %rax
ja 0x25287
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rdx
movswq 0x14(%rdx), %rdx
addq %rdx, %rax
cmpq 0x70(%rcx), %rax
jb 0x25287
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rdx
movswq 0x14(%rdx), %rdx
addq %rdx, %rax
cmpq 0x70(%rcx), %rax
ja 0x25279
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rdx
movswq 0x14(%rdx), %rdx
addq %rdx, %rax
cmpq 0x70(%rcx), %rax
jne 0x25285
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movsbq 0x16(%rax), %rax
cmpq 0x78(%rcx), %rax
jl 0x25285
movq -0x28(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x25287
cmpl $0x2, -0x14(%rbp)
jge 0x25499
movq -0x48(%rbp), %rdx
movq -0x20(%rbp), %rax
movl 0x18c(%rdx), %ecx
addq %rcx, %rax
addq $-0x10, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq 0x1a0(%rdx), %rcx
movl 0x194(%rdx), %edx
imulq %rdx, %rcx
cmpq %rcx, %rax
jbe 0x25394
movq 0x24cee(%rip), %rdi     # 0x49fc0
leaq 0x19eca(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rax
movq (%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x19ec3(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x1a0(%rax), %rsi
movl 0x194(%rax), %eax
imulq %rax, %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1c295(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24c4e(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x24c82(%rip), %rdi     # 0x49fc0
leaq 0x19d78(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b436(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x870, %esi            # imm = 0x870
callq 0x5750
movq %rax, %rdi
movq 0x24c10(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b2ee(%rip), %rdi     # 0x4066a
leaq 0x19d3a(%rip), %rsi     # 0x3f0bd
movl $0x870, %edx            # imm = 0x870
leaq 0x1ae68(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rax
cmpq 0x108(%rcx), %rax
jbe 0x2546d
movq 0x24c0c(%rip), %rdi     # 0x49fc0
leaq 0x19de8(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x19de0(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x108(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1c1bc(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24b75(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x24ba9(%rip), %rdi     # 0x49fc0
leaq 0x19c9f(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b35d(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x871, %esi            # imm = 0x871
callq 0x5750
movq %rax, %rdi
movq 0x24b37(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b215(%rip), %rdi     # 0x4066a
leaq 0x19c61(%rip), %rsi     # 0x3f0bd
movl $0x871, %edx            # imm = 0x871
leaq 0x1ad8f(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x38(%rbp), %rax
movslq -0x14(%rbp), %rdx
movq (%rax,%rdx,8), %rax
subq -0x28(%rbp), %rax
movq 0xa0(%rcx), %rcx
movslq -0x14(%rbp), %rdx
addq (%rcx,%rdx,8), %rax
movq %rax, -0x30(%rbp)
jmp 0x2568e
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movl 0x18c(%rcx), %edx
shll %edx
movl %edx, %edx
addq %rdx, %rax
addq $-0x10, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq (%rax), %rax
cmpq 0x108(%rcx), %rax
jbe 0x25589
movq 0x24aef(%rip), %rdi     # 0x49fc0
leaq 0x19ccb(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rax
movq (%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x19cc4(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x108(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1c0a0(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24a59(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x24a8d(%rip), %rdi     # 0x49fc0
leaq 0x19b83(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b241(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x875, %esi            # imm = 0x875
callq 0x5750
movq %rax, %rdi
movq 0x24a1b(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b0f9(%rip), %rdi     # 0x4066a
leaq 0x19b45(%rip), %rsi     # 0x3f0bd
movl $0x875, %edx            # imm = 0x875
leaq 0x1ac73(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rax
cmpq 0x108(%rcx), %rax
jbe 0x25662
movq 0x24a17(%rip), %rdi     # 0x49fc0
leaq 0x19bf3(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x19beb(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x108(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1bfc7(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24980(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x249b4(%rip), %rdi     # 0x49fc0
leaq 0x19aaa(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b168(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x875, %esi            # imm = 0x875
callq 0x5750
movq %rax, %rdi
movq 0x24942(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1b020(%rip), %rdi     # 0x4066a
leaq 0x19a6c(%rip), %rsi     # 0x3f0bd
movl $0x875, %edx            # imm = 0x875
leaq 0x1ab9a(%rip), %rcx     # 0x401f7
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
movl -0x14(%rbp), %edx
subl $0x2, %edx
movslq %edx, %rdx
movq (%rax,%rdx,8), %rax
subq -0x28(%rbp), %rax
movq 0xa0(%rcx), %rcx
movslq -0x14(%rbp), %rdx
addq (%rcx,%rdx,8), %rax
movq %rax, -0x30(%rbp)
movq -0x48(%rbp), %rcx
movq -0x30(%rbp), %rax
movq 0xa0(%rcx), %rcx
movl -0x14(%rbp), %edx
addl $0x1, %edx
movslq %edx, %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x25779
movq 0x24909(%rip), %rdi     # 0x49fc0
leaq 0x19ae5(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x19ae1(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0xa0(%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1beb0(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x24869(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x2489d(%rip), %rdi     # 0x49fc0
leaq 0x19993(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1b051(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x879, %esi            # imm = 0x879
callq 0x5750
movq %rax, %rdi
movq 0x2482b(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1af09(%rip), %rdi     # 0x4066a
leaq 0x19955(%rip), %rsi     # 0x3f0bd
movl $0x879, %edx            # imm = 0x879
leaq 0x1aa83(%rip), %rcx     # 0x401f7
callq 0x51e0
cmpl $0x0, -0x14(%rbp)
jne 0x2585a
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movl 0x194(%rcx), %ecx
cmpq %rcx, %rax
jbe 0x25855
movq 0x2481f(%rip), %rdi     # 0x49fc0
leaq 0x199fb(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x28(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x199f7(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movl 0x194(%rax), %esi
callq 0x5530
movq %rax, %rdi
leaq 0x1bdd4(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x2478d(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x247c1(%rip), %rdi     # 0x49fc0
leaq 0x198b7(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1af75(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x87b, %esi            # imm = 0x87B
callq 0x5750
movq %rax, %rdi
movq 0x2474f(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1ae2d(%rip), %rdi     # 0x4066a
leaq 0x19879(%rip), %rsi     # 0x3f0bd
movl $0x87b, %edx            # imm = 0x87B
leaq 0x1a9a7(%rip), %rcx     # 0x401f7
callq 0x51e0
jmp 0x2592d
movq -0x48(%rbp), %rcx
movq -0x30(%rbp), %rax
cmpq 0x110(%rcx), %rax
jb 0x2592b
movq 0x2474a(%rip), %rdi     # 0x49fc0
leaq 0x199ca(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x199c5(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x110(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1bcfe(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x246b7(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x246eb(%rip), %rdi     # 0x49fc0
leaq 0x197e1(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1ae9f(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x87d, %esi            # imm = 0x87D
callq 0x5750
movq %rax, %rdi
movq 0x24679(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1ad57(%rip), %rdi     # 0x4066a
leaq 0x197a3(%rip), %rsi     # 0x3f0bd
movl $0x87d, %edx            # imm = 0x87D
leaq 0x1a8d1(%rip), %rcx     # 0x401f7
callq 0x51e0
jmp 0x2592d
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)