// File: /workspace/github_cpp_makefile_star2_O2/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 %rsi, -0x60(%rbp)
movq %rdi, -0x38(%rbp)
xorl %r8d, %r8d
movl %r8d, %r8d
movq -0x60(%rbp), %rax
movq (%rax), %rdi
movq 0x8(%rax), %rcx
movq %rcx, %rax
subq %rdi, %rax
cqto
pushq $0x18
popq %rsi
idivq %rsi
cmpq %r8, %rax
jbe 0x5839
movq %r8, -0x68(%rbp)
imulq $0x18, %r8, %rcx
addq %rcx, %rdi
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq (%rax), %rcx
xorl %r14d, %r14d
movq %rcx, -0x40(%rbp)
movq %rdi, -0x30(%rbp)
movl %r14d, %r13d
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %r13, %rax
jbe 0x582d
movq %r13, %rsi
callq 0x7370
leaq 0x20(%rax), %rbx
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
movq %rbx, %rdi
callq 0x74af
testb %al, %al
je 0x4cc7
incl %r13d
movl %r13d, %r14d
movq -0x30(%rbp), %rdi
jmp 0x4c7c
testq %r13, %r13
je 0x4d69
leal -0x1(%r13), %esi
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x2e8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xb08(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xae8(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
xorl %esi, %esi
movq %rbx, %r14
leaq -0x2e8(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
leal 0x1(%r13), %esi
movq -0x30(%rbp), %rdi
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %rsi, %rax
movq %rsi, -0x50(%rbp)
je 0x4e1f
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x2c8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xac8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xaa8(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x1
popq %rsi
movq %rbx, %r14
leaq -0x2c8(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
cmpl $0x2, %r13d
jb 0x50bf
leal -0x2(%r13), %esi
movq %rsi, -0x48(%rbp)
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xbc8(%rbp), %r15
movq %r15, %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x548(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xa88(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
leaq -0x548(%rbp), %r14
movq %r14, %rcx
movq %rbx, %r8
callq 0x4544
movq -0x40(%rbp), %r12
movq %rbx, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
leal -0x1(%r13), %esi
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq %rsi, -0x58(%rbp)
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xa68(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xa48(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x4
popq %rsi
leaq -0x2a8(%rbp), %r14
movq %r14, %rdx
movq %rbx, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq -0x48(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x288(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xa28(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0xa08(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x4
popq %rsi
leaq -0x288(%rbp), %r14
movq %r14, %rdx
movq %rbx, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq -0x58(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xba8(%rbp), %r14
movq %r14, %rdi
callq 0x2290
movq %rbx, %rdi
movq -0x48(%rbp), %rsi
callq 0x7370
leaq -0x9e8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x528(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x9c8(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x2
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
movq %r14, %r12
leaq -0x528(%rbp), %r14
movq %r14, %r8
movq %r15, %r9
callq 0x4736
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq %r12, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
leal 0x2(%r13), %ecx
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
movq %rcx, -0x48(%rbp)
cmpq %rcx, %rax
jbe 0x5379
movq -0x48(%rbp), %rsi
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x268(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x508(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x9a8(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x3
popq %rsi
leaq -0x268(%rbp), %rbx
movq %rbx, %rdx
leaq -0x508(%rbp), %r14
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq -0x50(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x248(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x4e8(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x988(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x5
popq %rsi
leaq -0x248(%rbp), %rbx
movq %rbx, %rdx
leaq -0x4e8(%rbp), %r14
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq -0x48(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x228(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x4c8(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x968(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x5
popq %rsi
leaq -0x228(%rbp), %rbx
movq %rbx, %rdx
leaq -0x4c8(%rbp), %r14
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq -0x50(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x208(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq -0x48(%rbp), %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x4a8(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x488(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x948(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x3
popq %rsi
leaq -0x208(%rbp), %rbx
movq %rbx, %rdx
leaq -0x4a8(%rbp), %r14
movq %r14, %rcx
leaq -0x488(%rbp), %r15
movq %r15, %r8
movq %r12, %r9
callq 0x4736
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
cmpl $0x3, %r13d
jb 0x5551
leal -0x1(%r13), %esi
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x928(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x908(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x6
popq %rsi
movq %rbx, %r14
leaq -0x1e8(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
leal -0x2(%r13), %esi
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x8e8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x8c8(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x6
popq %rsi
movq %rbx, %r14
leaq -0x1c8(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
leal -0x3(%r13), %esi
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x1a8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x8a8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x888(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x6
popq %rsi
movq %rbx, %r14
leaq -0x1a8(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
leal 0x3(%r13), %ebx
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %rbx, %rax
jbe 0x5743
movq -0x50(%rbp), %rsi
movq %rdi, %r14
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x188(%rbp), %rdi
callq 0x2290
movq %r14, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x468(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x868(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x7
popq %rsi
leaq -0x188(%rbp), %r14
movq %r14, %rdx
leaq -0x468(%rbp), %r15
movq %r15, %rcx
movq %r12, %r8
callq 0x4544
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq -0x30(%rbp), %r14
movq %r14, %rdi
movq -0x48(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x168(%rbp), %rdi
callq 0x2290
movq %r14, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
leaq -0x448(%rbp), %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x848(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x7
popq %rsi
leaq -0x168(%rbp), %r14
movq %r14, %rdx
leaq -0x448(%rbp), %r15
movq %r15, %rcx
movq %r12, %r8
callq 0x4544
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq -0x30(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x148(%rbp), %rdi
callq 0x2290
movq %r14, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x828(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x808(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x7
popq %rsi
movq %rbx, %r14
leaq -0x148(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
callq 0x4544
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpl $0x2, %r13d
movq -0x50(%rbp), %r14
jb 0x4c7c
cmpq %r14, %rax
je 0x4c7c
leal -0x1(%r13), %esi
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x128(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7370
leaq -0x7e8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x7c8(%rbp), %r14
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x7a8(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x1
popq %rsi
movq %r14, %r15
movq %rbx, %r14
leaq -0x128(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r15, %r8
movq %r12, %r9
callq 0x4736
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
movq -0x50(%rbp), %r14
jmp 0x4c7c
movq -0x68(%rbp), %r8
incl %r8d
jmp 0x4c37
xorl %esi, %esi
leaq -0xa8(%rbp), %r14
leaq -0x88(%rbp), %r12
movl %esi, %esi
subq %rdi, %rcx
movq %rcx, %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rsi, %rax
jbe 0x613b
movq %rsi, -0x58(%rbp)
imulq $0x18, %rsi, %rcx
addq %rcx, %rdi
movq -0x38(%rbp), %rax
movq (%rax), %rax
addq (%rax), %rcx
movq %rcx, -0x50(%rbp)
xorl %esi, %esi
movq %rdi, -0x30(%rbp)
movl %esi, %r13d
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %r13, %rax
jbe 0x6125
movq %r13, %rsi
callq 0x7370
leaq 0x20(%rax), %rbx
movq -0x50(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
movq %rbx, %rdi
callq 0x6f48
testb %al, %al
je 0x58cc
incl %r13d
movl %r13d, %esi
movq -0x30(%rbp), %rdi
jmp 0x5881
testq %r13, %r13
je 0x593a
leal -0x1(%r13), %esi
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x428(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x788(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
xorl %esi, %esi
leaq -0x428(%rbp), %r15
movq %r15, %rdx
movq %rbx, %rcx
callq 0x4952
movq %rbx, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
leal 0x1(%r13), %esi
movq -0x30(%rbp), %rdi
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %rsi, %rax
movq %rsi, -0x40(%rbp)
je 0x59bc
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xb88(%rbp), %r15
movq %r15, %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x768(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x1
popq %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x4952
movq %rbx, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
movq -0x40(%rbp), %rsi
cmpl $0x2, %r13d
jb 0x5bb2
leal -0x2(%r13), %esi
movq %rsi, -0x48(%rbp)
movq %rdi, %r15
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xb68(%rbp), %r14
movq %r14, %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x748(%rbp), %r15
addq $0x20, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x2
popq %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x4952
leaq -0x708(%rbp), %rbx
movq %r15, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
leal -0x1(%r13), %r15d
movq -0x30(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x728(%rbp), %r14
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x4
popq %rsi
leaq -0x408(%rbp), %r12
movq %r12, %rdx
movq %r14, %rcx
callq 0x4952
movq %r14, %rdi
callq 0x23e8
movq %r12, %rdi
callq 0x23e8
movq -0x30(%rbp), %r12
movq %r12, %rdi
movq -0x48(%rbp), %r14
movq %r14, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x3e8(%rbp), %rdi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x4
popq %rsi
leaq -0x3e8(%rbp), %r12
movq %r12, %rdx
movq %rbx, %rcx
callq 0x4952
movq %rbx, %rdi
callq 0x23e8
movq %r12, %rdi
callq 0x23e8
movq -0x30(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x108(%rbp), %rdi
callq 0x2290
movq %r12, %rdi
movq %r14, %rsi
callq 0x7370
leaq -0x6e8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x6c8(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x2
popq %rsi
leaq -0x108(%rbp), %r15
movq %r15, %rdx
movq %rbx, %rcx
movq %r12, %r8
callq 0x4afa
movq %r12, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
leaq -0xa8(%rbp), %r14
leaq -0x88(%rbp), %r12
movq -0x40(%rbp), %rsi
leal 0x2(%r13), %ebx
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %rbx, %rax
jbe 0x5daf
movq %rbx, %rsi
movq %rdi, %r15
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x3c8(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x6a8(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x3
popq %rsi
leaq -0x3c8(%rbp), %r15
movq %r15, %rdx
movq %r12, %rcx
callq 0x4952
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %r15
movq %r15, %rdi
movq -0x40(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x3a8(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x688(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x5
popq %rsi
leaq -0x3a8(%rbp), %r15
movq %r15, %rdx
movq %r12, %rcx
callq 0x4952
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x388(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x668(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x5
popq %rsi
leaq -0x388(%rbp), %r15
movq %r15, %rdx
movq %r12, %rcx
callq 0x4952
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %r15
movq %r15, %rdi
movq -0x40(%rbp), %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %rbx, %rsi
callq 0x7370
leaq -0x648(%rbp), %r12
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x628(%rbp), %r14
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x3
popq %rsi
leaq -0xe8(%rbp), %r15
movq %r15, %rdx
movq %r12, %rcx
movq %r14, %r8
callq 0x4afa
movq %r14, %rdi
callq 0x23e8
movq %r12, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
leaq -0xa8(%rbp), %r14
leaq -0x88(%rbp), %r12
movq -0x40(%rbp), %rsi
cmpl $0x3, %r13d
jb 0x5efb
leal -0x1(%r13), %esi
movq %rdi, %r15
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x368(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x6
popq %rsi
leaq -0x368(%rbp), %r15
movq %r15, %rdx
movq %r14, %rcx
callq 0x4952
movq %r14, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
leal -0x2(%r13), %esi
movq -0x30(%rbp), %r15
movq %r15, %rdi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x348(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
addq $0x20, %rax
movq %r12, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x6
popq %rsi
leaq -0x348(%rbp), %r15
movq %r15, %rdx
movq %r12, %rcx
callq 0x4952
movq %rbx, -0x48(%rbp)
movq %r12, %rdi
movq %r14, %rbx
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
leal -0x3(%r13), %esi
movq -0x30(%rbp), %r15
movq %r15, %rdi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x328(%rbp), %rdi
callq 0x2290
movq %r15, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x608(%rbp), %r14
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x6
popq %rsi
leaq -0x328(%rbp), %r15
movq %r15, %rdx
movq %r14, %rcx
callq 0x4952
movq %r14, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq %rbx, %r14
movq -0x48(%rbp), %rbx
leal 0x3(%r13), %r15d
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
cmpq %r15, %rax
jbe 0x6060
movq %rdi, %r12
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0x308(%rbp), %rdi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x5e8(%rbp), %r14
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x7
popq %rsi
leaq -0x308(%rbp), %r12
movq %r12, %rdx
movq %r14, %rcx
callq 0x4952
movq %r14, %rdi
callq 0x23e8
movq %r12, %rdi
callq 0x23e8
movq -0x30(%rbp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xb48(%rbp), %rbx
movq %rbx, %rdi
callq 0x2290
movq %r12, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x5c8(%rbp), %r14
addq $0x20, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x7
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x4952
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xb28(%rbp), %r15
movq %r15, %rdi
callq 0x2290
movq %rbx, %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x5a8(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x7
popq %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x4952
movq %rbx, %rdi
callq 0x23e8
movq %r15, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
movq 0x8(%rdi), %rax
subq (%rdi), %rax
sarq $0x6, %rax
leaq -0xa8(%rbp), %r14
leaq -0x88(%rbp), %r12
movq -0x40(%rbp), %rsi
cmpl $0x2, %r13d
jb 0x5881
cmpq %rsi, %rax
je 0x5881
movq %r12, %r15
movq %r14, %r12
movq %rsi, %r14
leal -0x1(%r13), %esi
movq %rdi, %rbx
callq 0x7370
leaq 0x20(%rax), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7370
leaq -0x588(%rbp), %rbx
addq $0x20, %rax
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x7370
leaq -0x568(%rbp), %r13
addq $0x20, %rax
movq %r13, %rdi
movq %rax, %rsi
callq 0x2290
movq -0x38(%rbp), %rdi
pushq $0x1
popq %rsi
movq %rbx, %r14
leaq -0xc8(%rbp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
movq %r13, %r8
callq 0x4afa
movq %r13, %rdi
callq 0x23e8
movq %r14, %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x23e8
movq -0x30(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq %r12, %r14
movq %r15, %r12
jmp 0x5881
movq -0x58(%rbp), %rsi
incl %esi
movq -0x60(%rbp), %rax
movq (%rax), %rdi
movq 0x8(%rax), %rcx
jmp 0x5849
addq $0xba8, %rsp            # imm = 0xBA8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x768(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x668(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x628(%rbp), %rdi
callq 0x23e8
jmp 0x6478
movq %rax, %rbx
leaq -0x708(%rbp), %rdi
jmp 0x6203
movq %rax, %rbx
leaq -0x728(%rbp), %rdi
jmp 0x6203
movq %rax, %rbx
leaq -0x5a8(%rbp), %rdi
jmp 0x65d3
movq %rbx, %r14
movq %rax, %rbx
leaq -0x5c8(%rbp), %rdi
jmp 0x66c6
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0xa8(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x688(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x568(%rbp), %rdi
callq 0x23e8
jmp 0x644e
movq %rax, %rbx
leaq -0x5e8(%rbp), %rdi
callq 0x23e8
movq %r12, %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x748(%rbp), %rdi
jmp 0x66c6
movq %rax, %rbx
leaq -0x608(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x6a8(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x6c8(%rbp), %rdi
callq 0x23e8
jmp 0x63d5
movq %rax, %rbx
leaq -0xa88(%rbp), %rdi
callq 0x23e8
jmp 0x65cc
movq %rax, %rbx
leaq -0xa48(%rbp), %rdi
callq 0x23e8
jmp 0x65bb
movq %rax, %rbx
leaq -0x9a8(%rbp), %rdi
callq 0x23e8
jmp 0x65e0
movq %rax, %rbx
leaq -0xaa8(%rbp), %rdi
callq 0x23e8
jmp 0x6600
movq %rax, %rbx
leaq -0x908(%rbp), %rdi
callq 0x23e8
jmp 0x6693
movq %rax, %rbx
leaq -0x9c8(%rbp), %rdi
callq 0x23e8
movq %r12, %r14
jmp 0x66b3
movq %rax, %rbx
leaq -0x8c8(%rbp), %rdi
callq 0x23e8
jmp 0x64c5
movq %rax, %rbx
leaq -0xa08(%rbp), %rdi
callq 0x23e8
jmp 0x666e
movq %rax, %rbx
leaq -0x968(%rbp), %rdi
callq 0x23e8
jmp 0x664e
movq %rax, %rbx
leaq -0x848(%rbp), %rdi
callq 0x23e8
jmp 0x655b
movq %rax, %rbx
leaq -0x808(%rbp), %rdi
callq 0x23e8
jmp 0x6519
movq %rax, %rbx
leaq -0x7a8(%rbp), %rdi
callq 0x23e8
jmp 0x654a
movq %rax, %rbx
leaq -0x868(%rbp), %rdi
callq 0x23e8
jmp 0x652a
movq %rax, %rbx
leaq -0x888(%rbp), %rdi
callq 0x23e8
jmp 0x64e5
movq %rax, %rbx
leaq -0x988(%rbp), %rdi
callq 0x23e8
jmp 0x66d3
movq %rax, %rbx
leaq -0x948(%rbp), %rdi
callq 0x23e8
jmp 0x6505
movq %rax, %rbx
leaq -0x788(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0xae8(%rbp), %rdi
callq 0x23e8
jmp 0x66f7
jmp 0x66a8
movq %rax, %rbx
leaq -0x408(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x108(%rbp), %r15
leaq -0x6e8(%rbp), %rdi
jmp 0x65d3
movq %rax, %rbx
leaq -0x3c8(%rbp), %rdi
jmp 0x670f
movq %rbx, %rdi
movq %rax, %rbx
jmp 0x670f
movq %rax, %rbx
leaq -0x308(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x388(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x6484
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x328(%rbp), %rdi
jmp 0x670f
jmp 0x6643
movq %rax, %rbx
jmp 0x645a
jmp 0x66a8
movq %rax, %rbx
leaq -0x588(%rbp), %rdi
callq 0x23e8
leaq -0xc8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x348(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x648(%rbp), %rdi
callq 0x23e8
leaq -0xe8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x368(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x3e8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x3a8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x64d1
movq %rax, %rbx
leaq -0x8e8(%rbp), %rdi
callq 0x23e8
leaq -0x1c8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x64f1
movq %rax, %rbx
leaq -0x8a8(%rbp), %rdi
callq 0x23e8
leaq -0x1a8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x6536
movq %rax, %rbx
leaq -0x488(%rbp), %rdi
callq 0x23e8
jmp 0x65a5
movq %rax, %rbx
leaq -0x828(%rbp), %rdi
callq 0x23e8
jmp 0x6587
movq %rax, %rbx
leaq -0x468(%rbp), %rdi
callq 0x23e8
leaq -0x188(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x6578
movq %rax, %rbx
leaq -0x7c8(%rbp), %rdi
callq 0x23e8
jmp 0x656c
movq %rax, %rbx
leaq -0x448(%rbp), %rdi
callq 0x23e8
jmp 0x6596
movq %rax, %rbx
leaq -0x7e8(%rbp), %rdi
callq 0x23e8
leaq -0x128(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x4a8(%rbp), %rdi
callq 0x23e8
jmp 0x661b
movq %rax, %rbx
jmp 0x660c
movq %rax, %rbx
leaq -0xa68(%rbp), %rdi
callq 0x23e8
jmp 0x65f1
movq %rax, %rbx
leaq -0x548(%rbp), %rdi
callq 0x23e8
jmp 0x66ab
movq %rax, %rbx
leaq -0x508(%rbp), %rdi
callq 0x23e8
jmp 0x6637
movq %rax, %rbx
leaq -0x2a8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0xac8(%rbp), %rdi
callq 0x23e8
leaq -0x2c8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x208(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x66df
movq %rax, %rbx
jmp 0x667a
movq %rax, %rbx
leaq -0x268(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x66cb
movq %rax, %rbx
leaq -0x4c8(%rbp), %rdi
callq 0x23e8
jmp 0x665f
movq %rax, %rbx
leaq -0x228(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0xa28(%rbp), %rdi
callq 0x23e8
leaq -0x288(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
jmp 0x66bf
movq %rax, %rbx
jmp 0x669f
movq %rax, %rbx
leaq -0x928(%rbp), %rdi
callq 0x23e8
leaq -0x1e8(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
movq %r15, %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x528(%rbp), %rdi
callq 0x23e8
leaq -0x9e8(%rbp), %rdi
callq 0x23e8
movq %r14, %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x4e8(%rbp), %rdi
callq 0x23e8
leaq -0x248(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0x428(%rbp), %rdi
jmp 0x670f
movq %rax, %rbx
leaq -0xb08(%rbp), %rdi
callq 0x23e8
jmp 0x6708
movq %rax, %rbx
leaq -0x2e8(%rbp), %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x2370