// File: /workspace/github_cpp_makefile_star2_O1/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), %r14
movq %rsi, -0x60(%rbp)
cmpq %r14, 0x8(%rsi)
je 0x763c
xorl %eax, %eax
xorl %edx, %edx
movq %rdx, -0x58(%rbp)
shlq $0x3, %rax
leaq (%rax,%rax,2), %rcx
movq (%r14,%rcx), %r12
movq 0x8(%r14,%rcx), %rbx
subq %r12, %rbx
je 0x760a
movq %rcx, %rax
addq %rax, %r14
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq (%rax), %rcx
movq %rcx, -0x40(%rbp)
sarq $0x6, %rbx
xorl %r15d, %r15d
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x8809
movq %r15, -0x30(%rbp)
shlq $0x6, %r15
leaq (%r12,%r15), %rcx
addq $0x20, %rcx
movq 0x8(%rcx), %rdx
cmpq 0x28(%rax,%r15), %rdx
jne 0x5e11
testq %rdx, %rdx
je 0x75ec
addq %r15, %rax
addq $0x20, %rax
movq (%rax), %rsi
movq (%rcx), %rdi
callq 0x2250
testl %eax, %eax
je 0x75ec
cmpl $0x0, -0x30(%rbp)
je 0x5f62
movq -0x30(%rbp), %r13
leal -0x1(%r13), %esi
cmpq %rsi, %rbx
jbe 0x8868
shlq $0x6, %rsi
leaq -0x338(%rbp), %rax
movq %rax, -0x348(%rbp)
movq 0x20(%r12,%rsi), %rax
movq 0x28(%r12,%rsi), %rdx
addq %rax, %rdx
leaq -0x348(%rbp), %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
movq %r13, %rbx
jbe 0x8857
leaq -0x318(%rbp), %rcx
movq %rcx, -0x328(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x328(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
leaq -0x338(%rbp), %r12
jbe 0x8845
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 0xbd5c
movq -0x38(%rbp), %rdi
xorl %esi, %esi
leaq -0x348(%rbp), %rdx
leaq -0x328(%rbp), %rcx
movq %rbx, %r8
callq 0x52cc
movq -0xa48(%rbp), %rdi
leaq -0xa38(%rbp), %rax
cmpq %rax, %rdi
je 0x5f25
movq -0xa38(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x328(%rbp), %rdi
leaq -0x318(%rbp), %rax
cmpq %rax, %rdi
je 0x5f47
movq -0x318(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x348(%rbp), %rdi
cmpq %r12, %rdi
je 0x5f62
movq -0x338(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x30(%rbp), %r12
leal 0x1(%r12), %ecx
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq %rcx, -0x50(%rbp)
cmpq %rcx, %rdx
leaq -0x9c8(%rbp), %rbx
je 0x60ca
jbe 0x8827
movq -0x50(%rbp), %rcx
shlq $0x6, %rcx
leaq -0xa18(%rbp), %rdx
movq %rdx, -0xa28(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xa28(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x88d9
leaq -0x2f8(%rbp), %rcx
movq %rcx, -0x308(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x308(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x89aa
leaq -0x9f8(%rbp), %rcx
movq %rcx, -0xa08(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xa08(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x1, %esi
leaq -0xa28(%rbp), %rdx
leaq -0x308(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0xa08(%rbp), %rdi
leaq -0x9f8(%rbp), %rax
cmpq %rax, %rdi
je 0x6086
movq -0x9f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x60a8
movq -0x2f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xa28(%rbp), %rdi
leaq -0xa18(%rbp), %rax
cmpq %rax, %rdi
je 0x60ca
movq -0xa18(%rbp), %rsi
incq %rsi
callq 0x2240
cmpl $0x2, %r12d
jb 0x667f
leal -0x2(%r12), %ecx
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rcx, %rdx
jbe 0x8822
movq %r12, %r13
movq %rcx, -0x48(%rbp)
movq %rcx, %r12
shlq $0x6, %r12
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x892f
leaq -0x2d8(%rbp), %rcx
movq %rcx, -0x2e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x2e8(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8a12
leaq -0x9b8(%rbp), %rcx
movq %rcx, -0x9c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x2, %esi
leaq -0x9e8(%rbp), %rdx
leaq -0x2e8(%rbp), %rcx
movq %rbx, %r8
callq 0x52cc
movq -0x9c8(%rbp), %rdi
leaq -0x9b8(%rbp), %rax
cmpq %rax, %rdi
je 0x61e3
movq -0x9b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6205
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x9e8(%rbp), %rdi
leaq -0x9d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6227
movq -0x9d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x30(%rbp), %r13
leal -0x1(%r13), %ebx
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x87fd
movq %rbx, -0x68(%rbp)
shlq $0x6, %rbx
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8975
leaq -0x2b8(%rbp), %rcx
movq %rcx, -0x2c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x2c8(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x88b5
leaq -0x978(%rbp), %rcx
movq %rcx, -0x988(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x988(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x9a8(%rbp), %rdx
leaq -0x2c8(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x988(%rbp), %rdi
leaq -0x978(%rbp), %rax
cmpq %rax, %rdi
je 0x633a
movq -0x978(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x635c
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x9a8(%rbp), %rdi
leaq -0x998(%rbp), %rax
cmpq %rax, %rdi
je 0x637e
movq -0x998(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x8815
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x89dd
leaq -0x298(%rbp), %rcx
movq %rcx, -0x2a8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x2a8(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x890c
leaq -0x938(%rbp), %rcx
movq %rcx, -0x948(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x948(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x968(%rbp), %rdx
leaq -0x2a8(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x948(%rbp), %rdi
leaq -0x938(%rbp), %rax
cmpq %rax, %rdi
je 0x6483
movq -0x938(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x64a5
movq -0x298(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x968(%rbp), %rdi
leaq -0x958(%rbp), %rax
cmpq %rax, %rdi
je 0x64c7
movq -0x958(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x68(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x8837
leaq -0xb78(%rbp), %rcx
movq %rcx, -0xb88(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0xb88(%rbp), %rbx
movq %rbx, %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x48(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x8885
leaq -0x278(%rbp), %rcx
movq %rcx, -0x288(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x288(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %r12
cmpq %r12, %rdx
jbe 0x8953
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8874
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 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x2, %esi
movq %rbx, %rdx
leaq -0x288(%rbp), %rcx
leaq -0x268(%rbp), %r8
movq %r13, %r9
callq 0x5670
movq -0x928(%rbp), %rdi
leaq -0x918(%rbp), %rax
cmpq %rax, %rdi
je 0x6619
movq -0x918(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x663b
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x288(%rbp), %rdi
leaq -0x278(%rbp), %rax
cmpq %rax, %rdi
je 0x665d
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb88(%rbp), %rdi
leaq -0xb78(%rbp), %rax
cmpq %rax, %rdi
je 0x667f
movq -0xb78(%rbp), %rsi
incq %rsi
callq 0x2240
leal 0x2(%r12), %edx
movq (%r14), %rax
movq 0x8(%r14), %rcx
subq %rax, %rcx
sarq $0x6, %rcx
movq %rdx, -0x48(%rbp)
cmpq %rdx, %rcx
jbe 0x6c26
movq -0x48(%rbp), %rbx
shlq $0x6, %rbx
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x89bb
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x88fb
leaq -0x8d8(%rbp), %rcx
movq %rcx, -0x8e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x8e8(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0x908(%rbp), %rdx
leaq -0x248(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x8e8(%rbp), %rdi
leaq -0x8d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6792
movq -0x8d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x248(%rbp), %rdi
leaq -0x238(%rbp), %rax
cmpq %rax, %rdi
je 0x67b4
movq -0x238(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x908(%rbp), %rdi
leaq -0x8f8(%rbp), %rax
cmpq %rax, %rdi
je 0x67d6
movq -0x8f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x50(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x8837
movq %r12, %r13
movq %rsi, %r12
shlq $0x6, %r12
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8a24
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8941
leaq -0x898(%rbp), %rcx
movq %rcx, -0x8a8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x8a8(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x8c8(%rbp), %rdx
leaq -0x228(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x8a8(%rbp), %rdi
leaq -0x898(%rbp), %rax
cmpq %rax, %rdi
je 0x68e7
movq -0x898(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
je 0x6909
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x8c8(%rbp), %rdi
leaq -0x8b8(%rbp), %rax
cmpq %rax, %rdi
je 0x692b
movq -0x8b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x8815
leaq -0x878(%rbp), %rcx
movq %rcx, -0x888(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0x888(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x88c7
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8998
leaq -0x858(%rbp), %rcx
movq %rcx, -0x868(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x868(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x888(%rbp), %rdx
leaq -0x208(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x868(%rbp), %rdi
leaq -0x858(%rbp), %rax
cmpq %rax, %rdi
je 0x6a30
movq -0x858(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x6a52
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x888(%rbp), %rdi
leaq -0x878(%rbp), %rax
cmpq %rax, %rdi
je 0x6a74
movq -0x878(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x8827
leaq -0x838(%rbp), %rcx
movq %rcx, -0x848(%rbp)
movq 0x20(%rax,%r12), %rsi
movq 0x28(%rax,%r12), %rdx
addq %rsi, %rdx
leaq -0x848(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x89ef
leaq -0x818(%rbp), %rcx
movq %rcx, -0x828(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0x828(%rbp), %rbx
movq %rbx, %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x30(%rbp), %r12
cmpq %r12, %rdx
jbe 0x891e
leaq -0x1d8(%rbp), %rcx
movq %rcx, -0x1e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x1e8(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8a01
leaq -0x7f8(%rbp), %rcx
movq %rcx, -0x808(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x808(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0x848(%rbp), %rdx
movq %rbx, %rcx
leaq -0x1e8(%rbp), %r8
movq %r13, %r9
callq 0x5670
movq -0x808(%rbp), %rdi
leaq -0x7f8(%rbp), %rax
cmpq %rax, %rdi
je 0x6bc0
movq -0x7f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6be2
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x828(%rbp), %rdi
leaq -0x818(%rbp), %rax
cmpq %rax, %rdi
je 0x6c04
movq -0x818(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x848(%rbp), %rdi
leaq -0x838(%rbp), %rax
cmpq %rax, %rdi
je 0x6c26
movq -0x838(%rbp), %rsi
incq %rsi
callq 0x2240
cmpl $0x3, %r12d
jb 0x7025
leal -0x1(%r12), %esi
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0xb58(%rbp), %rax
movq %rax, -0xb68(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0xb68(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8964
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8893
leaq -0x7d8(%rbp), %rcx
movq %rcx, -0x7e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x7e8(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x6, %esi
movq %rbx, %rdx
leaq -0x1c8(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x7e8(%rbp), %rdi
leaq -0x7d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6d3d
movq -0x7d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x6d5f
movq -0x1b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb68(%rbp), %rdi
leaq -0xb58(%rbp), %rax
cmpq %rax, %rdi
je 0x6d81
movq -0xb58(%rbp), %rsi
incq %rsi
callq 0x2240
leal -0x2(%r12), %esi
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0x7b8(%rbp), %rax
movq %rax, -0x7c8(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x7c8(%rbp), %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x89cc
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x88ea
leaq -0x798(%rbp), %rcx
movq %rcx, -0x7a8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x7a8(%rbp), %rbx
movq %rbx, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x7c8(%rbp), %rdx
leaq -0x1a8(%rbp), %rcx
movq %rbx, %r8
callq 0x52cc
movq -0x7a8(%rbp), %rdi
leaq -0x798(%rbp), %rax
cmpq %rax, %rdi
je 0x6e8f
movq -0x798(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x6eb1
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x7c8(%rbp), %rdi
leaq -0x7b8(%rbp), %rax
cmpq %rax, %rdi
je 0x6ed3
movq -0x7b8(%rbp), %rsi
incq %rsi
callq 0x2240
leal -0x3(%r12), %esi
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0x778(%rbp), %rax
movq %rax, -0x788(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x788(%rbp), %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8ac0
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8a6a
leaq -0x758(%rbp), %rcx
movq %rcx, -0x768(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x768(%rbp), %rbx
movq %rbx, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x788(%rbp), %rdx
leaq -0x188(%rbp), %rcx
movq %rbx, %r8
callq 0x52cc
movq -0x768(%rbp), %rdi
leaq -0x758(%rbp), %rax
cmpq %rax, %rdi
je 0x6fe1
movq -0x758(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x7003
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x788(%rbp), %rdi
leaq -0x778(%rbp), %rax
cmpq %rax, %rdi
je 0x7025
movq -0x778(%rbp), %rsi
incq %rsi
callq 0x2240
leal 0x3(%r12), %ebx
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x7418
movq -0x50(%rbp), %rcx
cmpq %rcx, %rdx
jbe 0x8822
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x88a4
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8987
leaq -0x718(%rbp), %rcx
movq %rcx, -0x728(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x728(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x748(%rbp), %rdx
leaq -0x168(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x728(%rbp), %rdi
leaq -0x718(%rbp), %rax
cmpq %rax, %rdi
je 0x713d
movq -0x718(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x715f
movq -0x158(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x748(%rbp), %rdi
leaq -0x738(%rbp), %rax
cmpq %rax, %rdi
je 0x7181
movq -0x738(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x48(%rbp), %rdi
cmpq %rdi, %rdx
jbe 0x8834
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8a59
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8a9e
leaq -0x6d8(%rbp), %rcx
movq %rcx, -0x6e8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x6e8(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x708(%rbp), %rdx
leaq -0x148(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x6e8(%rbp), %rdi
leaq -0x6d8(%rbp), %rax
cmpq %rax, %rdi
je 0x728b
movq -0x6d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x72ad
movq -0x138(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x708(%rbp), %rdi
leaq -0x6f8(%rbp), %rax
cmpq %rax, %rdi
je 0x72cf
movq -0x6f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x87fd
shlq $0x6, %rbx
leaq -0xb38(%rbp), %rcx
movq %rcx, -0xb48(%rbp)
movq 0x20(%rax,%rbx), %rsi
movq 0x28(%rax,%rbx), %rdx
addq %rsi, %rdx
leaq -0xb48(%rbp), %rbx
movq %rbx, %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8a7b
leaq -0x118(%rbp), %rcx
movq %rcx, -0x128(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x128(%rbp), %rdi
callq 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r12, %rdx
jbe 0x8a36
leaq -0x6b8(%rbp), %rcx
movq %rcx, -0x6c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x6c8(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x7, %esi
movq %rbx, %rdx
leaq -0x128(%rbp), %rcx
movq %r13, %r8
callq 0x52cc
movq -0x6c8(%rbp), %rdi
leaq -0x6b8(%rbp), %rax
cmpq %rax, %rdi
je 0x73d4
movq -0x6b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x73f6
movq -0x118(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb48(%rbp), %rdi
leaq -0xb38(%rbp), %rax
cmpq %rax, %rdi
je 0x7418
movq -0xb38(%rbp), %rsi
incq %rsi
callq 0x2240
cmpl $0x2, %r12d
movq -0x50(%rbp), %rax
jb 0x75ec
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rax, %rdx
je 0x75ec
movq -0x30(%rbp), %rax
leal -0x1(%rax), %esi
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0xb18(%rbp), %rax
movq %rax, -0xb28(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0xb28(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0xbd5c
movq -0x50(%rbp), %rcx
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rcx, %rdx
jbe 0x8aaf
shlq $0x6, %rcx
leaq -0xaf8(%rbp), %r12
movq %r12, -0xb08(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xb08(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8a47
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 0xbd5c
movq -0x40(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x30(%rbp), %rdx
jbe 0x8a8c
leaq -0x698(%rbp), %rcx
movq %rcx, -0x6a8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x6a8(%rbp), %r15
movq %r15, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x1, %esi
movq %rbx, %rdx
leaq -0xb08(%rbp), %rcx
leaq -0x108(%rbp), %r8
movq %r15, %r9
callq 0x5670
movq -0x6a8(%rbp), %rdi
leaq -0x698(%rbp), %rax
cmpq %rax, %rdi
je 0x758d
movq -0x698(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x75af
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb08(%rbp), %rdi
cmpq %r12, %rdi
je 0x75ca
movq -0xaf8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb28(%rbp), %rdi
leaq -0xb18(%rbp), %rax
cmpq %rax, %rdi
je 0x75ec
movq -0xb18(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x30(%rbp), %r15
incl %r15d
movq (%r14), %r12
movq 0x8(%r14), %rbx
subq %r12, %rbx
sarq $0x6, %rbx
cmpq %r15, %rbx
ja 0x5db8
movq -0x58(%rbp), %rdx
incl %edx
movq -0x60(%rbp), %rax
movq (%rax), %r14
movq 0x8(%rax), %rcx
subq %r14, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rax # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
movq %rdx, %rax
cmpq %rdx, %rcx
ja 0x5d7f
movq -0x60(%rbp), %rax
movq (%rax), %r14
cmpq %r14, 0x8(%rax)
je 0x87eb
xorl %eax, %eax
xorl %edx, %edx
movq %rdx, -0x58(%rbp)
shlq $0x3, %rax
leaq (%rax,%rax,2), %rcx
movq (%r14,%rcx), %r13
movq 0x8(%r14,%rcx), %r15
subq %r13, %r15
je 0x87b9
movq %rcx, %rax
addq %rax, %r14
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq (%rax), %rcx
movq %rcx, -0x50(%rbp)
sarq $0x6, %r15
xorl %ebx, %ebx
movq -0x50(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x87fd
movq %rbx, %rsi
shlq $0x6, %rsi
leaq (%rsi,%r13), %rcx
addq $0x20, %rcx
movq 0x8(%rcx), %rdx
movq %rsi, -0x30(%rbp)
cmpq 0x28(%rax,%rsi), %rdx
jne 0x87a0
testq %rdx, %rdx
je 0x76e9
movq -0x30(%rbp), %rsi
addq %rsi, %rax
addq $0x20, %rax
movq (%rax), %rsi
movq (%rcx), %rdi
callq 0x2250
testl %eax, %eax
jne 0x87a0
testl %ebx, %ebx
je 0x77b8
leal -0x1(%rbx), %esi
cmpq %rsi, %r15
jbe 0x8af0
shlq $0x6, %rsi
leaq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
movq 0x20(%r13,%rsi), %rax
movq 0x28(%r13,%rsi), %rdx
addq %rax, %rdx
leaq -0x88(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8aff
leaq -0xbb8(%rbp), %r15
movq %r15, -0xbc8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xbc8(%rbp), %r13
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
xorl %esi, %esi
movq %r12, %rdx
movq %r13, %rcx
callq 0x5a58
movq -0xbc8(%rbp), %rdi
cmpq %r15, %rdi
je 0x779c
movq -0xbb8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x77b8
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2240
leal 0x1(%rbx), %ecx
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq %rcx, -0x40(%rbp)
cmpq %rcx, %rdx
leaq -0x628(%rbp), %r15
leaq -0xc8(%rbp), %r13
je 0x78ba
jbe 0x8ae0
movq -0x40(%rbp), %rcx
shlq $0x6, %rcx
leaq -0x678(%rbp), %rdx
movq %rdx, -0x688(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x688(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b76
leaq -0x658(%rbp), %rcx
movq %rcx, -0x668(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x668(%rbp), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x1, %esi
leaq -0x688(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x668(%rbp), %rdi
leaq -0x658(%rbp), %rax
cmpq %rax, %rdi
je 0x7898
movq -0x658(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x688(%rbp), %rdi
leaq -0x678(%rbp), %rax
cmpq %rax, %rdi
je 0x78ba
movq -0x678(%rbp), %rsi
incq %rsi
callq 0x2240
cmpl $0x2, %ebx
jb 0x7cc6
leal -0x2(%rbx), %r13d
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r13, %rdx
jbe 0x8ad1
movq %r13, -0x48(%rbp)
shlq $0x6, %r13
leaq -0x638(%rbp), %rcx
movq %rcx, -0x648(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x648(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8bba
leaq -0x618(%rbp), %rcx
movq %rcx, -0x628(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x2, %esi
leaq -0x648(%rbp), %rdx
movq %r15, %rcx
callq 0x5a58
movq -0x628(%rbp), %rdi
leaq -0x618(%rbp), %rax
cmpq %rax, %rdi
je 0x7985
movq -0x618(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x648(%rbp), %rdi
leaq -0x638(%rbp), %rax
cmpq %rax, %rdi
je 0x79a7
movq -0x638(%rbp), %rsi
incq %rsi
callq 0x2240
leal -0x1(%rbx), %r15d
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x8809
movq %r15, -0x68(%rbp)
shlq $0x6, %r15
leaq -0x5f8(%rbp), %rcx
movq %rcx, -0x608(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x608(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8bdc
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), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x608(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x5e8(%rbp), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x7a70
movq -0x5d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x608(%rbp), %rdi
leaq -0x5f8(%rbp), %rax
cmpq %rax, %rdi
je 0x7a92
movq -0x5f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x8815
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c0f
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), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x4, %esi
leaq -0x5c8(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0x7b50
movq -0x598(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x5c8(%rbp), %rdi
leaq -0x5b8(%rbp), %rax
cmpq %rax, %rdi
je 0x7b72
movq -0x5b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x68(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x8837
leaq -0xad8(%rbp), %rcx
movq %rcx, -0xae8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0xae8(%rbp), %r15
movq %r15, %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x48(%rbp), %rsi
cmpq %rsi, %rdx
jbe 0x8c43
leaq -0xd8(%rbp), %rcx
movq %rcx, -0xe8(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0xe8(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
leaq -0xc8(%rbp), %r13
jbe 0x8b21
leaq -0x578(%rbp), %rcx
movq %rcx, -0x588(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x588(%rbp), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x2, %esi
movq %r15, %rdx
leaq -0xe8(%rbp), %rcx
movq %r12, %r8
callq 0x5c34
movq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %rax
cmpq %rax, %rdi
je 0x7c82
movq -0x578(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0x7ca4
movq -0xd8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xae8(%rbp), %rdi
leaq -0xad8(%rbp), %rax
cmpq %rax, %rdi
je 0x7cc6
movq -0xad8(%rbp), %rsi
incq %rsi
callq 0x2240
leal 0x2(%rbx), %edx
movq (%r14), %rax
movq 0x8(%r14), %rcx
subq %rax, %rcx
sarq $0x6, %rcx
movq %rdx, -0x48(%rbp)
cmpq %rdx, %rcx
jbe 0x80ba
movq -0x48(%rbp), %r15
shlq $0x6, %r15
leaq -0x558(%rbp), %rcx
movq %rcx, -0x568(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x568(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b32
leaq -0xb8(%rbp), %rcx
movq %rcx, -0xc8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x3, %esi
leaq -0x568(%rbp), %rdx
movq %r13, %rcx
callq 0x5a58
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x7d8b
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x568(%rbp), %rdi
leaq -0x558(%rbp), %rax
cmpq %rax, %rdi
je 0x7dad
movq -0x558(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x40(%rbp), %r13
cmpq %r13, %rdx
jbe 0x8ad1
shlq $0x6, %r13
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8ba9
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), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x548(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
cmpq %rax, %rdi
je 0x7e72
movq -0x518(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x548(%rbp), %rdi
leaq -0x538(%rbp), %rax
cmpq %rax, %rdi
je 0x7e94
movq -0x538(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x8815
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 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8bed
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), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x5, %esi
leaq -0x508(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x4e8(%rbp), %rdi
leaq -0x4d8(%rbp), %rax
cmpq %rax, %rdi
je 0x7f52
movq -0x4d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x508(%rbp), %rdi
leaq -0x4f8(%rbp), %rax
cmpq %rax, %rdi
je 0x7f74
movq -0x4f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x40(%rbp), %rdx
jbe 0x8ae0
leaq -0xab8(%rbp), %rcx
movq %rcx, -0xac8(%rbp)
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0xac8(%rbp), %r12
movq %r12, %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq -0x48(%rbp), %rdx
jbe 0x8c20
leaq -0x4b8(%rbp), %rcx
movq %rcx, -0x4c8(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x4c8(%rbp), %r15
movq %r15, %rdi
callq 0xbd5c
leaq -0x4a8(%rbp), %r13
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8c32
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
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x3, %esi
movq %r12, %rdx
movq %r15, %rcx
movq %r13, %r8
callq 0x5c34
movq -0x4a8(%rbp), %rdi
leaq -0x498(%rbp), %rax
cmpq %rax, %rdi
je 0x8076
movq -0x498(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x4c8(%rbp), %rdi
leaq -0x4b8(%rbp), %rax
cmpq %rax, %rdi
je 0x8098
movq -0x4b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xac8(%rbp), %rdi
leaq -0xab8(%rbp), %rax
cmpq %rax, %rdi
je 0x80ba
movq -0xab8(%rbp), %rsi
incq %rsi
callq 0x2240
cmpl $0x3, %ebx
leaq -0x488(%rbp), %r12
leaq -0x448(%rbp), %r13
jb 0x837d
leal -0x1(%rbx), %esi
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0xa98(%rbp), %rax
movq %rax, -0xaa8(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0xaa8(%rbp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b43
leaq -0x478(%rbp), %rcx
movq %rcx, -0x488(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x6, %esi
movq %r15, %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x488(%rbp), %rdi
leaq -0x478(%rbp), %rax
cmpq %rax, %rdi
je 0x8190
movq -0x478(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xaa8(%rbp), %rdi
leaq -0xa98(%rbp), %rax
cmpq %rax, %rdi
je 0x81b2
movq -0xa98(%rbp), %rsi
incq %rsi
callq 0x2240
leal -0x2(%rbx), %esi
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0x458(%rbp), %rax
movq %rax, -0x468(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x468(%rbp), %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b54
leaq -0x438(%rbp), %rcx
movq %rcx, -0x448(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x468(%rbp), %rdx
movq %r13, %rcx
callq 0x5a58
movq -0x448(%rbp), %rdi
leaq -0x438(%rbp), %rax
cmpq %rax, %rdi
je 0x8272
movq -0x438(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x468(%rbp), %rdi
leaq -0x458(%rbp), %rax
cmpq %rax, %rdi
je 0x8294
movq -0x458(%rbp), %rsi
incq %rsi
callq 0x2240
leal -0x3(%rbx), %esi
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0x418(%rbp), %rax
movq %rax, -0x428(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0x428(%rbp), %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b87
leaq -0x3f8(%rbp), %rcx
movq %rcx, -0x408(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x408(%rbp), %r15
movq %r15, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x6, %esi
leaq -0x428(%rbp), %rdx
movq %r15, %rcx
callq 0x5a58
movq -0x408(%rbp), %rdi
leaq -0x3f8(%rbp), %rax
cmpq %rax, %rdi
je 0x835b
movq -0x3f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rax
cmpq %rax, %rdi
je 0x837d
movq -0x418(%rbp), %rsi
incq %rsi
callq 0x2240
leal 0x3(%rbx), %r15d
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x8633
movq -0x40(%rbp), %rcx
cmpq %rcx, %rdx
jbe 0x8822
shlq $0x6, %rcx
leaq -0xa78(%rbp), %rdx
movq %rdx, -0xa88(%rbp)
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xa88(%rbp), %r12
movq %r12, %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
leaq -0x3e8(%rbp), %r13
jbe 0x8bcb
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
movq %r13, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x7, %esi
movq %r12, %rdx
movq %r13, %rcx
callq 0x5a58
movq -0x3e8(%rbp), %rdi
leaq -0x3d8(%rbp), %rax
cmpq %rax, %rdi
je 0x844e
movq -0x3d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xa88(%rbp), %rdi
leaq -0xa78(%rbp), %rax
cmpq %rax, %rdi
je 0x8470
movq -0xa78(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x48(%rbp), %rdi
cmpq %rdi, %rdx
jbe 0x8834
shlq $0x6, %rdi
leaq -0x3b8(%rbp), %rcx
movq %rcx, -0x3c8(%rbp)
movq 0x20(%rax,%rdi), %rsi
movq 0x28(%rax,%rdi), %rdx
addq %rsi, %rdx
leaq -0x3c8(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8bfe
leaq -0x398(%rbp), %rcx
movq %rcx, -0x3a8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0x3a8(%rbp), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x3c8(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0x3a8(%rbp), %rdi
leaq -0x398(%rbp), %rax
cmpq %rax, %rdi
je 0x8535
movq -0x398(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x3c8(%rbp), %rdi
leaq -0x3b8(%rbp), %rax
cmpq %rax, %rdi
je 0x8557
movq -0x3b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %r15, %rdx
jbe 0x8809
shlq $0x6, %r15
leaq -0x378(%rbp), %rcx
movq %rcx, -0x388(%rbp)
movq 0x20(%rax,%r15), %rsi
movq 0x28(%rax,%r15), %rdx
addq %rsi, %rdx
leaq -0x388(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b10
leaq -0xb98(%rbp), %r15
movq %r15, -0xba8(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq -0xba8(%rbp), %r12
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x7, %esi
leaq -0x388(%rbp), %rdx
movq %r12, %rcx
callq 0x5a58
movq -0xba8(%rbp), %rdi
cmpq %r15, %rdi
je 0x8611
movq -0xb98(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x388(%rbp), %rdi
leaq -0x378(%rbp), %rax
cmpq %rax, %rdi
je 0x8633
movq -0x378(%rbp), %rsi
incq %rsi
callq 0x2240
cmpl $0x2, %ebx
movq -0x40(%rbp), %rax
jb 0x87a0
movq (%r14), %rcx
movq 0x8(%r14), %rdx
subq %rcx, %rdx
sarq $0x6, %rdx
cmpq %rax, %rdx
je 0x87a0
leal -0x1(%rbx), %esi
cmpq %rsi, %rdx
jbe 0x8837
shlq $0x6, %rsi
leaq -0xa58(%rbp), %rax
movq %rax, -0xa68(%rbp)
movq 0x20(%rcx,%rsi), %rax
movq 0x28(%rcx,%rsi), %rdx
addq %rax, %rdx
leaq -0xa68(%rbp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
movq -0x40(%rbp), %rdi
cmpq %rdi, %rdx
leaq -0x368(%rbp), %r12
jbe 0x8b65
shlq $0x6, %rdi
leaq -0x98(%rbp), %rcx
movq %rcx, -0xa8(%rbp)
movq 0x20(%rax,%rdi), %rsi
movq 0x28(%rax,%rdi), %rdx
addq %rsi, %rdx
leaq -0xa8(%rbp), %rdi
callq 0xbd5c
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rbx, %rdx
jbe 0x8b98
leaq -0x358(%rbp), %rcx
movq %rcx, -0x368(%rbp)
movq -0x30(%rbp), %rcx
movq 0x20(%rax,%rcx), %rsi
movq 0x28(%rax,%rcx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0xbd5c
movq -0x38(%rbp), %rdi
movl $0x1, %esi
movq %r15, %rdx
leaq -0xa8(%rbp), %rcx
movq %r12, %r8
callq 0x5c34
movq -0x368(%rbp), %rdi
leaq -0x358(%rbp), %rax
cmpq %rax, %rdi
je 0x875c
movq -0x358(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x877e
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xa68(%rbp), %rdi
leaq -0xa58(%rbp), %rax
cmpq %rax, %rdi
je 0x87a0
movq -0xa58(%rbp), %rsi
incq %rsi
callq 0x2240
incl %ebx
movq (%r14), %r13
movq 0x8(%r14), %r15
subq %r13, %r15
sarq $0x6, %r15
cmpq %rbx, %r15
ja 0x7689
movq -0x58(%rbp), %rdx
incl %edx
movq -0x60(%rbp), %rax
movq (%rax), %r14
movq 0x8(%rax), %rcx
subq %r14, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rax # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
movq %rdx, %rax
cmpq %rdx, %rcx
ja 0x7651
addq $0xba8, %rsp            # imm = 0xBA8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5ded(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
jmp 0x883e
leaq 0x5de1(%rip), %rdi      # 0xe5f1
movq %r15, %rsi
jmp 0x883e
leaq 0x5dd5(%rip), %rdi      # 0xe5f1
movq -0x48(%rbp), %rsi
jmp 0x883e
movq %rcx, %rsi
jmp 0x8837
leaq 0x5dc3(%rip), %rdi      # 0xe5f1
movq -0x50(%rbp), %rsi
jmp 0x883e
movq %rdi, %rsi
leaq 0x5db3(%rip), %rdi      # 0xe5f1
xorl %eax, %eax
callq 0x2300
leaq 0x5da5(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d93(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d82(%rip), %rdi      # 0xe5f1
movq %rbx, %rdx
jmp 0x883e
leaq 0x5d76(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d65(%rip), %rdi      # 0xe5f1
xorl %eax, %eax
callq 0x2300
leaq 0x5d57(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d46(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d35(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d23(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d11(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5d00(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5cef(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5cde(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5ccc(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5cbb(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5ca9(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c97(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c86(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c75(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c63(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c52(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c40(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c2f(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c1e(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5c0d(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5bfb(%rip), %rdi      # 0xe5f1
movq -0x48(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5be9(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5bd8(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5bc6(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5bb4(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5ba3(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5b91(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5b80(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5b6f(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5b5e(%rip), %rdi      # 0xe5f1
movq -0x30(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5b4c(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
movq %rcx, %rsi
leaq 0x5b38(%rip), %rdi      # 0xe5f1
xorl %eax, %eax
callq 0x2300
leaq 0x5b2a(%rip), %rdi      # 0xe5f1
movq %r12, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5b19(%rip), %rdi      # 0xe5f1
movq %r13, %rsi
jmp 0x883e
leaq 0x5b0a(%rip), %rdi      # 0xe5f1
movq -0x40(%rbp), %rsi
jmp 0x883e
leaq 0x5afa(%rip), %rdi      # 0xe5f1
movq %r15, %rdx
jmp 0x883e
leaq 0x5aeb(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5ada(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5ac9(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5ab8(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5aa7(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a96(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
movq %rdi, %rsi
leaq 0x5a82(%rip), %rdi      # 0xe5f1
xorl %eax, %eax
callq 0x2300
leaq 0x5a74(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a63(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a52(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a41(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a30(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a1f(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x5a0e(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x59fd(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x59ec(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x59db(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x59ca(%rip), %rdi      # 0xe5f1
movq -0x48(%rbp), %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x59b8(%rip), %rdi      # 0xe5f1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2300
leaq 0x59a7(%rip), %rdi      # 0xe5f1
xorl %eax, %eax
callq 0x2300
jmp 0x90d1
jmp 0x9083
jmp 0x8c5d
movq %rax, %rbx
jmp 0x90a8
jmp 0x8cbc
movq %rax, %rbx
movq -0x3a8(%rbp), %rdi
leaq -0x398(%rbp), %rax
cmpq %rax, %rdi
je 0x8d31
movq -0x398(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8d31
movq %rax, %rbx
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0x8cbf
movq -0x598(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8cbf
movq %rax, %rbx
movq -0x5c8(%rbp), %rdi
leaq -0x5b8(%rbp), %rax
jmp 0x98fd
jmp 0x8d6d
jmp 0x8d2e
movq %rax, %rbx
movq -0x4e8(%rbp), %rdi
leaq -0x4d8(%rbp), %rax
cmpq %rax, %rdi
je 0x8daf
movq -0x4d8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8daf
movq %rax, %rbx
movq -0x5e8(%rbp), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x8d70
movq -0x5d8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8d70
movq %rax, %rbx
movq -0x3c8(%rbp), %rdi
leaq -0x3b8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x3e8(%rbp), %rdi
leaq -0x3d8(%rbp), %rax
cmpq %rax, %rdi
je 0x8dc7
movq -0x3d8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8dc7
jmp 0x8dac
movq %rax, %rbx
movq -0x608(%rbp), %rdi
leaq -0x5f8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x628(%rbp), %rdi
leaq -0x618(%rbp), %rax
cmpq %rax, %rdi
je 0x8e0b
movq -0x618(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8e0b
jmp 0x8dc4
movq %rax, %rbx
movq -0x508(%rbp), %rdi
leaq -0x4f8(%rbp), %rax
jmp 0x98fd
jmp 0x8e08
movq %rax, %rbx
movq -0xa88(%rbp), %rdi
leaq -0xa78(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x368(%rbp), %rdi
leaq -0x358(%rbp), %rax
cmpq %rax, %rdi
je 0x8ea8
movq -0x358(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8ea8
movq %rax, %rbx
movq -0x648(%rbp), %rdi
leaq -0x638(%rbp), %rax
jmp 0x98fd
jmp 0x8efa
movq %rax, %rbx
movq -0x408(%rbp), %rdi
leaq -0x3f8(%rbp), %rax
cmpq %rax, %rdi
je 0x8ee7
movq -0x3f8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8ee7
jmp 0x8ece
jmp 0x8ea5
movq %rax, %rbx
movq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
cmpq %rax, %rdi
je 0x8ed1
movq -0x518(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8ed1
movq %rax, %rbx
movq -0x668(%rbp), %rdi
leaq -0x658(%rbp), %rax
cmpq %rax, %rdi
je 0x8efd
movq -0x658(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8efd
jmp 0x8ee4
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x8f13
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8f13
jmp 0x8f10
movq %rax, %rbx
movq -0x548(%rbp), %rdi
leaq -0x538(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x688(%rbp), %rdi
leaq -0x678(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0xa68(%rbp), %rdi
leaq -0xa58(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x448(%rbp), %rdi
leaq -0x438(%rbp), %rax
cmpq %rax, %rdi
je 0x8f79
movq -0x438(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8f79
jmp 0x8f76
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x8fba
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8fba
movq %rax, %rbx
movq -0x468(%rbp), %rdi
leaq -0x458(%rbp), %rax
jmp 0x98fd
jmp 0x8fb7
jmp 0x8fcd
movq %rax, %rbx
movq -0x488(%rbp), %rdi
leaq -0x478(%rbp), %rax
cmpq %rax, %rdi
je 0x8fd0
movq -0x478(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x8fd0
movq %rax, %rbx
movq -0x568(%rbp), %rdi
leaq -0x558(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0xaa8(%rbp), %rdi
leaq -0xa98(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %rax
cmpq %rax, %rdi
je 0x903b
movq -0x578(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x903b
jmp 0x9038
jmp 0x90bb
movq %rax, %rbx
movq -0x4a8(%rbp), %rdi
leaq -0x498(%rbp), %rax
cmpq %rax, %rdi
je 0x9086
movq -0x498(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9086
movq %rax, %rbx
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0x90d4
movq -0xd8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x90d4
movq %rax, %rbx
movq -0xba8(%rbp), %rdi
cmpq %r15, %rdi
je 0x90be
movq -0xb98(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x90be
movq %rax, %rbx
movq -0x4c8(%rbp), %rdi
leaq -0x4b8(%rbp), %rax
cmpq %rax, %rdi
je 0x90a8
movq -0x4b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xac8(%rbp), %rdi
leaq -0xab8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x388(%rbp), %rdi
leaq -0x378(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0xae8(%rbp), %rdi
leaq -0xad8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0xbc8(%rbp), %rdi
cmpq %r15, %rdi
je 0x910c
movq -0xbb8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x910c
jmp 0x9109
movq %rax, %rbx
leaq -0x78(%rbp), %r12
movq -0x88(%rbp), %rdi
jmp 0x997c
movq %rax, %rbx
movq -0x768(%rbp), %rdi
leaq -0x758(%rbp), %rax
cmpq %rax, %rdi
je 0x91a0
movq -0x758(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x91a0
jmp 0x9476
jmp 0x9226
jmp 0x9162
jmp 0x92aa
jmp 0x9244
jmp 0x919d
jmp 0x92e7
jmp 0x91c4
movq %rax, %rbx
jmp 0x92d4
movq %rax, %rbx
movq -0x6c8(%rbp), %rdi
leaq -0x6b8(%rbp), %rax
cmpq %rax, %rdi
je 0x92b2
movq -0x6b8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x92b2
jmp 0x923c
movq %rax, %rbx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x9229
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9229
movq %rax, %rbx
jmp 0x9269
jmp 0x92af
movq %rax, %rbx
movq -0x6e8(%rbp), %rdi
leaq -0x6d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9247
movq -0x6d8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9247
movq %rax, %rbx
movq -0x6a8(%rbp), %rdi
leaq -0x698(%rbp), %rax
cmpq %rax, %rdi
je 0x92ea
movq -0x698(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x92ea
movq %rax, %rbx
movq -0x788(%rbp), %rdi
leaq -0x778(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
jmp 0x930c
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x9269
movq -0x138(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x708(%rbp), %rdi
leaq -0x6f8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x728(%rbp), %rdi
leaq -0x718(%rbp), %rax
cmpq %rax, %rdi
je 0x9479
movq -0x718(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9479
movq %rax, %rbx
jmp 0x9327
movq %rax, %rbx
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x92d4
movq -0x118(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb48(%rbp), %rdi
leaq -0xb38(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x930c
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb08(%rbp), %rdi
cmpq %r12, %rdi
je 0x9327
movq -0xaf8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb28(%rbp), %rdi
leaq -0xb18(%rbp), %rax
jmp 0x98fd
jmp 0x9640
jmp 0x97b3
movq %rax, %rbx
movq -0x8a8(%rbp), %rdi
leaq -0x898(%rbp), %rax
cmpq %rax, %rdi
je 0x953e
movq -0x898(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x953e
jmp 0x94ae
jmp 0x9405
jmp 0x946e
jmp 0x94c3
movq %rax, %rbx
movq -0x948(%rbp), %rdi
leaq -0x938(%rbp), %rax
cmpq %rax, %rdi
je 0x95dd
movq -0x938(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x95dd
jmp 0x97eb
jmp 0x9795
jmp 0x94b6
jmp 0x96e8
jmp 0x9597
movq %rax, %rbx
movq -0x7a8(%rbp), %rdi
leaq -0x798(%rbp), %rax
cmpq %rax, %rdi
je 0x96a7
movq -0x798(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x96a7
jmp 0x9882
jmp 0x9895
movq %rax, %rbx
jmp 0x967b
jmp 0x953b
movq %rax, %rbx
movq -0x8e8(%rbp), %rdi
leaq -0x8d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9610
movq -0x8d8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9610
movq %rax, %rbx
movq -0x988(%rbp), %rdi
leaq -0x978(%rbp), %rax
cmpq %rax, %rdi
je 0x9760
movq -0x978(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9760
movq %rax, %rbx
jmp 0x9723
movq %rax, %rbx
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x97a0
movq -0x158(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x97a0
jmp 0x95da
jmp 0x959f
movq %rax, %rbx
jmp 0x9782
movq %rax, %rbx
jmp 0x986a
jmp 0x96d2
movq %rax, %rbx
jmp 0x98cd
movq %rax, %rbx
movq -0x928(%rbp), %rdi
leaq -0x918(%rbp), %rax
cmpq %rax, %rdi
je 0x98ab
movq -0x918(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x98ab
movq %rax, %rbx
movq -0x7e8(%rbp), %rdi
leaq -0x7d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9848
movq -0x7d8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9848
jmp 0x96a4
jmp 0x9747
jmp 0x979d
jmp 0x960d
movq %rax, %rbx
movq -0x228(%rbp), %rdi
leaq -0x218(%rbp), %rax
cmpq %rax, %rdi
je 0x9643
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9643
movq %rax, %rbx
movq -0x9c8(%rbp), %rdi
leaq -0x9b8(%rbp), %rax
cmpq %rax, %rdi
je 0x97b6
movq -0x9b8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x97b6
movq %rax, %rbx
jmp 0x97d8
movq %rax, %rbx
jmp 0x9810
jmp 0x975d
movq %rax, %rbx
movq -0x808(%rbp), %rdi
leaq -0x7f8(%rbp), %rax
cmpq %rax, %rdi
je 0x97ee
movq -0x7f8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x97ee
movq %rax, %rbx
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x96eb
movq -0x298(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x96eb
jmp 0x987d
movq %rax, %rbx
movq -0x248(%rbp), %rdi
leaq -0x238(%rbp), %rax
cmpq %rax, %rdi
je 0x9898
movq -0x238(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9898
jmp 0x98a8
movq %rax, %rbx
movq -0x8c8(%rbp), %rdi
leaq -0x8b8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0xa08(%rbp), %rdi
leaq -0x9f8(%rbp), %rax
cmpq %rax, %rdi
je 0x967b
movq -0x9f8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x96d5
movq -0x2f8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x96d5
jmp 0x9845
movq %rax, %rbx
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x9885
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9885
movq %rax, %rbx
movq -0xa28(%rbp), %rdi
leaq -0xa18(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x968(%rbp), %rdi
leaq -0x958(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x868(%rbp), %rdi
leaq -0x858(%rbp), %rax
cmpq %rax, %rdi
je 0x9723
movq -0x858(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x974a
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x974a
movq %rax, %rbx
movq -0x888(%rbp), %rdi
leaq -0x878(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x9782
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x9a8(%rbp), %rdi
leaq -0x998(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
jmp 0x9832
movq %rax, %rbx
movq -0x748(%rbp), %rdi
leaq -0x738(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
je 0x97d8
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x9e8(%rbp), %rdi
leaq -0x9d8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x9810
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x828(%rbp), %rdi
leaq -0x818(%rbp), %rax
cmpq %rax, %rdi
je 0x9832
movq -0x818(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x848(%rbp), %rdi
leaq -0x838(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x986a
movq -0x1b8(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb68(%rbp), %rdi
leaq -0xb58(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
jmp 0x98ef
movq %rax, %rbx
movq -0x7c8(%rbp), %rdi
leaq -0x7b8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x908(%rbp), %rdi
leaq -0x8f8(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x98cd
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x288(%rbp), %rdi
leaq -0x278(%rbp), %rax
cmpq %rax, %rdi
je 0x98ef
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0xb88(%rbp), %rdi
leaq -0xb78(%rbp), %rax
movq %rax, %r12
cmpq %rax, %rdi
je 0x9911
movq (%r12), %rsi
incq %rsi
callq 0x2240
movq %rbx, %rdi
callq 0x23b0
movq %rax, %rbx
movq -0xa48(%rbp), %rdi
leaq -0xa38(%rbp), %rax
cmpq %rax, %rdi
je 0x9953
movq -0xa38(%rbp), %rsi
incq %rsi
callq 0x2240
jmp 0x9953
jmp 0x9944
jmp 0x9950
movq %rax, %rbx
leaq -0x338(%rbp), %r12
jmp 0x9975
movq %rax, %rbx
movq -0x328(%rbp), %rdi
leaq -0x318(%rbp), %rax
cmpq %rax, %rdi
je 0x9975
movq -0x318(%rbp), %rsi
incq %rsi
callq 0x2240
movq -0x348(%rbp), %rdi
cmpq %r12, %rdi
jne 0x9905
jmp 0x9911
nop