// File: BenLangmead[P]bowtie/./ebwt.h
// Function: Ebwt::countFwSide(SideLocus const&, int) const
inline TIndexOffU Ebwt::countFwSide(const SideLocus& l, int c) const { /* check */
	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);
	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--; // Adjust for '$' looking like an 'A'
		}
	}
	TIndexOffU ret;
	// Now factor in the occ[] count at the side break
	if(c < 2) {
		const TIndexOffU *ac = reinterpret_cast<const TIndexOffU*>(side - 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 + 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 jumpded into next char's section
	if(c == 0) {
		assert_leq(cCnt, this->_eh._sideBwtLen);
	} else {
		assert_leq(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 0x2370a
movq 0x26964(%rip), %rdi     # 0x49fc0
leaq 0x1bbe4(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1bbe0(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movl $0x4, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1df1f(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x268d8(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x2690c(%rip), %rdi     # 0x49fc0
leaq 0x1ba02(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1d0c0(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7f3, %esi            # imm = 0x7F3
callq 0x5750
movq %rax, %rdi
movq 0x2689a(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1cf78(%rip), %rdi     # 0x4066a
leaq 0x1b9c4(%rip), %rsi     # 0x3f0bd
movl $0x7f3, %edx            # imm = 0x7F3
leaq 0x1ca7b(%rip), %rcx     # 0x40180
callq 0x51e0
cmpl $0x0, -0x14(%rbp)
jge 0x237c6
movq 0x268a5(%rip), %rdi     # 0x49fc0
leaq 0x1bae3(%rip), %rsi     # 0x3f205
callq 0x5360
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1bae0(%rip), %rsi     # 0x3f21c
callq 0x5360
movq %rax, %rdi
xorl %esi, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1de63(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x2681c(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x26850(%rip), %rdi     # 0x49fc0
leaq 0x1b946(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1d004(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7f4, %esi            # imm = 0x7F4
callq 0x5750
movq %rax, %rdi
movq 0x267de(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1cebc(%rip), %rdi     # 0x4066a
leaq 0x1b908(%rip), %rsi     # 0x3f0bd
movl $0x7f4, %edx            # imm = 0x7F4
leaq 0x1c9bf(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %eax
cmpl 0x190(%rcx), %eax
jl 0x2389d
movq 0x267db(%rip), %rdi     # 0x49fc0
leaq 0x1ba5b(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %esi
callq 0x5300
movq %rax, %rdi
leaq 0x1ba52(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movl 0x190(%rax), %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1dd8c(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x26745(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x26779(%rip), %rdi     # 0x49fc0
leaq 0x1b86f(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1cf2d(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7f5, %esi            # imm = 0x7F5
callq 0x5750
movq %rax, %rdi
movq 0x26707(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1cde5(%rip), %rdi     # 0x4066a
leaq 0x1b831(%rip), %rsi     # 0x3f0bd
movl $0x7f5, %edx            # imm = 0x7F5
leaq 0x1c8e8(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %eax
cmpl $0x0, %eax
jge 0x23965
movq 0x2670b(%rip), %rdi     # 0x49fc0
leaq 0x1b949(%rip), %rsi     # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movswl 0x14(%rax), %esi
callq 0x5300
movq %rax, %rdi
leaq 0x1b941(%rip), %rsi     # 0x3f21c
callq 0x5360
movq %rax, %rdi
xorl %esi, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1dcc4(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x2667d(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x266b1(%rip), %rdi     # 0x49fc0
leaq 0x1b7a7(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1ce65(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7f6, %esi            # imm = 0x7F6
callq 0x5750
movq %rax, %rdi
movq 0x2663f(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1cd1d(%rip), %rdi     # 0x4066a
leaq 0x1b769(%rip), %rsi     # 0x3f0bd
movl $0x7f6, %edx            # imm = 0x7F6
leaq 0x1c820(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %eax
cmpl $0x4, %eax
jl 0x23a30
movq 0x26643(%rip), %rdi     # 0x49fc0
leaq 0x1b8c3(%rip), %rsi     # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %esi
callq 0x5560
movq %rax, %rdi
leaq 0x1b8ba(%rip), %rsi     # 0x3f25d
callq 0x5360
movq %rax, %rdi
movl $0x4, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1dbf9(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x265b2(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x265e6(%rip), %rdi     # 0x49fc0
leaq 0x1b6dc(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1cd9a(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7f7, %esi            # imm = 0x7F7
callq 0x5750
movq %rax, %rdi
movq 0x26574(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1cc52(%rip), %rdi     # 0x4066a
leaq 0x1b69e(%rip), %rsi     # 0x3f0bd
movl $0x7f7, %edx            # imm = 0x7F7
leaq 0x1c755(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %eax
cmpl $0x0, %eax
jge 0x23af8
movq 0x26578(%rip), %rdi     # 0x49fc0
leaq 0x1b7b6(%rip), %rsi     # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x10(%rbp), %rax
movsbl 0x16(%rax), %esi
callq 0x5560
movq %rax, %rdi
leaq 0x1b7ae(%rip), %rsi     # 0x3f21c
callq 0x5360
movq %rax, %rdi
xorl %esi, %esi
callq 0x5750
movq %rax, %rdi
leaq 0x1db31(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x264ea(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x2651e(%rip), %rdi     # 0x49fc0
leaq 0x1b614(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1ccd2(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7f8, %esi            # imm = 0x7F8
callq 0x5750
movq %rax, %rdi
movq 0x264ac(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1cb8a(%rip), %rdi     # 0x4066a
leaq 0x1b5d6(%rip), %rsi     # 0x3f0bd
movl $0x7f8, %edx            # imm = 0x7F8
leaq 0x1c68d(%rip), %rcx     # 0x40180
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), %rcx
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movl 0x194(%rcx), %ecx
cmpq %rcx, %rax
jbe 0x23bf6
movq 0x2647e(%rip), %rdi     # 0x49fc0
leaq 0x1b65a(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x28(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b656(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movl 0x194(%rax), %esi
callq 0x5530
movq %rax, %rdi
leaq 0x1da33(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x263ec(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x26420(%rip), %rdi     # 0x49fc0
leaq 0x1b516(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1cbd4(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x7fb, %esi            # imm = 0x7FB
callq 0x5750
movq %rax, %rdi
movq 0x263ae(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1ca8c(%rip), %rdi     # 0x4066a
leaq 0x1b4d8(%rip), %rsi     # 0x3f0bd
movl $0x7fb, %edx            # imm = 0x7FB
leaq 0x1c58f(%rip), %rcx     # 0x40180
callq 0x51e0
cmpl $0x0, -0x14(%rbp)
jne 0x23c89
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpq 0x70(%rcx), %rax
ja 0x23c89
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 0x23c89
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 0x23c7b
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 0x23c87
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movsbq 0x16(%rax), %rax
cmpq 0x78(%rcx), %rax
jle 0x23c87
movq -0x28(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x23c89
cmpl $0x2, -0x14(%rbp)
jge 0x23e92
movq -0x48(%rbp), %rdx
movq -0x20(%rbp), %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 0x23d8d
movq 0x262f5(%rip), %rdi     # 0x49fc0
leaq 0x1b4d1(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rax
movq (%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b4ca(%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 0x1d89c(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x26255(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x26289(%rip), %rdi     # 0x49fc0
leaq 0x1b37f(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1ca3d(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x809, %esi            # imm = 0x809
callq 0x5750
movq %rax, %rdi
movq 0x26217(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c8f5(%rip), %rdi     # 0x4066a
leaq 0x1b341(%rip), %rsi     # 0x3f0bd
movl $0x809, %edx            # imm = 0x809
leaq 0x1c3f8(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rax
cmpq 0x108(%rcx), %rax
jbe 0x23e66
movq 0x26213(%rip), %rdi     # 0x49fc0
leaq 0x1b3ef(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b3e7(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x108(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1d7c3(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x2617c(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x261b0(%rip), %rdi     # 0x49fc0
leaq 0x1b2a6(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1c964(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x80a, %esi            # imm = 0x80A
callq 0x5750
movq %rax, %rdi
movq 0x2613e(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c81c(%rip), %rdi     # 0x4066a
leaq 0x1b268(%rip), %rsi     # 0x3f0bd
movl $0x80a, %edx            # imm = 0x80A
leaq 0x1c31f(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x38(%rbp), %rax
movslq -0x14(%rbp), %rdx
movq (%rax,%rdx,8), %rax
addq -0x28(%rbp), %rax
movq 0xa0(%rcx), %rcx
movslq -0x14(%rbp), %rdx
addq (%rcx,%rdx,8), %rax
movq %rax, -0x30(%rbp)
jmp 0x24083
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movl 0x18c(%rcx), %edx
addq %rdx, %rax
addq $-0x10, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq (%rax), %rax
cmpq 0x108(%rcx), %rax
jbe 0x23f7e
movq 0x260fa(%rip), %rdi     # 0x49fc0
leaq 0x1b2d6(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rax
movq (%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b2cf(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x108(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1d6ab(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x26064(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x26098(%rip), %rdi     # 0x49fc0
leaq 0x1b18e(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1c84c(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x80e, %esi            # imm = 0x80E
callq 0x5750
movq %rax, %rdi
movq 0x26026(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c704(%rip), %rdi     # 0x4066a
leaq 0x1b150(%rip), %rsi     # 0x3f0bd
movl $0x80e, %edx            # imm = 0x80E
leaq 0x1c207(%rip), %rcx     # 0x40180
callq 0x51e0
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rax
cmpq 0x108(%rcx), %rax
jbe 0x24057
movq 0x26022(%rip), %rdi     # 0x49fc0
leaq 0x1b1fe(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b1f6(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x108(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1d5d2(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x25f8b(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25fbf(%rip), %rdi     # 0x49fc0
leaq 0x1b0b5(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1c773(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x80e, %esi            # imm = 0x80E
callq 0x5750
movq %rax, %rdi
movq 0x25f4d(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c62b(%rip), %rdi     # 0x4066a
leaq 0x1b077(%rip), %rsi     # 0x3f0bd
movl $0x80e, %edx            # imm = 0x80E
leaq 0x1c12e(%rip), %rcx     # 0x40180
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
addq -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 0x2416e
movq 0x25f14(%rip), %rdi     # 0x49fc0
leaq 0x1b0f0(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b0ec(%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 0x1d4bb(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x25e74(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25ea8(%rip), %rdi     # 0x49fc0
leaq 0x1af9e(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1c65c(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x812, %esi            # imm = 0x812
callq 0x5750
movq %rax, %rdi
movq 0x25e36(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c514(%rip), %rdi     # 0x4066a
leaq 0x1af60(%rip), %rsi     # 0x3f0bd
movl $0x812, %edx            # imm = 0x812
leaq 0x1c017(%rip), %rcx     # 0x40180
callq 0x51e0
cmpl $0x0, -0x14(%rbp)
jne 0x2424f
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movl 0x194(%rcx), %ecx
cmpq %rcx, %rax
jbe 0x2424a
movq 0x25e2a(%rip), %rdi     # 0x49fc0
leaq 0x1b006(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x28(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1b002(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movl 0x194(%rax), %esi
callq 0x5530
movq %rax, %rdi
leaq 0x1d3df(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x25d98(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25dcc(%rip), %rdi     # 0x49fc0
leaq 0x1aec2(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1c580(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x814, %esi            # imm = 0x814
callq 0x5750
movq %rax, %rdi
movq 0x25d5a(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c438(%rip), %rdi     # 0x4066a
leaq 0x1ae84(%rip), %rsi     # 0x3f0bd
movl $0x814, %edx            # imm = 0x814
leaq 0x1bf3b(%rip), %rcx     # 0x40180
callq 0x51e0
jmp 0x24322
movq -0x48(%rbp), %rcx
movq -0x30(%rbp), %rax
cmpq 0x110(%rcx), %rax
jbe 0x24320
movq 0x25d55(%rip), %rdi     # 0x49fc0
leaq 0x1af31(%rip), %rsi     # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1af2d(%rip), %rsi     # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq 0x110(%rax), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x1d309(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x25cc2(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x25cf6(%rip), %rdi     # 0x49fc0
leaq 0x1adec(%rip), %rsi     # 0x3f0bd
callq 0x5360
movq %rax, %rdi
leaq 0x1c4aa(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x816, %esi            # imm = 0x816
callq 0x5750
movq %rax, %rdi
movq 0x25c84(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x1c362(%rip), %rdi     # 0x4066a
leaq 0x1adae(%rip), %rsi     # 0x3f0bd
movl $0x816, %edx            # imm = 0x816
leaq 0x1be65(%rip), %rcx     # 0x40180
callq 0x51e0
jmp 0x24322
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)