// File: /workspace/github_cpp_makefile_star2_O3/szmer[P]brill/./src/rules_scoretab.cpp
// Function: RulesScoreTab::examine(Corpus*)
void RulesScoreTab::examine(Corpus * test_corp) {

	// Find errors in the test corpus, and rules that potentially correct them.
	for( unsigned int si = 0; si < test_corp->sentences.size(); si++ ) {

		vector<TaggedWord> * stc = & (*test_corp).sentences[si];
		vector<TaggedWord> * gold_stc = & (*gold_corp).sentences[si];

		for( unsigned int wi = 0; wi < stc->size(); wi++ ) {

			if(stc->at(wi).tag == gold_stc->at(wi).tag) // if classification is already true, we don't care
				continue;

			// Note that any "good" score will put a rule in the eligible rules list.
			if(wi != 0) {
				inc_good(RL_PRECEDING, stc->at(wi-1).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
			}
			if(wi+1 != stc->size()) {
				inc_good(RL_FOLLOWING, stc->at(wi+1).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
			}
			if(wi > 1) {
				inc_good(RL_2BEFORE, stc->at(wi-2).tag, stc->at(wi).tag, gold_stc->at(wi).tag);

				inc_good(RL_ONE_OF_2BEFORE, stc->at(wi-1).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
				inc_good(RL_ONE_OF_2BEFORE, stc->at(wi-2).tag, stc->at(wi).tag, gold_stc->at(wi).tag);

				inc_good_ext(EXTRL_1_AND_2_BEFORE, stc->at(wi-1).tag, stc->at(wi-2).tag,
					stc->at(wi).tag, gold_stc->at(wi).tag);
			}
			if(wi + 2 < stc->size()) {
				inc_good(RL_2AFTER, stc->at(wi+2).tag, stc->at(wi).tag, gold_stc->at(wi).tag);

				inc_good(RL_ONE_OF_2AFTER, stc->at(wi+1).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
				inc_good(RL_ONE_OF_2AFTER, stc->at(wi+2).tag, stc->at(wi).tag, gold_stc->at(wi).tag);

				inc_good_ext(EXTRL_1_AND_2_AFTER, stc->at(wi+1).tag, stc->at(wi+2).tag,
					stc->at(wi).tag, gold_stc->at(wi).tag);
			}
			if(wi > 2) {
				inc_good(RL_ONE_OF_3BEFORE, stc->at(wi-1).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
				inc_good(RL_ONE_OF_3BEFORE, stc->at(wi-2).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
				inc_good(RL_ONE_OF_3BEFORE, stc->at(wi-3).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
			}
			if(wi + 3 < stc->size()) {
				inc_good(RL_ONE_OF_3AFTER, stc->at(wi+1).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
				inc_good(RL_ONE_OF_3AFTER, stc->at(wi+2).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
				inc_good(RL_ONE_OF_3AFTER, stc->at(wi+3).tag, stc->at(wi).tag, gold_stc->at(wi).tag);
			}
			if(wi+1 != stc->size() && wi > 1)
				inc_good_ext(EXTRL_PRECEDING_AND_FOLLOWING, stc->at(wi-1).tag, stc->at(wi+1).tag,
					stc->at(wi).tag, gold_stc->at(wi).tag);

		}
	}

	// Assign "bad" scores to the eligible rules.
	for( unsigned int si = 0; si < test_corp->sentences.size(); si++ ) {

		vector<TaggedWord> * stc = & (*test_corp).sentences[si];
		vector<TaggedWord> * gold_stc = & (*gold_corp).sentences[si];

		for( unsigned int wi = 0; wi < stc->size(); wi++ ) {

			#ifdef DUMP_WORDS
			cout << stc->at(wi).word << " " << stc->at(wi).tag << endl << "======" << endl;
			#endif

			if(stc->at(wi).tag != gold_stc->at(wi).tag) // already taken care of those
				continue;

			// Check the preceding tag rules that could introduce error.
			// Note that any rule whose "bad" score exceeds "good" will be wiped out from eligible rules
			// list.
			if(wi != 0)
				inc_bad(RL_PRECEDING, stc->at(wi-1).tag, stc->at(wi).tag);
			if(wi+1 != stc->size())
				inc_bad(RL_FOLLOWING, stc->at(wi+1).tag, stc->at(wi).tag);
			if(wi > 1) {
				inc_bad(RL_2BEFORE, stc->at(wi-2).tag, stc->at(wi).tag);

				inc_bad(RL_ONE_OF_2BEFORE, stc->at(wi-1).tag, stc->at(wi).tag);
				inc_bad(RL_ONE_OF_2BEFORE, stc->at(wi-2).tag, stc->at(wi).tag);

				inc_bad_ext(EXTRL_1_AND_2_BEFORE, stc->at(wi-1).tag, stc->at(wi-2).tag,
					stc->at(wi).tag);
			}
			if(wi + 2 < stc->size()) {
				inc_bad(RL_2AFTER, stc->at(wi+2).tag, stc->at(wi).tag);

				inc_bad(RL_ONE_OF_2AFTER, stc->at(wi+1).tag, stc->at(wi).tag);
				inc_bad(RL_ONE_OF_2AFTER, stc->at(wi+2).tag, stc->at(wi).tag);

				inc_bad_ext(EXTRL_1_AND_2_AFTER, stc->at(wi+1).tag, stc->at(wi+2).tag,
					stc->at(wi).tag);
			}
			if(wi > 2) {
				inc_bad(RL_ONE_OF_3BEFORE, stc->at(wi-1).tag, stc->at(wi).tag);
				inc_bad(RL_ONE_OF_3BEFORE, stc->at(wi-2).tag, stc->at(wi).tag);
				inc_bad(RL_ONE_OF_3BEFORE, stc->at(wi-3).tag, stc->at(wi).tag);
			}
			if(wi + 3 < stc->size()) {
				inc_bad(RL_ONE_OF_3AFTER, stc->at(wi+1).tag, stc->at(wi).tag);
				inc_bad(RL_ONE_OF_3AFTER, stc->at(wi+2).tag, stc->at(wi).tag);
				inc_bad(RL_ONE_OF_3AFTER, stc->at(wi+3).tag, stc->at(wi).tag);
			}
			if(wi+1 != stc->size() && wi > 1)
				inc_bad_ext(EXTRL_PRECEDING_AND_FOLLOWING, stc->at(wi-1).tag, stc->at(wi+1).tag,
					stc->at(wi).tag);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xba8, %rsp            # imm = 0xBA8
movq %rdi, -0x38(%rbp)
movq (%rsi), %r13
movq %rsi, -0x68(%rbp)
movq 0x8(%rsi), %rax
cmpq %r13, %rax
je 0x776f
xorl %ecx, %ecx
leaq -0x88(%rbp), %r14
xorl %esi, %esi
shlq $0x3, %rcx
leaq (%rcx,%rcx,2), %rcx
movq (%r13,%rcx), %rbx
cmpq %rbx, 0x8(%r13,%rcx)
je 0x7749
movq %rsi, -0xaf0(%rbp)
addq %rcx, %r13
movq %r13, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq (%rax), %rcx
xorl %r15d, %r15d
movq %rcx, -0x48(%rbp)
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x895d
movq %r15, -0x30(%rbp)
shlq $0x6, %r15
leaq (%rbx,%r15), %rcx
addq $0x20, %rcx
movq 0x8(%rcx), %rdx
cmpq 0x28(%rax,%r15), %rdx
jne 0x5ecb
testq %rdx, %rdx
je 0x7711
addq %r15, %rax
addq $0x20, %rax
movq (%rax), %rsi
movq (%rcx), %rdi
callq 0x2240
testl %eax, %eax
je 0x7711
cmpl $0x0, -0x30(%rbp)
je 0x6010
movq -0x30(%rbp), %r13
leal -0x1(%r13), %eax
shlq $0x6, %rax
leaq -0xb60(%rbp), %rcx
movq %rcx, -0xb70(%rbp)
movq 0x20(%rbx,%rax), %rsi
movq 0x28(%rbx,%rax), %rdx
addq %rsi, %rdx
leaq -0xb70(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x89aa
leaq -0xad8(%rbp), %rcx
movq %rcx, -0xae8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xae8(%rbp), %r13
movq %r13, %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8998
leaq -0xab8(%rbp), %rcx
movq %rcx, -0xac8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xac8(%rbp), %r12
movq %r12, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
xorl %esi, %esi
movq %rbx, %rdx
movq %r13, %rcx
movq %r12, %r8
callq 0x53a4
movq -0xac8(%rbp), %rdi
leaq -0xab8(%rbp), %rax
cmpq %rax, %rdi
je 0x5fcc
movq -0xab8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xae8(%rbp), %rdi
leaq -0xad8(%rbp), %rax
cmpq %rax, %rdi
je 0x5fee
movq -0xad8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xb70(%rbp), %rdi
leaq -0xb60(%rbp), %rax
cmpq %rax, %rdi
je 0x6010
movq -0xb60(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x30(%rbp), %rax
leal 0x1(%rax), %r12d
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
je 0x6175
jbe 0x8969
movq %r12, %rcx
shlq $0x6, %rcx
leaq -0xa98(%rbp), %rdx
movq %rdx, -0xaa8(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xaa8(%rbp), %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8a20
leaq -0x258(%rbp), %rcx
movq %rcx, -0x268(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x268(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8b25
leaq -0xa78(%rbp), %rcx
movq %rcx, -0xa88(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xa88(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x1, %esi
leaq -0xaa8(%rbp), %rdx
leaq -0x268(%rbp), %rcx
movq %rbx, %r8
callq 0x53a4
movq -0xa88(%rbp), %rdi
leaq -0xa78(%rbp), %rax
cmpq %rax, %rdi
je 0x6131
movq -0xa78(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x6153
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xaa8(%rbp), %rdi
leaq -0xa98(%rbp), %rax
cmpq %rax, %rdi
je 0x6175
movq -0xa98(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x30(%rbp), %r13
cmpl $0x2, %r13d
movq %r12, -0x58(%rbp)
jb 0x6757
leal -0x2(%r13), %ecx
movq -0x40(%rbp), %rbx
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rcx, %rdx
jbe 0x8982
movq %r13, %r14
movq %rcx, -0x50(%rbp)
movq %rcx, %r12
shlq $0x6, %r12
leaq -0xa58(%rbp), %rcx
movq %rcx, -0xa68(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0xa68(%rbp), %rdi
callq 0xbec8
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8a77
leaq -0x238(%rbp), %rcx
movq %rcx, -0x248(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x248(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r14, %rdx
jbe 0x8b8b
leaq -0xa38(%rbp), %rcx
movq %rcx, -0xa48(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xa48(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x2, %esi
leaq -0xa68(%rbp), %rdx
leaq -0x248(%rbp), %rcx
movq %rbx, %r8
callq 0x53a4
movq -0xa48(%rbp), %rdi
leaq -0xa38(%rbp), %rax
cmpq %rax, %rdi
je 0x629f
movq -0xa38(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x248(%rbp), %rdi
leaq -0x238(%rbp), %rax
cmpq %rax, %rdi
je 0x62c1
movq -0x238(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xa68(%rbp), %rdi
leaq -0xa58(%rbp), %rax
cmpq %rax, %rdi
je 0x62e3
movq -0xa58(%rbp), %rsi
incq %rsi
callq 0x2230
leal -0x1(%r14), %ebx
movq %r14, %r13
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8951
movq %rbx, -0x60(%rbp)
shlq $0x6, %rbx
leaq -0xa18(%rbp), %rcx
movq %rcx, -0xa28(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0xa28(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
movq %r13, %r14
jbe 0x8adf
leaq -0x218(%rbp), %rcx
movq %rcx, -0x228(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x228(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r14, %rdx
jbe 0x8a0f
leaq -0x9f8(%rbp), %rcx
movq %rcx, -0xa08(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xa08(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0xa28(%rbp), %rdx
leaq -0x228(%rbp), %rcx
movq %r14, %r8
callq 0x53a4
movq -0xa08(%rbp), %rdi
leaq -0x9f8(%rbp), %rax
cmpq %rax, %rdi
je 0x63fb
movq -0x9f8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
je 0x641d
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xa28(%rbp), %rdi
leaq -0xa18(%rbp), %rax
cmpq %rax, %rdi
je 0x643f
movq -0xa18(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x8975
leaq -0x9d8(%rbp), %rcx
movq %rcx, -0x9e8(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x9e8(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %r14
cmpq %r14, %rdx
jbe 0x8b49
leaq -0x1f8(%rbp), %rcx
movq %rcx, -0x208(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x208(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r14, %rdx
jbe 0x8a54
leaq -0x9b8(%rbp), %rcx
movq %rcx, -0x9c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x9c8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x9e8(%rbp), %rdx
leaq -0x208(%rbp), %rcx
movq %r14, %r8
callq 0x53a4
movq -0x9c8(%rbp), %rdi
leaq -0x9b8(%rbp), %rax
cmpq %rax, %rdi
je 0x654a
movq -0x9b8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x656c
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x9e8(%rbp), %rdi
leaq -0x9d8(%rbp), %rax
cmpq %rax, %rdi
je 0x658e
movq -0x9d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x60(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x898a
leaq -0x998(%rbp), %rcx
movq %rcx, -0x9a8(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0x9a8(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x50(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x89df
leaq -0x1d8(%rbp), %rcx
movq %rcx, -0x1e8(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x1e8(%rbp), %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %rbx
cmpq %rbx, %rdx
jbe 0x8abd
leaq -0xb40(%rbp), %r12
movq %r12, -0xb50(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xb50(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x89bc
leaq -0x978(%rbp), %rcx
movq %rcx, -0x988(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x988(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x2, %esi
leaq -0x9a8(%rbp), %rdx
leaq -0x1e8(%rbp), %rcx
leaq -0xb50(%rbp), %r8
movq %rbx, %r9
callq 0x573e
movq -0x988(%rbp), %rdi
leaq -0x978(%rbp), %rax
cmpq %rax, %rdi
je 0x66e9
movq -0x978(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xb50(%rbp), %rdi
cmpq %r12, %rdi
leaq -0x88(%rbp), %r14
je 0x670b
movq -0xb40(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
movq -0x58(%rbp), %r12
je 0x6731
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x9a8(%rbp), %rdi
leaq -0x998(%rbp), %rax
cmpq %rax, %rdi
movq -0x30(%rbp), %r13
je 0x6757
movq -0x998(%rbp), %rsi
incq %rsi
callq 0x2230
leal 0x2(%r13), %edx
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
subq %rax, %rcx
sarq $0x6, %rcx
movq %rdx, -0x50(%rbp)
cmpq %rdx, %rcx
jbe 0x6d09
movq -0x50(%rbp), %rbx
shlq $0x6, %rbx
leaq -0xbc0(%rbp), %r12
movq %r12, -0xbd0(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0xbd0(%rbp), %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8b37
leaq -0x1b8(%rbp), %rcx
movq %rcx, -0x1c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x1c8(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8a32
leaq -0x78(%rbp), %rcx
movq %rcx, -0x88(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0xbd0(%rbp), %rdx
leaq -0x1c8(%rbp), %rcx
movq %r14, %r8
callq 0x53a4
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x6862
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x6884
movq -0x1b8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xbd0(%rbp), %rdi
cmpq %r12, %rdi
je 0x689f
movq -0xbc0(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x58(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x898a
movq %rsi, %r12
shlq $0x6, %r12
leaq -0x958(%rbp), %rcx
movq %rcx, -0x968(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x968(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x8b6c
leaq -0x938(%rbp), %rcx
movq %rcx, -0x948(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x948(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8a88
leaq -0x918(%rbp), %rcx
movq %rcx, -0x928(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x928(%rbp), %r13
movq %r13, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x968(%rbp), %rdx
movq %r14, %rcx
movq %r13, %r8
callq 0x53a4
movq -0x928(%rbp), %rdi
leaq -0x918(%rbp), %rax
cmpq %rax, %rdi
je 0x69b4
movq -0x918(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x948(%rbp), %rdi
leaq -0x938(%rbp), %rax
cmpq %rax, %rdi
je 0x69d6
movq -0x938(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x968(%rbp), %rdi
leaq -0x958(%rbp), %rax
cmpq %rax, %rdi
je 0x69f8
movq -0x958(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x8975
leaq -0x8f8(%rbp), %rcx
movq %rcx, -0x908(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0x908(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %r14
cmpq %r14, %rdx
jbe 0x89ed
leaq -0x198(%rbp), %rcx
movq %rcx, -0x1a8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x1a8(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r14, %rdx
jbe 0x8ace
leaq -0x8d8(%rbp), %rcx
movq %rcx, -0x8e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x8e8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x908(%rbp), %rdx
leaq -0x1a8(%rbp), %rcx
movq %r14, %r8
callq 0x53a4
movq -0x8e8(%rbp), %rdi
leaq -0x8d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6b03
movq -0x8d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x6b25
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x908(%rbp), %rdi
leaq -0x8f8(%rbp), %rax
cmpq %rax, %rdi
je 0x6b47
movq -0x8f8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x58(%rbp), %rdx
jbe 0x8a44
leaq -0x8b8(%rbp), %rcx
movq %rcx, -0x8c8(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x8c8(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x8b01
leaq -0x898(%rbp), %rcx
movq %rcx, -0x8a8(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0x8a8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %rbx
cmpq %rbx, %rdx
jbe 0x89fe
leaq -0xb20(%rbp), %r12
movq %r12, -0xb30(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xb30(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8af0
leaq -0x878(%rbp), %rcx
movq %rcx, -0x888(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x888(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0x8c8(%rbp), %rdx
movq %r14, %rcx
leaq -0xb30(%rbp), %r8
movq %rbx, %r9
callq 0x573e
movq -0x888(%rbp), %rdi
leaq -0x878(%rbp), %rax
cmpq %rax, %rdi
je 0x6c9b
movq -0x878(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xb30(%rbp), %rdi
cmpq %r12, %rdi
leaq -0x88(%rbp), %r14
je 0x6cbd
movq -0xb20(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x8a8(%rbp), %rdi
leaq -0x898(%rbp), %rax
cmpq %rax, %rdi
movq -0x58(%rbp), %r12
je 0x6ce3
movq -0x898(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x8c8(%rbp), %rdi
leaq -0x8b8(%rbp), %rax
cmpq %rax, %rdi
movq -0x30(%rbp), %r13
je 0x6d09
movq -0x8b8(%rbp), %rsi
incq %rsi
callq 0x2230
cmpl $0x3, %r13d
jb 0x711e
leal -0x1(%r13), %esi
movq -0x40(%rbp), %rbx
movq (%rbx), %rcx
movq 0x8(%rbx), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x858(%rbp), %rax
movq %rax, -0x868(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x868(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8a65
leaq -0x838(%rbp), %rcx
movq %rcx, -0x848(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x848(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8b5a
leaq -0x818(%rbp), %rcx
movq %rcx, -0x828(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x828(%rbp), %r13
movq %r13, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x868(%rbp), %rdx
movq %rbx, %rcx
movq %r13, %r8
callq 0x53a4
movq -0x828(%rbp), %rdi
leaq -0x818(%rbp), %rax
cmpq %rax, %rdi
je 0x6e24
movq -0x818(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x848(%rbp), %rdi
leaq -0x838(%rbp), %rax
cmpq %rax, %rdi
je 0x6e46
movq -0x838(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x868(%rbp), %rdi
leaq -0x858(%rbp), %rax
cmpq %rax, %rdi
je 0x6e68
movq -0x858(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x30(%rbp), %r13
leal -0x2(%r13), %esi
movq -0x40(%rbp), %rbx
movq (%rbx), %rcx
movq 0x8(%rbx), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x7f8(%rbp), %rax
movq %rax, -0x808(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x808(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8aab
leaq -0x7d8(%rbp), %rcx
movq %rcx, -0x7e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x7e8(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x89cd
leaq -0x7b8(%rbp), %rcx
movq %rcx, -0x7c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x7c8(%rbp), %r13
movq %r13, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x808(%rbp), %rdx
movq %rbx, %rcx
movq %r13, %r8
callq 0x53a4
movq -0x7c8(%rbp), %rdi
leaq -0x7b8(%rbp), %rax
cmpq %rax, %rdi
je 0x6f7d
movq -0x7b8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x7e8(%rbp), %rdi
leaq -0x7d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6f9f
movq -0x7d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x808(%rbp), %rdi
leaq -0x7f8(%rbp), %rax
cmpq %rax, %rdi
je 0x6fc1
movq -0x7f8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x30(%rbp), %r13
leal -0x3(%r13), %esi
movq -0x40(%rbp), %rbx
movq (%rbx), %rcx
movq 0x8(%rbx), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x798(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x7a8(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8b13
leaq -0x778(%rbp), %rcx
movq %rcx, -0x788(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x788(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8bbf
leaq -0x758(%rbp), %rcx
movq %rcx, -0x768(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x768(%rbp), %r13
movq %r13, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x7a8(%rbp), %rdx
movq %rbx, %rcx
movq %r13, %r8
callq 0x53a4
movq -0x768(%rbp), %rdi
leaq -0x758(%rbp), %rax
cmpq %rax, %rdi
je 0x70d6
movq -0x758(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x788(%rbp), %rdi
leaq -0x778(%rbp), %rax
cmpq %rax, %rdi
je 0x70f8
movq -0x778(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x7a8(%rbp), %rdi
leaq -0x798(%rbp), %rax
cmpq %rax, %rdi
movq -0x30(%rbp), %r13
je 0x711e
movq -0x798(%rbp), %rsi
incq %rsi
callq 0x2230
leal 0x3(%r13), %ebx
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x7532
cmpq %r12, %rdx
jbe 0x8969
movq %r12, %rcx
shlq $0x6, %rcx
leaq -0x738(%rbp), %rdx
movq %rdx, -0x748(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x748(%rbp), %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %r14
cmpq %r14, %rdx
jbe 0x8b7a
leaq -0x178(%rbp), %rcx
movq %rcx, -0x188(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x188(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r14, %rdx
jbe 0x8a9a
leaq -0x718(%rbp), %rcx
movq %rcx, -0x728(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x728(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x748(%rbp), %rdx
leaq -0x188(%rbp), %rcx
movq %r14, %r8
callq 0x53a4
movq -0x728(%rbp), %rdi
leaq -0x718(%rbp), %rax
cmpq %rax, %rdi
je 0x7240
movq -0x718(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x7262
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x748(%rbp), %rdi
leaq -0x738(%rbp), %rax
cmpq %rax, %rdi
je 0x7284
movq -0x738(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x50(%rbp), %rdi
cmpq %rdi, %rdx
jbe 0x8987
shlq $0x6, %rdi
leaq -0x6f8(%rbp), %rcx
movq %rcx, -0x708(%rbp)
movq 0x20(%rax,%rdi), %rsi
movq 0x28(%rax,%rdi), %rdx
addq %rsi, %rdx
leaq -0x708(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %r14
cmpq %r14, %rdx
jbe 0x8bae
leaq -0x158(%rbp), %rcx
movq %rcx, -0x168(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x168(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r14, %rdx
jbe 0x8c05
leaq -0x6d8(%rbp), %rcx
movq %rcx, -0x6e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x6e8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x708(%rbp), %rdx
leaq -0x168(%rbp), %rcx
movq %r14, %r8
callq 0x53a4
movq -0x6e8(%rbp), %rdi
leaq -0x6d8(%rbp), %rax
cmpq %rax, %rdi
je 0x7396
movq -0x6d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x73b8
movq -0x158(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x708(%rbp), %rdi
leaq -0x6f8(%rbp), %rax
cmpq %rax, %rdi
je 0x73da
movq -0x6f8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8951
shlq $0x6, %rbx
leaq -0x6b8(%rbp), %rcx
movq %rcx, -0x6c8(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0x6c8(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %rbx
cmpq %rbx, %rdx
jbe 0x8bd1
leaq -0x698(%rbp), %rcx
movq %rcx, -0x6a8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x6a8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c16
leaq -0x678(%rbp), %rcx
movq %rcx, -0x688(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x688(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x6c8(%rbp), %rdx
movq %r14, %rcx
movq %rbx, %r8
callq 0x53a4
movq -0x688(%rbp), %rdi
leaq -0x678(%rbp), %rax
cmpq %rax, %rdi
je 0x74e7
movq -0x678(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x6a8(%rbp), %rdi
leaq -0x698(%rbp), %rax
cmpq %rax, %rdi
leaq -0x88(%rbp), %r14
je 0x7510
movq -0x698(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x6c8(%rbp), %rdi
leaq -0x6b8(%rbp), %rax
cmpq %rax, %rdi
je 0x7532
movq -0x6b8(%rbp), %rsi
incq %rsi
callq 0x2230
cmpl $0x2, -0x30(%rbp)
jb 0x7711
movq -0x40(%rbp), %rax
movq (%rax), %rcx
movq 0x8(%rax), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
je 0x7711
movq -0x30(%rbp), %rax
leal -0x1(%rax), %esi
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x658(%rbp), %rax
movq %rax, -0x668(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x668(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8bf4
shlq $0x6, %r12
leaq -0x638(%rbp), %rcx
movq %rcx, -0x648(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x648(%rbp), %rbx
movq %rbx, %rdi
callq 0xbec8
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8b9c
leaq -0x138(%rbp), %rcx
movq %rcx, -0x148(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x148(%rbp), %rdi
callq 0xbec8
movq -0x48(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8be2
leaq -0x618(%rbp), %rcx
movq %rcx, -0x628(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x628(%rbp), %r15
movq %r15, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x1, %esi
leaq -0x668(%rbp), %rdx
movq %rbx, %rcx
leaq -0x148(%rbp), %r8
movq %r15, %r9
callq 0x573e
movq -0x628(%rbp), %rdi
leaq -0x618(%rbp), %rax
cmpq %rax, %rdi
je 0x76ab
movq -0x618(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x76cd
movq -0x138(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x648(%rbp), %rdi
leaq -0x638(%rbp), %rax
cmpq %rax, %rdi
je 0x76ef
movq -0x638(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x668(%rbp), %rdi
leaq -0x658(%rbp), %rax
cmpq %rax, %rdi
je 0x7711
movq -0x658(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x30(%rbp), %r15
incl %r15d
movq -0x40(%rbp), %rax
movq (%rax), %rbx
movq 0x8(%rax), %rax
subq %rbx, %rax
sarq $0x6, %rax
cmpq %r15, %rax
movq -0x48(%rbp), %rcx
ja 0x5e76
movq -0x68(%rbp), %rax
movq (%rax), %r13
movq 0x8(%rax), %rax
movq -0xaf0(%rbp), %rsi
incl %esi
movq %rax, %rdx
subq %r13, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
movq %rsi, %rcx
cmpq %rsi, %rdx
ja 0x5e3f
cmpq %r13, %rax
je 0x893f
xorl %ecx, %ecx
xorl %esi, %esi
shlq $0x3, %rcx
leaq (%rcx,%rcx,2), %rcx
movq (%r13,%rcx), %r15
cmpq %r15, 0x8(%r13,%rcx)
je 0x8919
movq %rsi, -0x60(%rbp)
addq %rcx, %r13
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq (%rax), %rcx
xorl %ebx, %ebx
movq %r13, -0x40(%rbp)
movq %rcx, -0x58(%rbp)
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8951
movq %rbx, %rsi
shlq $0x6, %rsi
leaq (%r15,%rsi), %rcx
addq $0x20, %rcx
movq 0x8(%rcx), %rdx
movq %rsi, -0x30(%rbp)
cmpq 0x28(%rax,%rsi), %rdx
jne 0x88ec
testq %rdx, %rdx
je 0x780b
movq -0x30(%rbp), %rsi
addq %rsi, %rax
addq $0x20, %rax
movq (%rax), %rsi
movq (%rcx), %rdi
callq 0x2240
testl %eax, %eax
jne 0x88ec
testl %ebx, %ebx
je 0x78d8
leal -0x1(%rbx), %eax
shlq $0x6, %rax
leaq -0x98(%rbp), %rcx
movq %rcx, -0xa8(%rbp)
movq 0x20(%r15,%rax), %rsi
movq 0x28(%r15,%rax), %rdx
addq %rsi, %rdx
leaq -0xa8(%rbp), %r15
movq %r15, %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c37
leaq -0xba0(%rbp), %r14
movq %r14, -0xbb0(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xbb0(%rbp), %r12
movq %r12, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %r12, %rcx
callq 0x5b18
movq -0xbb0(%rbp), %rdi
cmpq %r14, %rdi
je 0x78b6
movq -0xba0(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x78d8
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x2230
leal 0x1(%rbx), %ecx
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq %rcx, -0x48(%rbp)
cmpq %rcx, %rdx
je 0x79ce
jbe 0x8c27
movq -0x48(%rbp), %rcx
shlq $0x6, %rcx
leaq -0x5f8(%rbp), %rdx
movq %rdx, -0x608(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x608(%rbp), %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8cd0
leaq -0x5d8(%rbp), %rcx
movq %rcx, -0x5e8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x5e8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x1, %esi
leaq -0x608(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x5e8(%rbp), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x79ac
movq -0x5d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x608(%rbp), %rdi
leaq -0x5f8(%rbp), %rax
cmpq %rax, %rdi
je 0x79ce
movq -0x5f8(%rbp), %rsi
incq %rsi
callq 0x2230
cmpl $0x2, %ebx
jb 0x7dea
leal -0x2(%rbx), %r12d
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8969
movq %r13, %r14
movq %r12, %r13
shlq $0x6, %r13
leaq -0x5b8(%rbp), %rcx
movq %rcx, -0x5c8(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x5c8(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d03
leaq -0x598(%rbp), %rcx
movq %rcx, -0x5a8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x5a8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x2, %esi
leaq -0x5c8(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0x7aa3
movq -0x598(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x5c8(%rbp), %rdi
leaq -0x5b8(%rbp), %rax
cmpq %rax, %rdi
je 0x7ac5
movq -0x5b8(%rbp), %rsi
incq %rsi
callq 0x2230
leal -0x1(%rbx), %r15d
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x895d
movq %r15, -0x50(%rbp)
shlq $0x6, %r15
leaq -0x578(%rbp), %rcx
movq %rcx, -0x588(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x588(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d36
leaq -0x558(%rbp), %rcx
movq %rcx, -0x568(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x568(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x588(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x568(%rbp), %rdi
leaq -0x558(%rbp), %rax
cmpq %rax, %rdi
je 0x7b92
movq -0x558(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %rax
cmpq %rax, %rdi
je 0x7bb4
movq -0x578(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8969
leaq -0x538(%rbp), %rcx
movq %rcx, -0x548(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x548(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d6a
leaq -0x518(%rbp), %rcx
movq %rcx, -0x528(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x528(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x548(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
cmpq %rax, %rdi
je 0x7c75
movq -0x518(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x548(%rbp), %rdi
leaq -0x538(%rbp), %rax
cmpq %rax, %rdi
je 0x7c97
movq -0x538(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x50(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x898a
leaq -0x4f8(%rbp), %rcx
movq %rcx, -0x508(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x508(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8c48
leaq -0x118(%rbp), %rcx
movq %rcx, -0x128(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x128(%rbp), %rdi
callq 0xbec8
movq -0x40(%rbp), %r13
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c6a
leaq -0x4d8(%rbp), %rcx
movq %rcx, -0x4e8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x4e8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x2, %esi
leaq -0x508(%rbp), %rdx
leaq -0x128(%rbp), %rcx
movq %r14, %r8
callq 0x5cea
movq -0x4e8(%rbp), %rdi
leaq -0x4d8(%rbp), %rax
cmpq %rax, %rdi
je 0x7da6
movq -0x4d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x7dc8
movq -0x118(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x508(%rbp), %rdi
leaq -0x4f8(%rbp), %rax
cmpq %rax, %rdi
je 0x7dea
movq -0x4f8(%rbp), %rsi
incq %rsi
callq 0x2230
leal 0x2(%rbx), %edx
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rax, %rcx
sarq $0x6, %rcx
movq %rdx, -0x50(%rbp)
cmpq %rdx, %rcx
jbe 0x81fc
movq -0x50(%rbp), %r15
shlq $0x6, %r15
leaq -0x4b8(%rbp), %rcx
movq %rcx, -0x4c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x4c8(%rbp), %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c9d
leaq -0x498(%rbp), %rcx
movq %rcx, -0x4a8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x4a8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0x4c8(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x4a8(%rbp), %rdi
leaq -0x498(%rbp), %rax
cmpq %rax, %rdi
je 0x7eb8
movq -0x498(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x4c8(%rbp), %rdi
leaq -0x4b8(%rbp), %rax
cmpq %rax, %rdi
je 0x7eda
movq -0x4b8(%rbp), %rsi
incq %rsi
callq 0x2230
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x48(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x898a
movq %r13, %r14
movq %rsi, %r13
shlq $0x6, %r13
leaq -0x478(%rbp), %rcx
movq %rcx, -0x488(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x488(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8ce1
leaq -0x458(%rbp), %rcx
movq %rcx, -0x468(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x468(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x488(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x468(%rbp), %rdi
leaq -0x458(%rbp), %rax
cmpq %rax, %rdi
je 0x7fa6
movq -0x458(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x488(%rbp), %rdi
leaq -0x478(%rbp), %rax
cmpq %rax, %rdi
je 0x7fc8
movq -0x478(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x8975
leaq -0x438(%rbp), %rcx
movq %rcx, -0x448(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x448(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d14
leaq -0x418(%rbp), %rcx
movq %rcx, -0x428(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x428(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x448(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rax
cmpq %rax, %rdi
je 0x808a
movq -0x418(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x448(%rbp), %rdi
leaq -0x438(%rbp), %rax
cmpq %rax, %rdi
je 0x80ac
movq -0x438(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x40(%rbp), %r14
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x8c27
leaq -0x3f8(%rbp), %rcx
movq %rcx, -0x408(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x408(%rbp), %rdi
callq 0xbec8
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x8d47
movq %r14, %r13
leaq -0xf8(%rbp), %rcx
movq %rcx, -0x108(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x108(%rbp), %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d59
leaq -0x3d8(%rbp), %rcx
movq %rcx, -0x3e8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x3e8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0x408(%rbp), %rdx
leaq -0x108(%rbp), %rcx
movq %r14, %r8
callq 0x5cea
movq -0x3e8(%rbp), %rdi
leaq -0x3d8(%rbp), %rax
cmpq %rax, %rdi
je 0x81b8
movq -0x3d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x81da
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x408(%rbp), %rdi
leaq -0x3f8(%rbp), %rax
cmpq %rax, %rdi
je 0x81fc
movq -0x3f8(%rbp), %rsi
incq %rsi
callq 0x2230
cmpl $0x3, %ebx
jb 0x84bf
leal -0x1(%rbx), %esi
movq (%r13), %rcx
movq 0x8(%r13), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
leaq -0xd8(%rbp), %r14
jbe 0x898a
shlq $0x6, %rsi
movq %r14, -0xe8(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0xe8(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c59
leaq -0x3b8(%rbp), %rcx
movq %rcx, -0x3c8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x3c8(%rbp), %r15
movq %r15, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0xe8(%rbp), %rdx
movq %r15, %rcx
callq 0x5b18
movq -0x3c8(%rbp), %rdi
leaq -0x3b8(%rbp), %rax
cmpq %rax, %rdi
je 0x82ce
movq -0x3b8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xe8(%rbp), %rdi
cmpq %r14, %rdi
je 0x82e9
movq -0xd8(%rbp), %rsi
incq %rsi
callq 0x2230
leal -0x2(%rbx), %esi
movq (%r13), %rcx
movq 0x8(%r13), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x398(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x3a8(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c7b
leaq -0x378(%rbp), %rcx
movq %rcx, -0x388(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x388(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x3a8(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x388(%rbp), %rdi
leaq -0x378(%rbp), %rax
cmpq %rax, %rdi
je 0x83b2
movq -0x378(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x3a8(%rbp), %rdi
leaq -0x398(%rbp), %rax
cmpq %rax, %rdi
je 0x83d4
movq -0x398(%rbp), %rsi
incq %rsi
callq 0x2230
leal -0x3(%rbx), %esi
movq (%r13), %rcx
movq 0x8(%r13), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x358(%rbp), %rax
movq %rax, -0x368(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x368(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c8c
leaq -0x338(%rbp), %rcx
movq %rcx, -0x348(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x348(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x368(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x348(%rbp), %rdi
leaq -0x338(%rbp), %rax
cmpq %rax, %rdi
je 0x849d
movq -0x338(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x368(%rbp), %rdi
leaq -0x358(%rbp), %rax
cmpq %rax, %rdi
je 0x84bf
movq -0x358(%rbp), %rsi
incq %rsi
callq 0x2230
leal 0x3(%rbx), %r15d
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x877b
movq -0x48(%rbp), %rcx
cmpq %rcx, %rdx
jbe 0x8982
shlq $0x6, %rcx
leaq -0x318(%rbp), %rdx
movq %rdx, -0x328(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x328(%rbp), %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8cf2
leaq -0x2f8(%rbp), %rcx
movq %rcx, -0x308(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x308(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x328(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x8593
movq -0x2f8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x328(%rbp), %rdi
leaq -0x318(%rbp), %rax
cmpq %rax, %rdi
je 0x85b5
movq -0x318(%rbp), %rsi
incq %rsi
callq 0x2230
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x50(%rbp), %rdi
cmpq %rdi, %rdx
jbe 0x8987
shlq $0x6, %rdi
leaq -0x2d8(%rbp), %rcx
movq %rcx, -0x2e8(%rbp)
movq 0x20(%rax,%rdi), %rsi
movq 0x28(%rax,%rdi), %rdx
addq %rsi, %rdx
leaq -0x2e8(%rbp), %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d25
leaq -0x2b8(%rbp), %rcx
movq %rcx, -0x2c8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x2c8(%rbp), %r14
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x2e8(%rbp), %rdx
movq %r14, %rcx
callq 0x5b18
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x867c
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
je 0x869e
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x895d
shlq $0x6, %r15
leaq -0xb00(%rbp), %rcx
movq %rcx, -0xb10(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xb10(%rbp), %rdi
movq %rdi, %r12
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8d7b
leaq -0xb80(%rbp), %r14
movq %r14, -0xb90(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xb90(%rbp), %r15
movq %r15, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x7, %esi
movq %r12, %rdx
movq %r15, %rcx
callq 0x5b18
movq -0xb90(%rbp), %rdi
cmpq %r14, %rdi
je 0x8759
movq -0xb80(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xb10(%rbp), %rdi
leaq -0xb00(%rbp), %rax
cmpq %rax, %rdi
je 0x877b
movq -0xb00(%rbp), %rsi
incq %rsi
callq 0x2230
cmpl $0x2, %ebx
movq -0x48(%rbp), %rax
jb 0x88ec
movq (%r13), %rcx
movq 0x8(%r13), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rax, %rdx
je 0x88ec
leal -0x1(%rbx), %esi
cmpq %rsi, %rdx
jbe 0x898a
shlq $0x6, %rsi
leaq -0x298(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x2a8(%rbp), %rdi
movq %rax, %rsi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x48(%rbp), %rdi
cmpq %rdi, %rdx
leaq -0x288(%rbp), %r14
jbe 0x8cae
shlq $0x6, %rdi
leaq -0xb8(%rbp), %rcx
movq %rcx, -0xc8(%rbp)
movq 0x20(%rax,%rdi), %rsi
movq 0x28(%rax,%rdi), %rdx
addq %rsi, %rdx
leaq -0xc8(%rbp), %rdi
callq 0xbec8
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8cbf
leaq -0x278(%rbp), %rcx
movq %rcx, -0x288(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0xbec8
movq -0x38(%rbp), %rdi
movl $0x1, %esi
leaq -0x2a8(%rbp), %rdx
leaq -0xc8(%rbp), %rcx
movq %r14, %r8
callq 0x5cea
movq -0x288(%rbp), %rdi
leaq -0x278(%rbp), %rax
cmpq %rax, %rdi
je 0x88a8
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x88ca
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x88ec
movq -0x298(%rbp), %rsi
incq %rsi
callq 0x2230
incl %ebx
movq (%r13), %r15
movq 0x8(%r13), %rax
subq %r15, %rax
sarq $0x6, %rax
cmpq %rbx, %rax
movq -0x58(%rbp), %rcx
ja 0x77af
movq -0x68(%rbp), %rax
movq (%rax), %r13
movq 0x8(%rax), %rax
movq -0x60(%rbp), %rsi
incl %esi
movq %rax, %rdx
subq %r13, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
movq %rsi, %rcx
cmpq %rsi, %rdx
ja 0x777c
addq $0xba8, %rsp            # imm = 0xBA8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5c90(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
jmp 0x8991
leaq 0x5c84(%rip), %rdi      # 0xe5e8
movq %r15, %rsi
jmp 0x8991
leaq 0x5c78(%rip), %rdi      # 0xe5e8
movq %r12, %rsi
jmp 0x8991
leaq 0x5c6c(%rip), %rdi      # 0xe5e8
movq -0x50(%rbp), %rsi
jmp 0x8991
movq %rcx, %rsi
jmp 0x898a
movq %rdi, %rsi
leaq 0x5c57(%rip), %rdi      # 0xe5e8
xorl %eax, %eax
callq 0x22f0
leaq 0x5c49(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5c37(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5c25(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5c14(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5c02(%rip), %rdi      # 0xe5e8
xorl %eax, %eax
callq 0x22f0
leaq 0x5bf4(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5be3(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5bd2(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5bc1(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5baf(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b9d(%rip), %rdi      # 0xe5e8
movq -0x58(%rbp), %rsi
jmp 0x8991
leaq 0x5b8d(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b7c(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b6a(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b59(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b47(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b36(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b24(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b13(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5b02(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5af1(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5ae0(%rip), %rdi      # 0xe5e8
movq -0x50(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5ace(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5abc(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5aaa(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a98(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a87(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a75(%rip), %rdi      # 0xe5e8
xorl %eax, %eax
callq 0x22f0
leaq 0x5a67(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a56(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a45(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a33(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a22(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5a10(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x59ff(%rip), %rdi      # 0xe5e8
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x59ed(%rip), %rdi      # 0xe5e8
movq %r12, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x59dc(%rip), %rdi      # 0xe5e8
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x59cb(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x59ba(%rip), %rdi      # 0xe5e8
movq -0x48(%rbp), %rsi
jmp 0x8991
leaq 0x59aa(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5999(%rip), %rdi      # 0xe5e8
movq %r12, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5988(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5977(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5966(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5955(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5944(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
movq %rdi, %rsi
leaq 0x5930(%rip), %rdi      # 0xe5e8
xorl %eax, %eax
callq 0x22f0
leaq 0x5922(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5911(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5900(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x58ef(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x58de(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x58cd(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x58bc(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x58ab(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x589a(%rip), %rdi      # 0xe5e8
movq -0x50(%rbp), %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5888(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5877(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
leaq 0x5866(%rip), %rdi      # 0xe5e8
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22f0
jmp 0x8d95
jmp 0x919e
jmp 0x8d9f
movq %rax, %rbx
jmp 0x9211
jmp 0x8da7
movq %rax, %rbx
jmp 0x91d9
movq %rax, %rbx
jmp 0x9233
movq %rax, %rbx
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x8e04
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x8e04
jmp 0x8e01
jmp 0x8e3e
movq %rax, %rbx
movq -0x568(%rbp), %rdi
leaq -0x558(%rbp), %rax
cmpq %rax, %rdi
je 0x8e41
movq -0x558(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x8e41
movq %rax, %rbx
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rax
cmpq %rax, %rdi
je 0x8e89
movq -0x418(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x8e89
movq %rax, %rbx
movq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %rax
jmp 0x9a3d
jmp 0x8f6c
jmp 0x8e86
movq %rax, %rbx
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0x8efd
movq -0x598(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x8efd
movq %rax, %rbx
movq -0x448(%rbp), %rdi
leaq -0x438(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x8f6f
movq -0x2f8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x8f6f
jmp 0x8efa
movq %rax, %rbx
movq -0x288(%rbp), %rdi
leaq -0x278(%rbp), %rax
cmpq %rax, %rdi
je 0x8f91
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x8f91
movq %rax, %rbx
movq -0x5c8(%rbp), %rdi
leaq -0x5b8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x468(%rbp), %rdi
leaq -0x458(%rbp), %rax
cmpq %rax, %rdi
je 0x901a
movq -0x458(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x901a
movq %rax, %rbx
movq -0x5e8(%rbp), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9030
movq -0x5d8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9030
movq %rax, %rbx
movq -0x328(%rbp), %rdi
leaq -0x318(%rbp), %rax
jmp 0x9a3d
jmp 0x8f8e
jmp 0x9017
jmp 0x902d
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x9048
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9048
movq %rax, %rbx
movq -0x348(%rbp), %rdi
leaq -0x338(%rbp), %rax
cmpq %rax, %rdi
je 0x9060
movq -0x338(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9060
movq %rax, %rbx
movq -0x4a8(%rbp), %rdi
leaq -0x498(%rbp), %rax
cmpq %rax, %rdi
je 0x909d
movq -0x498(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x909d
jmp 0x9045
movq %rax, %rbx
movq -0x488(%rbp), %rdi
leaq -0x478(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x608(%rbp), %rdi
leaq -0x5f8(%rbp), %rax
jmp 0x9a3d
jmp 0x905d
movq %rax, %rbx
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
jmp 0x9a3d
jmp 0x909a
movq %rax, %rbx
movq -0x368(%rbp), %rdi
leaq -0x358(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x388(%rbp), %rdi
leaq -0x378(%rbp), %rax
cmpq %rax, %rdi
je 0x90de
movq -0x378(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x90de
movq %rax, %rbx
movq -0x4c8(%rbp), %rdi
leaq -0x4b8(%rbp), %rax
jmp 0x9a3d
jmp 0x9118
jmp 0x90db
movq %rax, %rbx
movq -0x4e8(%rbp), %rdi
leaq -0x4d8(%rbp), %rax
cmpq %rax, %rdi
je 0x911b
movq -0x4d8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x911b
movq %rax, %rbx
movq -0x3a8(%rbp), %rdi
leaq -0x398(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x3c8(%rbp), %rdi
leaq -0x3b8(%rbp), %rax
cmpq %rax, %rdi
je 0x9169
movq -0x3b8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9169
movq %rax, %rbx
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x918b
movq -0x118(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x918b
movq %rax, %rbx
jmp 0x9170
jmp 0x9188
movq %rax, %rbx
movq -0xb90(%rbp), %rdi
cmpq %r14, %rdi
je 0x91a1
movq -0xb80(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x91a1
movq %rax, %rbx
leaq -0xd8(%rbp), %r14
movq -0xe8(%rbp), %rdi
movq %r14, %r12
cmpq %r14, %rdi
jne 0x9a45
jmp 0x9a51
movq %rax, %rbx
movq -0x508(%rbp), %rdi
leaq -0x4f8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0xb10(%rbp), %rdi
leaq -0xb00(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
cmpq %rax, %rdi
je 0x91d9
movq -0x518(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x548(%rbp), %rdi
leaq -0x538(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x3e8(%rbp), %rdi
leaq -0x3d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9211
movq -0x3d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x9233
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x408(%rbp), %rdi
leaq -0x3f8(%rbp), %rax
jmp 0x9a3d
jmp 0x9268
movq %rax, %rbx
movq -0xbb0(%rbp), %rdi
cmpq %r14, %rdi
je 0x926b
movq -0xba0(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x926b
movq %rax, %rbx
leaq -0x98(%rbp), %r12
movq -0xa8(%rbp), %rdi
jmp 0x9abc
movq %rax, %rbx
movq -0x728(%rbp), %rdi
leaq -0x718(%rbp), %rax
cmpq %rax, %rdi
je 0x960c
movq -0x718(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x960c
jmp 0x9553
jmp 0x92ed
jmp 0x92e5
jmp 0x93cc
movq %rax, %rbx
movq -0x768(%rbp), %rdi
leaq -0x758(%rbp), %rax
cmpq %rax, %rdi
je 0x9342
movq -0x758(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9342
jmp 0x92f5
jmp 0x9332
movq %rax, %rbx
jmp 0x9392
movq %rax, %rbx
jmp 0x9472
movq %rax, %rbx
jmp 0x9429
jmp 0x933f
jmp 0x93b6
movq %rax, %rbx
movq -0x688(%rbp), %rdi
leaq -0x678(%rbp), %rax
cmpq %rax, %rdi
je 0x93cf
movq -0x678(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x93cf
movq %rax, %rbx
jmp 0x93f1
jmp 0x944d
movq %rax, %rbx
movq -0x788(%rbp), %rdi
leaq -0x778(%rbp), %rax
cmpq %rax, %rdi
je 0x9556
movq -0x778(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9556
movq %rax, %rbx
movq -0x6e8(%rbp), %rdi
leaq -0x6d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9392
movq -0x6d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x93b9
movq -0x158(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x93b9
movq %rax, %rbx
movq -0x708(%rbp), %rdi
leaq -0x6f8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x6a8(%rbp), %rdi
leaq -0x698(%rbp), %rax
cmpq %rax, %rdi
je 0x93f1
movq -0x698(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x6c8(%rbp), %rdi
leaq -0x6b8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x628(%rbp), %rdi
leaq -0x618(%rbp), %rax
cmpq %rax, %rdi
je 0x9429
movq -0x618(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x9450
movq -0x138(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9450
movq %rax, %rbx
movq -0x648(%rbp), %rdi
leaq -0x638(%rbp), %rax
cmpq %rax, %rdi
je 0x9472
movq -0x638(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x668(%rbp), %rdi
leaq -0x658(%rbp), %rax
jmp 0x9a3d
jmp 0x9849
jmp 0x9833
movq %rax, %rbx
movq -0x928(%rbp), %rdi
leaq -0x918(%rbp), %rax
cmpq %rax, %rdi
je 0x963f
movq -0x918(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x963f
jmp 0x9583
jmp 0x9519
jmp 0x95b9
jmp 0x974b
movq %rax, %rbx
movq -0x9c8(%rbp), %rdi
leaq -0x9b8(%rbp), %rax
cmpq %rax, %rdi
je 0x96e3
movq -0x9b8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x96e3
jmp 0x957b
jmp 0x9573
jmp 0x98f6
jmp 0x9881
jmp 0x95c1
jmp 0x95c9
jmp 0x996e
movq %rax, %rbx
jmp 0x97b4
jmp 0x963c
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x971b
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x971b
jmp 0x9698
movq %rax, %rbx
movq -0x7a8(%rbp), %rdi
leaq -0x798(%rbp), %rax
jmp 0x9a3d
jmp 0x9609
jmp 0x96e0
movq %rax, %rbx
jmp 0x9a2f
movq %rax, %rbx
jmp 0x99f2
movq %rax, %rbx
jmp 0x9818
movq %rax, %rbx
movq -0xa08(%rbp), %rdi
leaq -0x9f8(%rbp), %rax
cmpq %rax, %rdi
je 0x97f6
movq -0x9f8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x97f6
movq %rax, %rbx
jmp 0x98bc
movq %rax, %rbx
jmp 0x999b
movq %rax, %rbx
jmp 0x995b
movq %rax, %rbx
movq -0x988(%rbp), %rdi
leaq -0x978(%rbp), %rax
cmpq %rax, %rdi
je 0x9980
movq -0x978(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9980
jmp 0x96d8
jmp 0x97dd
movq %rax, %rbx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x9836
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9836
jmp 0x9718
movq %rax, %rbx
movq -0x948(%rbp), %rdi
leaq -0x938(%rbp), %rax
cmpq %rax, %rdi
je 0x974e
movq -0x938(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x974e
movq %rax, %rbx
movq -0xa48(%rbp), %rdi
leaq -0xa38(%rbp), %rax
cmpq %rax, %rdi
je 0x984c
movq -0xa38(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x984c
movq %rax, %rbx
jmp 0x986e
movq %rax, %rbx
movq -0x7c8(%rbp), %rdi
leaq -0x7b8(%rbp), %rax
cmpq %rax, %rdi
je 0x9939
movq -0x7b8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9939
jmp 0x98e0
jmp 0x97f3
movq %rax, %rbx
jmp 0x991b
movq %rax, %rbx
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x9884
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9884
jmp 0x992e
jmp 0x982b
movq %rax, %rbx
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x9971
movq -0x1b8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9971
jmp 0x997d
movq %rax, %rbx
movq -0x968(%rbp), %rdi
leaq -0x958(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x828(%rbp), %rdi
leaq -0x818(%rbp), %rax
cmpq %rax, %rdi
je 0x98f9
movq -0x818(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x98f9
movq %rax, %rbx
movq -0xa88(%rbp), %rdi
leaq -0xa78(%rbp), %rax
cmpq %rax, %rdi
je 0x97b4
movq -0xa78(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x97e0
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x97e0
jmp 0x9936
movq %rax, %rbx
movq -0xaa8(%rbp), %rdi
leaq -0xa98(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
je 0x9818
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xa28(%rbp), %rdi
leaq -0xa18(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
jmp 0x9a0d
movq %rax, %rbx
movq -0x748(%rbp), %rdi
leaq -0x738(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x248(%rbp), %rdi
leaq -0x238(%rbp), %rax
cmpq %rax, %rdi
je 0x986e
movq -0x238(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xa68(%rbp), %rdi
leaq -0xa58(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x9e8(%rbp), %rdi
leaq -0x9d8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x8e8(%rbp), %rdi
leaq -0x8d8(%rbp), %rax
cmpq %rax, %rdi
je 0x98bc
movq -0x8d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x98e3
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x98e3
movq %rax, %rbx
movq -0x908(%rbp), %rdi
leaq -0x8f8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x848(%rbp), %rdi
leaq -0x838(%rbp), %rax
cmpq %rax, %rdi
je 0x991b
movq -0x838(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x868(%rbp), %rdi
leaq -0x858(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
jmp 0x99bd
movq %rax, %rbx
movq -0x7e8(%rbp), %rdi
leaq -0x7d8(%rbp), %rax
cmpq %rax, %rdi
je 0x995b
movq -0x7d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x808(%rbp), %rdi
leaq -0x7f8(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0xbd0(%rbp), %rdi
jmp 0x9abc
movq %rax, %rbx
movq -0xb50(%rbp), %rdi
cmpq %r12, %rdi
je 0x999b
movq -0xb40(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x99bd
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x9a8(%rbp), %rdi
leaq -0x998(%rbp), %rax
jmp 0x9a3d
movq %rax, %rbx
movq -0x888(%rbp), %rdi
leaq -0x878(%rbp), %rax
cmpq %rax, %rdi
je 0x99f2
movq -0x878(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xb30(%rbp), %rdi
cmpq %r12, %rdi
je 0x9a0d
movq -0xb20(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x8a8(%rbp), %rdi
leaq -0x898(%rbp), %rax
cmpq %rax, %rdi
je 0x9a2f
movq -0x898(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0x8c8(%rbp), %rdi
leaq -0x8b8(%rbp), %rax
movq %rax, %r12
cmpq %rax, %rdi
je 0x9a51
movq (%r12), %rsi
incq %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x23a0
movq %rax, %rbx
movq -0xac8(%rbp), %rdi
leaq -0xab8(%rbp), %rax
cmpq %rax, %rdi
je 0x9a8c
movq -0xab8(%rbp), %rsi
incq %rsi
callq 0x2230
jmp 0x9a8c
jmp 0x9a84
jmp 0x9a89
movq %rax, %rbx
jmp 0x9aae
movq %rax, %rbx
movq -0xae8(%rbp), %rdi
leaq -0xad8(%rbp), %rax
cmpq %rax, %rdi
je 0x9aae
movq -0xad8(%rbp), %rsi
incq %rsi
callq 0x2230
movq -0xb70(%rbp), %rdi
leaq -0xb60(%rbp), %r12
cmpq %r12, %rdi
jne 0x9a45
jmp 0x9a51
nop