// File: /workspace/github_cpp_makefile_star2_O3/lindorx[P]train/main.cpp
// Function: CompileCode()
void CompileCode(void)
{
	using namespace std;
	ifstream fin(fin_src);
	if (!fin.is_open()){
		cout << "Դ�ļ�����ʧ��!" << endl;
		return;
	}
	string Line;//����һ���ı�
	string CodeStr;//����ָ���ַ���
	vector<unsigned char>d;
	int i = 0;//line���ַ���λ��
	while (getline(fin, Line)) {
		cout << Line_num << "\t" << Line << endl;//�������ڴ������ı���
		//��2��while�����ã����˵��ı��п�ͷ�Ŀո���������ע�ͣ����е��޹��ַ�����֤������
		//���������ı���֮���Բ�ʹ��while(?)i++;��Ϊ�˱�֤��ȡ������֮����ָ������������
		while (i < (int)Line.size() && Line[i] != '\n' && Line[i] != '\0' && Line[i] != ';') {
			//�����ո���TAB
			if (Line[i] == 0x20 || Line[i] == '\t' || Line[i] == ':' || Line[i] == ',') {
				i++; continue;
			}
			//�ж��Ƿ��������ţ���������û��ð�š�������
			CodeStr = CutStrCode(Line, i);
			i += CodeStr.size();
			if (is_Title) {
				t.str = CodeStr;
				t.num = Number;
				t.s = FileSize;
				Title.push_back(t);
				is_Title = false;
			}
			else {//����ָ���ж�
				if (MOV) {
					d = MOVE(Line, i, Number);
					if (d.size() > 1 && d.size() < 4) {
						Data_put(d);
					}
					else if (d.size() > 3) {
						//�ж�Ϊ����,���������ַ���
						t.str = CutStr(Line, Line.find(',') + 1);
						t.s = FileSize;
						t.num = Number;
						Mov_place.push_back(t);
						//��������
						Data.insert(Data.end(), d.begin(), d.end() - (int)d[3]);
						FileSize += (d.size() - (int)d[3]);
						Number += (d.size() - (int)d[3]);
					}
				}
				else if (DB) {
					Data_put(DataBWD(Line, i, 1, Number));

				}
				else if (DW) {
					Data_put(DataBWD(Line, i, 2, Number));
				}
				else if (DD) {
					Data_put(DataBWD(Line, i, 4, Number));
				}
				else if (ADD) {
					Data_put(Additive(Line, i, Number));
				}
				else if (SUB) {
					Data_put(Subtraction(Line, i, Number));
				}
				else if (JMP) {
					d = Jemp();
					//����������jp����
					t.str = CutStr(Line, i);
					t.s = FileSize;
					t.num = Number;
					Data_put(d);
					jp_p.push_back(t);
				}
				else if (JE || JZ) {
					d = Je();
					//����������jp����
					t.str = CutStr(Line, i);
					t.s = FileSize;
					t.num = Number;
					Data_put(d);
					je_p.push_back(t);
				}
				else if (JB) {
					d = Jb();
					//����������jp����
					t.str = CutStr(Line, i);
					t.s = FileSize;
					t.num = Number;
					Data_put(d);
					jb_p.push_back(t);
				}
				else if (JBE) {
					d = Jbe();
					//����������jp����
					t.str = CutStr(Line, i);
					t.s = FileSize;
					t.num = Number;
					Data_put(d);
					jbe_p.push_back(t);
				}
				else if (SHR) {
					Data_put(Shl_Shr(Line, i, Number, 0xe8));
				}
				else if (SHR) {
					Data_put(Shl_Shr(Line, i, Number, 0xe0));
				}
				else if (PUSH) {
					d = Push(Line, i, Number);
					if ((int)d.size() > 0) {
						Data_put(d);
					}
					else {
						//˵��Ϊ���ţ�������ֵ����push_p����
						t.str = CutStr(Line, i);
						t.num = Number;
						t.s = FileSize;
						push_p.push_back(t);
						//д�������ֽ�0x6a��0x00
						Data.push_back(0x6a);
						Data.push_back(0x00);
						Number += 2;
						FileSize += 2;
					}
				}
				else if (POP) {
					Data_put(Pop(Line, i));
				}
				else if (CMP) {
					Data_put(Cmp(Line, i, Number));
				}//�˷�ָ��
				else if (MUL) {
					Data_put(Mul(Line, i));
				}
				else if (OR) {
					Data_put(Logic(Line, i, Number, 'o'));
				}
				else if (XOR) {
					Data_put(Logic(Line, i, Number, 'x'));
				}
				else if (AND) {
					Data_put(Logic(Line, i, Number, 'a'));
				}
				else if (NOT) {
					Data_put(Not(Line, i));
				}
				else if (RESB) {
					DataChar(ReserveByte(Line, i, FileSize), '\0');
				}
				else if (INT) {
					Data_put(Int(Line, i, Number));
				}
				else if (ORG) {
					Number = Organ(Line, i, Number);
				}
				else if (HLT) {
					Data.push_back(0xf4);
					FileSize++;
					Number++;
				}
				else if (IN) {
					Data_put(In_Out(Line, i, Number, 'i'));
				}
				else if (OUT) {
					Data_put(In_Out(Line, i, Number, 'o'));
				}
				else {
					cout << "����ָ���޷�ʶ�������������룡error-" << Line_num << endl << endl;
				}
			}
			break;
		}
		i = 0;
		Line_num++;
	}
	//ѭ���������ر��ļ�
	fin.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4b8, %rsp            # imm = 0x4B8
leaq 0x878f(%rip), %rsi      # 0x16018
leaq -0x4d8(%rbp), %rdi
movl $0x8, %edx
callq 0x22b0
leaq -0x460(%rbp), %rdi
callq 0x2060
testb %al, %al
je 0xefe4
leaq -0x88(%rbp), %rax
movq %rax, -0x10(%rax)
xorl %ecx, %ecx
movq %rcx, -0x8(%rax)
movb %cl, (%rax)
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
movq %rcx, -0x8(%rax)
movq $0x0, -0x30(%rbp)
movb %cl, (%rax)
movabsq $0x400100100000200, %r14 # imm = 0x400100100000200
xorl %ebx, %ebx
movq -0x4d8(%rbp), %rax
movq -0x18(%rax), %rdi
leaq -0x4d8(%rbp), %rax
addq %rax, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %edx
leaq -0x4d8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x2320
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0xf02c
movl 0x86cc(%rip), %esi      # 0x15ffc
movq 0x76a1(%rip), %rdi      # 0x14fd8
callq 0x22e0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
leaq 0x3ce8(%rip), %rsi      # 0x11636
callq 0x2210
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r15, %rdi
callq 0x2210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2130
movq -0x90(%rbp), %rax
testl %eax, %eax
jle 0xd9d8
movq -0x98(%rbp), %rcx
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
xorl %r12d, %r12d
movzbl (%rcx,%r12), %edx
cmpq $0x3b, %rdx
ja 0xd9f1
btq %rdx, %r14
jae 0xd9c8
incq %r12
cmpq %r12, %rax
jne 0xd9ad
jmp 0xd9d8
movabsq $0x800000000000401, %rax # imm = 0x800000000000401
btq %rdx, %rax
jae 0xd9f1
movq -0x30(%rbp), %r13
movq %rbx, %r15
incl 0x8617(%rip)            # 0x15ffc
movq %r13, -0x30(%rbp)
movq %r15, %rbx
jmp 0xd8e3
leaq -0x50(%rbp), %r15
movq %r15, %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xf829
leaq -0x78(%rbp), %rdi
movq %r15, %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xda2c
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
cmpb $0x1, 0x86f5(%rip)      # 0x16128
jne 0xda7c
leaq 0x8634(%rip), %rdi      # 0x16070
leaq -0x78(%rbp), %rsi
callq 0x2110
movl 0x85ad(%rip), %eax      # 0x15ff8
movl %eax, 0x863f(%rip)      # 0x16090
movl 0x859d(%rip), %eax      # 0x15ff4
movl %eax, 0x8637(%rip)      # 0x16094
leaq 0x85f4(%rip), %rdi      # 0x16058
leaq 0x8605(%rip), %rsi      # 0x16070
callq 0x10496
movb $0x0, 0x86b1(%rip)      # 0x16128
jmp 0xd9d8
addq -0x70(%rbp), %r12
leaq -0x78(%rbp), %r15
movq %r15, %rdi
leaq 0x3bce(%rip), %rsi      # 0x1165c
callq 0x20a0
testl %eax, %eax
je 0xe247
movq %r15, %rdi
leaq 0x3bbb(%rip), %rsi      # 0x11660
callq 0x20a0
testl %eax, %eax
je 0xe247
movq %r15, %rdi
leaq 0x3ba8(%rip), %rsi      # 0x11664
callq 0x20a0
testl %eax, %eax
je 0xe31f
movq %r15, %rdi
leaq 0x3b94(%rip), %rsi      # 0x11667
callq 0x20a0
testl %eax, %eax
je 0xe31f
movq %r15, %rdi
leaq 0x3b80(%rip), %rsi      # 0x1166a
callq 0x20a0
testl %eax, %eax
je 0xe31f
movq %r15, %rdi
leaq 0x3b6c(%rip), %rsi      # 0x1166d
callq 0x20a0
testl %eax, %eax
je 0xe31f
movq %r15, %rdi
leaq 0x3b58(%rip), %rsi      # 0x11670
callq 0x20a0
testl %eax, %eax
je 0xe463
movq %r15, %rdi
leaq 0x3b44(%rip), %rsi      # 0x11673
callq 0x20a0
testl %eax, %eax
je 0xe463
movq %r15, %rdi
leaq 0x3b30(%rip), %rsi      # 0x11676
callq 0x20a0
testl %eax, %eax
je 0xe463
movq %r15, %rdi
leaq 0x3b1c(%rip), %rsi      # 0x11679
callq 0x20a0
testl %eax, %eax
je 0xe463
movq %r15, %rdi
leaq 0x3b0f(%rip), %rsi      # 0x11683
callq 0x20a0
testl %eax, %eax
je 0xe4ad
movq %r15, %rdi
leaq 0x3afc(%rip), %rsi      # 0x11687
callq 0x20a0
testl %eax, %eax
je 0xe4ad
movq %r15, %rdi
leaq 0x3ada(%rip), %rsi      # 0x1167c
callq 0x20a0
testl %eax, %eax
je 0xe4ad
movq %r15, %rdi
leaq 0x3ac6(%rip), %rsi      # 0x1167f
callq 0x20a0
testl %eax, %eax
je 0xe4ad
movq %r15, %rdi
leaq 0x3ab2(%rip), %rsi      # 0x11682
callq 0x20a0
testl %eax, %eax
je 0xe4f7
movq %r15, %rdi
leaq 0x3a9f(%rip), %rsi      # 0x11686
callq 0x20a0
testl %eax, %eax
je 0xe4f7
movq %r15, %rdi
leaq 0x3a8c(%rip), %rsi      # 0x1168a
callq 0x20a0
testl %eax, %eax
je 0xe53b
movq %r15, %rdi
leaq 0x3a79(%rip), %rsi      # 0x1168e
callq 0x20a0
testl %eax, %eax
je 0xe53b
movq %r15, %rdi
leaq 0x3a66(%rip), %rsi      # 0x11692
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x3a53(%rip), %rsi      # 0x11696
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x3a40(%rip), %rsi      # 0x1169a
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x3a2d(%rip), %rsi      # 0x1169e
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x3a1a(%rip), %rsi      # 0x116a2
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x3a07(%rip), %rsi      # 0x116a6
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x39f4(%rip), %rsi      # 0x116aa
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x39e1(%rip), %rsi      # 0x116ae
callq 0x20a0
testl %eax, %eax
je 0xe57f
movq %r15, %rdi
leaq 0x39ce(%rip), %rsi      # 0x116b2
callq 0x20a0
testl %eax, %eax
je 0xe6c3
leaq -0x78(%rbp), %rdi
leaq 0x39b9(%rip), %rsi      # 0x116b5
callq 0x20a0
testl %eax, %eax
je 0xe6c3
leaq -0x78(%rbp), %rdi
leaq 0x39a4(%rip), %rsi      # 0x116b8
callq 0x20a0
testl %eax, %eax
je 0xe6c3
leaq -0x78(%rbp), %rdi
leaq 0x398f(%rip), %rsi      # 0x116bb
callq 0x20a0
testl %eax, %eax
je 0xe6c3
leaq -0x78(%rbp), %rdi
leaq 0x397a(%rip), %rsi      # 0x116be
callq 0x20a0
testl %eax, %eax
je 0xe805
leaq -0x78(%rbp), %rdi
leaq 0x3965(%rip), %rsi      # 0x116c1
callq 0x20a0
testl %eax, %eax
je 0xe805
leaq -0x78(%rbp), %rdi
leaq 0x3950(%rip), %rsi      # 0x116c4
callq 0x20a0
testl %eax, %eax
je 0xe947
leaq -0x78(%rbp), %rdi
leaq 0x393c(%rip), %rsi      # 0x116c8
callq 0x20a0
testl %eax, %eax
je 0xe947
leaq -0x78(%rbp), %rdi
leaq 0x3928(%rip), %rsi      # 0x116cc
callq 0x20a0
testl %eax, %eax
je 0xea89
leaq -0x78(%rbp), %rdi
leaq 0x3914(%rip), %rsi      # 0x116d0
callq 0x20a0
testl %eax, %eax
je 0xea89
leaq -0x78(%rbp), %rdi
leaq 0x38f8(%rip), %rsi      # 0x116cc
callq 0x20a0
testl %eax, %eax
je 0xead3
leaq -0x78(%rbp), %rdi
leaq 0x38e4(%rip), %rsi      # 0x116d0
callq 0x20a0
testl %eax, %eax
je 0xead3
leaq -0x78(%rbp), %rdi
leaq 0x38d0(%rip), %rsi      # 0x116d4
callq 0x20a0
testl %eax, %eax
je 0xeb1d
leaq -0x78(%rbp), %rdi
leaq 0x38bd(%rip), %rsi      # 0x116d9
callq 0x20a0
testl %eax, %eax
je 0xeb1d
leaq -0x78(%rbp), %rdi
leaq 0x38aa(%rip), %rsi      # 0x116de
callq 0x20a0
testl %eax, %eax
je 0xec18
leaq -0x78(%rbp), %rdi
leaq 0x3896(%rip), %rsi      # 0x116e2
callq 0x20a0
testl %eax, %eax
je 0xec18
leaq -0x78(%rbp), %rdi
leaq 0x3882(%rip), %rsi      # 0x116e6
callq 0x20a0
testl %eax, %eax
je 0xecff
leaq -0x78(%rbp), %rdi
leaq 0x386e(%rip), %rsi      # 0x116ea
callq 0x20a0
testl %eax, %eax
je 0xecff
leaq -0x78(%rbp), %rdi
leaq 0x385a(%rip), %rsi      # 0x116ee
callq 0x20a0
testl %eax, %eax
je 0xed43
leaq -0x78(%rbp), %rdi
leaq 0x3846(%rip), %rsi      # 0x116f2
callq 0x20a0
testl %eax, %eax
je 0xed43
leaq -0x78(%rbp), %rdi
leaq 0x3833(%rip), %rsi      # 0x116f7
callq 0x20a0
testl %eax, %eax
je 0xed81
leaq -0x78(%rbp), %rdi
leaq 0x381f(%rip), %rsi      # 0x116fb
callq 0x20a0
testl %eax, %eax
je 0xed81
leaq -0x78(%rbp), %rdi
leaq 0x3802(%rip), %rsi      # 0x116f6
callq 0x20a0
testl %eax, %eax
je 0xedcb
leaq -0x78(%rbp), %rdi
leaq 0x37ee(%rip), %rsi      # 0x116fa
callq 0x20a0
testl %eax, %eax
je 0xedcb
leaq -0x78(%rbp), %rdi
leaq 0x37da(%rip), %rsi      # 0x116fe
callq 0x20a0
testl %eax, %eax
je 0xee15
leaq -0x78(%rbp), %rdi
leaq 0x37c6(%rip), %rsi      # 0x11702
callq 0x20a0
testl %eax, %eax
je 0xee15
leaq -0x78(%rbp), %rdi
leaq 0x37b2(%rip), %rsi      # 0x11706
callq 0x20a0
testl %eax, %eax
je 0xee5f
leaq -0x78(%rbp), %rdi
leaq 0x379e(%rip), %rsi      # 0x1170a
callq 0x20a0
testl %eax, %eax
je 0xee5f
leaq -0x78(%rbp), %rdi
leaq 0x378a(%rip), %rsi      # 0x1170e
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3777(%rip), %rsi      # 0x11713
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3764(%rip), %rsi      # 0x11718
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3751(%rip), %rsi      # 0x1171d
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x373e(%rip), %rsi      # 0x11722
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x371c(%rip), %rsi      # 0x11718
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3713(%rip), %rsi      # 0x11727
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3700(%rip), %rsi      # 0x1172c
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x36ed(%rip), %rsi      # 0x11731
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x36da(%rip), %rsi      # 0x11736
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x36c7(%rip), %rsi      # 0x1173b
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x36b4(%rip), %rsi      # 0x11740
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x36a1(%rip), %rsi      # 0x11745
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x368e(%rip), %rsi      # 0x1174a
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x367b(%rip), %rsi      # 0x1174f
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3668(%rip), %rsi      # 0x11754
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3655(%rip), %rsi      # 0x11759
callq 0x20a0
testl %eax, %eax
je 0xee9d
leaq -0x78(%rbp), %rdi
leaq 0x3642(%rip), %rsi      # 0x1175e
callq 0x20a0
testl %eax, %eax
je 0xeec7
leaq -0x78(%rbp), %rdi
leaq 0x362e(%rip), %rsi      # 0x11762
callq 0x20a0
testl %eax, %eax
je 0xeec7
leaq -0x78(%rbp), %rdi
leaq 0x361a(%rip), %rsi      # 0x11766
callq 0x20a0
testl %eax, %eax
je 0xef0b
leaq -0x78(%rbp), %rdi
leaq 0x3606(%rip), %rsi      # 0x1176a
callq 0x20a0
testl %eax, %eax
je 0xef0b
leaq -0x78(%rbp), %rdi
leaq 0x35f2(%rip), %rsi      # 0x1176e
callq 0x20a0
testl %eax, %eax
je 0xef2b
leaq -0x78(%rbp), %rdi
leaq 0x35de(%rip), %rsi      # 0x11772
callq 0x20a0
testl %eax, %eax
je 0xef2b
leaq -0x78(%rbp), %rdi
leaq 0x35ca(%rip), %rsi      # 0x11776
callq 0x20a0
testl %eax, %eax
je 0xef50
leaq -0x78(%rbp), %rdi
leaq 0x3465(%rip), %rsi      # 0x11629
callq 0x20a0
testl %eax, %eax
je 0xef50
leaq -0x78(%rbp), %rdi
leaq 0x359d(%rip), %rsi      # 0x11779
callq 0x20a0
testl %eax, %eax
je 0xef9a
leaq -0x78(%rbp), %rdi
leaq 0x3589(%rip), %rsi      # 0x1177d
callq 0x20a0
testl %eax, %eax
je 0xef9a
movl $0x24, %edx
movq 0x6dcb(%rip), %rdi      # 0x14fd8
leaq 0x356d(%rip), %rsi      # 0x11781
callq 0x2210
movl 0x7ddd(%rip), %esi      # 0x15ffc
movq 0x6db2(%rip), %rdi      # 0x14fd8
callq 0x22e0
movq %rax, %rdi
callq 0x20f0
movq %rax, %rdi
callq 0x20f0
movq -0x30(%rbp), %r13
movq %rbx, %r15
jmp 0xd9df
movl 0x7dab(%rip), %ecx      # 0x15ff8
leaq -0x50(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xa236
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %r12
movq -0x40(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
testq %rbx, %rbx
je 0xe2a4
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0xe2a4
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r12, -0x58(%rbp)
subq %r15, %r12
cmpq $0x2, %r12
jb 0xd9df
cmpq $0x3, %r12
ja 0xe39a
movq %r13, -0x30(%rbp)
movq %r15, %rbx
movq %r12, %rdi
callq 0x21c0
cmpq %r15, -0x58(%rbp)
movq %rax, %rbx
je 0xe2e5
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x22c0
movq %rbx, %rcx
addq %r12, %rcx
movq 0x7d16(%rip), %rsi      # 0x16008
leaq 0x7d07(%rip), %rdi      # 0x16000
movq %rbx, %rdx
callq 0x68c6
addl %r12d, 0x7cec(%rip)     # 0x15ff4
addl %r12d, 0x7ce9(%rip)     # 0x15ff8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
jmp 0xd9df
movl 0x7cd2(%rip), %r8d      # 0x15ff8
leaq -0x150(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x1, %ecx
callq 0xa385
movq 0x7cc0(%rip), %rsi      # 0x16008
movq -0x150(%rbp), %rdx
movq -0x148(%rbp), %rcx
leaq 0x7ca3(%rip), %rdi      # 0x16000
callq 0x68c6
movl -0x148(%rbp), %eax
movq -0x150(%rbp), %rdi
subl %edi, %eax
addl %eax, 0x7c7d(%rip)      # 0x15ff4
addl %eax, 0x7c7b(%rip)      # 0x15ff8
testq %rdi, %rdi
je 0xd9d8
movq -0x140(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0xd9d8
leaq -0x98(%rbp), %rdi
movl $0x2c, %esi
xorl %edx, %edx
callq 0x2240
leal 0x1(%rax), %edx
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
leaq -0x98(%rbp), %rsi
callq 0x3b1c
leaq 0x7ca6(%rip), %rdi      # 0x16070
movq %rbx, %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xe3eb
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
movl 0x7c03(%rip), %eax      # 0x15ff4
movl %eax, 0x7c9d(%rip)      # 0x16094
movl 0x7bfb(%rip), %eax      # 0x15ff8
movl %eax, 0x7c8d(%rip)      # 0x16090
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq 0x7c87(%rip), %rdi      # 0x16098
leaq 0x7c58(%rip), %rsi      # 0x16070
callq 0x10496
movq 0x7be4(%rip), %rsi      # 0x16008
movzbl 0x3(%r15), %eax
movq -0x58(%rbp), %rcx
subq %rax, %rcx
leaq 0x7bc9(%rip), %rdi      # 0x16000
movq %r15, %rdx
callq 0x68c6
movzbl 0x3(%r15), %eax
movl %r12d, %ecx
subl %eax, %ecx
addl %ecx, 0x7ba5(%rip)      # 0x15ff4
movzbl 0x3(%r15), %eax
subl %eax, %r12d
addl %r12d, 0x7b9a(%rip)     # 0x15ff8
jmp 0xd9df
movl 0x7b8e(%rip), %r8d      # 0x15ff8
leaq -0x2d0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x2, %ecx
callq 0xa385
leaq -0x2d0(%rbp), %rdi
callq 0xf914
movq -0x2d0(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x2c0(%rbp), %rsi
jmp 0xe38d
movl 0x7b44(%rip), %r8d      # 0x15ff8
leaq -0x2b8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x4, %ecx
callq 0xa385
leaq -0x2b8(%rbp), %rdi
callq 0xf914
movq -0x2b8(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x2a8(%rbp), %rsi
jmp 0xe38d
movl 0x7afb(%rip), %ecx      # 0x15ff8
leaq -0x2a0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xa736
leaq -0x2a0(%rbp), %rdi
callq 0xf914
movq -0x2a0(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x290(%rbp), %rsi
jmp 0xe38d
movl 0x7ab7(%rip), %ecx      # 0x15ff8
leaq -0x288(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xac64
leaq -0x288(%rbp), %rdi
callq 0xf914
movq -0x288(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x278(%rbp), %rsi
jmp 0xe38d
leaq -0x50(%rbp), %rdi
callq 0xb192
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
testq %rbx, %rbx
je 0xe5d0
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0xe5d0
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0x3b1c
leaq 0x7a83(%rip), %rdi      # 0x16070
movq %rbx, %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xe60e
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
movl 0x79e0(%rip), %eax      # 0x15ff4
movl %eax, 0x7a7a(%rip)      # 0x16094
movl 0x79d8(%rip), %eax      # 0x15ff8
movl %eax, 0x7a6a(%rip)      # 0x16090
movq -0x58(%rbp), %r12
subq %r15, %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0x130(%rbp)
movq $0x0, -0x120(%rbp)
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq -0x130(%rbp), %rdi
movq %r12, %rsi
callq 0x1077c
movq -0x130(%rbp), %rbx
cmpq %r15, -0x58(%rbp)
je 0xe673
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x22c0
addq %r12, %rbx
movq %rbx, -0x128(%rbp)
leaq -0x130(%rbp), %rdi
callq 0xf914
movq -0x130(%rbp), %rdi
testq %rdi, %rdi
je 0xe6a4
movq -0x120(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq 0x79fe(%rip), %rdi      # 0x160b0
leaq 0x79b7(%rip), %rsi      # 0x16070
callq 0x10496
jmp 0xd9df
leaq -0x50(%rbp), %rdi
callq 0xb1bc
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
testq %rbx, %rbx
je 0xe714
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0xe714
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
leaq -0x50(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0x3b1c
leaq 0x7942(%rip), %rdi      # 0x16070
leaq -0x50(%rbp), %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xe750
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
movl 0x789e(%rip), %eax      # 0x15ff4
movl %eax, 0x7938(%rip)      # 0x16094
movl 0x7896(%rip), %eax      # 0x15ff8
movl %eax, 0x7928(%rip)      # 0x16090
movq -0x58(%rbp), %r12
subq %r15, %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0x110(%rbp)
movq $0x0, -0x100(%rbp)
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq -0x110(%rbp), %rdi
movq %r12, %rsi
callq 0x1077c
movq -0x110(%rbp), %rbx
cmpq %r15, -0x58(%rbp)
je 0xe7b5
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x22c0
addq %r12, %rbx
movq %rbx, -0x108(%rbp)
leaq -0x110(%rbp), %rdi
callq 0xf914
movq -0x110(%rbp), %rdi
testq %rdi, %rdi
je 0xe7e6
movq -0x100(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq 0x78ec(%rip), %rdi      # 0x160e0
leaq 0x7875(%rip), %rsi      # 0x16070
callq 0x10496
jmp 0xd9df
leaq -0x50(%rbp), %rdi
callq 0xb210
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
testq %rbx, %rbx
je 0xe856
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0xe856
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
leaq -0x50(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0x3b1c
leaq 0x7800(%rip), %rdi      # 0x16070
leaq -0x50(%rbp), %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xe892
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
movl 0x775c(%rip), %eax      # 0x15ff4
movl %eax, 0x77f6(%rip)      # 0x16094
movl 0x7754(%rip), %eax      # 0x15ff8
movl %eax, 0x77e6(%rip)      # 0x16090
movq -0x58(%rbp), %r12
subq %r15, %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0xf0(%rbp)
movq $0x0, -0xe0(%rbp)
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq -0xf0(%rbp), %rdi
movq %r12, %rsi
callq 0x1077c
movq -0xf0(%rbp), %rbx
cmpq %r15, -0x58(%rbp)
je 0xe8f7
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x22c0
addq %r12, %rbx
movq %rbx, -0xe8(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0xf914
movq -0xf0(%rbp), %rdi
testq %rdi, %rdi
je 0xe928
movq -0xe0(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq 0x77da(%rip), %rdi      # 0x16110
leaq 0x7733(%rip), %rsi      # 0x16070
callq 0x10496
jmp 0xd9df
leaq -0x50(%rbp), %rdi
callq 0xb1e6
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
testq %rbx, %rbx
je 0xe998
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0xe998
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
leaq -0x50(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0x3b1c
leaq 0x76be(%rip), %rdi      # 0x16070
leaq -0x50(%rbp), %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xe9d4
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
movl 0x761a(%rip), %eax      # 0x15ff4
movl %eax, 0x76b4(%rip)      # 0x16094
movl 0x7612(%rip), %eax      # 0x15ff8
movl %eax, 0x76a4(%rip)      # 0x16090
movq -0x58(%rbp), %r12
subq %r15, %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0xd0(%rbp)
movq $0x0, -0xc0(%rbp)
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq -0xd0(%rbp), %rdi
movq %r12, %rsi
callq 0x1077c
movq -0xd0(%rbp), %rbx
cmpq %r15, -0x58(%rbp)
je 0xea39
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x22c0
addq %r12, %rbx
movq %rbx, -0xc8(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0xf914
movq -0xd0(%rbp), %rdi
testq %rdi, %rdi
je 0xea6a
movq -0xc0(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq 0x7680(%rip), %rdi      # 0x160f8
leaq 0x75f1(%rip), %rsi      # 0x16070
callq 0x10496
jmp 0xd9df
movl 0x7569(%rip), %ecx      # 0x15ff8
leaq -0x270(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0xe8, %r8d
callq 0xc0cc
leaq -0x270(%rbp), %rdi
callq 0xf914
movq -0x270(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x260(%rbp), %rsi
jmp 0xe38d
movl 0x751f(%rip), %ecx      # 0x15ff8
leaq -0x258(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0xe0, %r8d
callq 0xc0cc
leaq -0x258(%rbp), %rdi
callq 0xf914
movq -0x258(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x248(%rbp), %rsi
jmp 0xe38d
movl 0x74d5(%rip), %ecx      # 0x15ff8
leaq -0x50(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xb23a
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x40(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
testq %rbx, %rbx
je 0xeb81
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0xeb81
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq -0x138(%rbp), %rax
subq %r15, %rax
movq %rax, -0x58(%rbp)
testl %eax, %eax
jle 0xec56
xorps %xmm0, %xmm0
movaps %xmm0, -0xb0(%rbp)
movq $0x0, -0xa0(%rbp)
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq -0xb0(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x1077c
movq -0xb0(%rbp), %rbx
cmpq %r15, -0x138(%rbp)
je 0xebe2
movq %rbx, %rdi
movq %r15, %rsi
movq -0x58(%rbp), %rdx
callq 0x22c0
addq -0x58(%rbp), %rbx
movq %rbx, -0xa8(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0xf914
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0xd9df
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
jmp 0xe315
leaq -0x240(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xb70b
leaq -0x240(%rbp), %rdi
callq 0xf914
movq -0x240(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x230(%rbp), %rsi
jmp 0xe38d
leaq -0x50(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0x3b1c
leaq 0x7400(%rip), %rdi      # 0x16070
leaq -0x50(%rbp), %rsi
callq 0x2230
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xec92
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x21d0
movl 0x7360(%rip), %eax      # 0x15ff8
movl %eax, 0x73f2(%rip)      # 0x16090
movl 0x7350(%rip), %eax      # 0x15ff4
movl %eax, 0x73ea(%rip)      # 0x16094
movq %r13, -0x30(%rbp)
movq %r15, %rbx
leaq 0x7410(%rip), %rdi      # 0x160c8
leaq 0x73b1(%rip), %rsi      # 0x16070
callq 0x10496
movb $0x6a, -0x50(%rbp)
leaq 0x7331(%rip), %rdi      # 0x16000
leaq -0x50(%rbp), %rsi
callq 0x6694
movb $0x0, -0x50(%rbp)
leaq 0x731d(%rip), %rdi      # 0x16000
leaq -0x50(%rbp), %rsi
callq 0x6694
addl $0x2, 0x7305(%rip)      # 0x15ff8
addl $0x2, 0x72fa(%rip)      # 0x15ff4
jmp 0xd9df
movl 0x72f3(%rip), %ecx      # 0x15ff8
leaq -0x228(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xbc33
leaq -0x228(%rbp), %rdi
callq 0xf914
movq -0x228(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x218(%rbp), %rsi
jmp 0xe38d
leaq -0x210(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xcd21
leaq -0x210(%rbp), %rdi
callq 0xf914
movq -0x210(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x200(%rbp), %rsi
jmp 0xe38d
movl 0x7271(%rip), %ecx      # 0x15ff8
leaq -0x1f8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x6f, %r8d
callq 0xc5dd
leaq -0x1f8(%rbp), %rdi
callq 0xf914
movq -0x1f8(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x1e8(%rbp), %rsi
jmp 0xe38d
movl 0x7227(%rip), %ecx      # 0x15ff8
leaq -0x1e0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x78, %r8d
callq 0xc5dd
leaq -0x1e0(%rbp), %rdi
callq 0xf914
movq -0x1e0(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x1d0(%rbp), %rsi
jmp 0xe38d
movl 0x71dd(%rip), %ecx      # 0x15ff8
leaq -0x1c8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x61, %r8d
callq 0xc5dd
leaq -0x1c8(%rbp), %rdi
callq 0xf914
movq -0x1c8(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x1b8(%rbp), %rsi
jmp 0xe38d
leaq -0x1b0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xcaf3
leaq -0x1b0(%rbp), %rdi
callq 0xf914
movq -0x1b0(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x1a0(%rbp), %rsi
jmp 0xe38d
movl 0x7151(%rip), %edx      # 0x15ff4
leaq -0x98(%rbp), %rdi
movl %r12d, %esi
callq 0xa6c3
movl %eax, %edi
xorl %esi, %esi
callq 0xf94f
movq -0x30(%rbp), %r13
movq %rbx, %r15
jmp 0xd9df
movl 0x712b(%rip), %ecx      # 0x15ff8
leaq -0x198(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
callq 0xbb31
leaq -0x198(%rbp), %rdi
callq 0xf914
movq -0x198(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x188(%rbp), %rsi
jmp 0xe38d
movl 0x70e7(%rip), %edx      # 0x15ff8
leaq -0x98(%rbp), %rdi
movl %r12d, %esi
callq 0xa64f
movl %eax, 0x70d2(%rip)      # 0x15ff8
jmp 0xd9d8
movb $-0xc, -0x50(%rbp)
leaq 0x70ca(%rip), %rdi      # 0x16000
leaq -0x50(%rbp), %rsi
callq 0x6694
incl 0x70af(%rip)            # 0x15ff4
incl 0x70ad(%rip)            # 0x15ff8
jmp 0xd9d8
movl 0x70a2(%rip), %ecx      # 0x15ff8
leaq -0x180(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x69, %r8d
callq 0xc33b
leaq -0x180(%rbp), %rdi
callq 0xf914
movq -0x180(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x170(%rbp), %rsi
jmp 0xe38d
movl 0x7058(%rip), %ecx      # 0x15ff8
leaq -0x168(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl %r12d, %edx
movl $0x6f, %r8d
callq 0xc33b
leaq -0x168(%rbp), %rdi
callq 0xf914
movq -0x168(%rbp), %rdi
testq %rdi, %rdi
je 0xd9d8
movq -0x158(%rbp), %rsi
jmp 0xe38d
movq 0x5fed(%rip), %rbx      # 0x14fd8
leaq 0x265a(%rip), %rsi      # 0x1164c
movl $0xf, %edx
movq %rbx, %rdi
callq 0x2210
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq 0x5fbb(%rip), %rdi      # 0x14fd8
callq 0x2040
movq %rax, %rdi
callq 0x2130
jmp 0xf087
leaq -0x4d8(%rbp), %rdi
callq 0x2050
testq %rbx, %rbx
leaq -0x68(%rbp), %r14
je 0xf050
movq -0x30(%rbp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x21d0
movq -0x78(%rbp), %rdi
cmpq %r14, %rdi
je 0xf065
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0xf087
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x4d8(%rbp), %rdi
callq 0x2080
addq $0x4b8, %rsp            # imm = 0x4B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq -0x110(%rbp), %rdi
testq %rdi, %rdi
je 0xf37b
movq -0x100(%rbp), %rsi
jmp 0xf2e6
jmp 0xf378
movq %rax, %r14
movq -0xd0(%rbp), %rdi
testq %rdi, %rdi
je 0xf37b
movq -0xc0(%rbp), %rsi
jmp 0xf2e6
movq %rax, %r14
movq -0xf0(%rbp), %rdi
testq %rdi, %rdi
je 0xf37b
movq -0xe0(%rbp), %rsi
jmp 0xf2e6
jmp 0xf378
jmp 0xf3af
jmp 0xf3af
movq %rax, %r14
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0xf37b
movq -0xa0(%rbp), %rsi
jmp 0xf2e6
movq %rax, %r14
movq -0x258(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x248(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x270(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x260(%rbp), %rsi
jmp 0xf39a
jmp 0xf378
jmp 0xf3af
jmp 0xf378
jmp 0xf378
jmp 0xf378
movq %rax, %r14
movq -0x240(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x230(%rbp), %rsi
jmp 0xf39a
jmp 0xf3af
movq %rax, %r14
movq -0x1c8(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x1b8(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x1e0(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x1d0(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x1f8(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x1e8(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x210(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x200(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x228(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x218(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x180(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x170(%rbp), %rsi
jmp 0xf39a
jmp 0xf3af
movq %rax, %r14
movq -0x198(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x188(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x1b0(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x1a0(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x168(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x158(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x130(%rbp), %rdi
testq %rdi, %rdi
je 0xf37b
movq -0x120(%rbp), %rsi
subq %rdi, %rsi
jmp 0xf371
jmp 0xf378
jmp 0xf3af
movq %rax, %r14
movq -0x288(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x278(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x2a0(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x290(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x2b8(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x2a8(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
movq -0x2d0(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x2c0(%rbp), %rsi
jmp 0xf39a
movq %rax, %r14
jmp 0xf3be
movq %rax, %r14
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
jmp 0xf37b
movq %rax, %r14
movq %r13, -0x30(%rbp)
movq %r15, %rbx
jmp 0xf3b2
movq %rax, %r14
movq -0x150(%rbp), %rdi
testq %rdi, %rdi
je 0xf3b2
movq -0x140(%rbp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0xf3b2
jmp 0xf3af
jmp 0xf3af
jmp 0xf3af
movq %rax, %r14
jmp 0xf407
movq %rax, %r14
testq %rbx, %rbx
je 0xf3cc
movq %rbx, %r15
movq -0x30(%rbp), %r13
subq %r15, %r13
movq %r15, %rdi
movq %r13, %rsi
callq 0x21d0
leaq -0x88(%rbp), %rbx
leaq -0x68(%rbp), %rax
movq -0x78(%rbp), %rdi
cmpq %rax, %rdi
je 0xf3ec
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x21d0
movq -0x98(%rbp), %rdi
cmpq %rbx, %rdi
je 0xf407
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x21d0
leaq -0x4d8(%rbp), %rdi
callq 0x2080
movq %r14, %rdi
callq 0x2300