// File: /workspace/github_cpp_makefile_star2_O1/iZhangHui[P]CppPrimer/CH13_CopyControl/examples/FolderMain.cc
// Function: main
int main()
{
	string s1("contents1");
	string s2("contents2");
	string s3("contents3");
	string s4("contents4");
	string s5("contents5");
	string s6("contents6");

	// all new messages, no copies yet
	Message m1(s1);
	Message m2(s2);
	Message m3(s3);
	Message m4(s4);
	Message m5(s5);
	Message m6(s6);

	Folder f1;
	Folder f2;

	m1.save(f1); m3.save(f1); m5.save(f1);
	m1.save(f2);
	m2.save(f2); m4.save(f2); m6.save(f2);

	m1.debug_print();
	f2.debug_print();

	// create some copies
	Message c1(m1);
	Message c2(m2), c4(m4), c6(m6);

	m1.debug_print();
	f2.debug_print();

	// now some assignments
	m2 = m3;
	m4 = m5;
	m6 = m3;
	m1 = m5;

	m1.debug_print();
	f2.debug_print();

	// finally, self-assignment
	m2 = m2;
	m1 = m1;

	m1.debug_print();
	f2.debug_print();

	vector<Message> vm;
	cout << "capacity: " << vm.capacity() << endl;
	vm.push_back(m1);

	cout << "capacity: " << vm.capacity() << endl;
	vm.push_back(m2);

	cout << "capacity: " << vm.capacity() << endl;
	vm.push_back(m3);

	cout << "capacity: " << vm.capacity() << endl;
	vm.push_back(m4);

	cout << "capacity: " << vm.capacity() << endl;
	vm.push_back(m5);

	cout << "capacity: " << vm.capacity() << endl;
	vm.push_back(m6);

	vector<Folder> vf;
	cout << "capacity: " << vf.capacity() << endl;
	vf.push_back(f1);

	cout << "capacity: " << vf.capacity() << endl;
	vf.push_back(f2);

	cout << "capacity: " << vf.capacity() << endl;
	vf.push_back(Folder(f1));

	cout << "capacity: " << vf.capacity() << endl;
	vf.push_back(Folder(f2));

	cout << "capacity: " << vf.capacity() << endl;
	vf.push_back(Folder());

	Folder f3;
	f3.save(m6);
	cout << "capacity: " << vf.capacity() << endl;
	vf.push_back(f3);


	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4a8, %rsp            # imm = 0x4A8
leaq -0x170(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2036(%rip), %rsi      # 0x611c
leaq 0x2038(%rip), %rdx      # 0x6125
leaq -0x180(%rbp), %rdi
callq 0x4fc8
leaq -0x150(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x201b(%rip), %rsi      # 0x6126
leaq 0x201d(%rip), %rdx      # 0x612f
leaq -0x160(%rbp), %rdi
callq 0x4fc8
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2000(%rip), %rsi      # 0x6130
leaq 0x2002(%rip), %rdx      # 0x6139
leaq -0x110(%rbp), %rdi
callq 0x4fc8
leaq -0xe0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x1fe5(%rip), %rsi      # 0x613a
leaq 0x1fe7(%rip), %rdx      # 0x6143
leaq -0xf0(%rbp), %rdi
callq 0x4fc8
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x1fca(%rip), %rsi      # 0x6144
leaq 0x1fcc(%rip), %rdx      # 0x614d
leaq -0xd0(%rbp), %rdi
callq 0x4fc8
leaq -0xa0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x1faf(%rip), %rsi      # 0x614e
leaq 0x1fb1(%rip), %rdx      # 0x6157
leaq -0xb0(%rbp), %rdi
callq 0x4fc8
leaq -0x1c0(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1d0(%rbp), %rdi
callq 0x3ba2
leaq -0x1a8(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x290(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x3ba2
leaq -0x278(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x380(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x390(%rbp), %rdi
callq 0x3ba2
leaq -0x368(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x330(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x340(%rbp), %rdi
callq 0x3ba2
leaq -0x318(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x2e0(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f0(%rbp), %rdi
callq 0x3ba2
leaq -0x2c8(%rbp), %rax
movl $0x0, (%rax)
xorl %ebx, %ebx
movq %rbx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rbx, 0x20(%rax)
leaq -0x240(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x250(%rbp), %rdi
callq 0x3ba2
leaq -0x228(%rbp), %rax
movl %ebx, (%rax)
movq %rbx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rbx, 0x20(%rax)
leaq -0x1f8(%rbp), %rax
movl %ebx, (%rax)
movq %rbx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rbx, 0x20(%rax)
leaq -0x138(%rbp), %rax
movl %ebx, (%rax)
movq %rbx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rbx, 0x20(%rax)
leaq -0x1d0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x2bee
leaq -0x390(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x2bee
leaq -0x2f0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x2bee
leaq -0x1d0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x2bee
leaq -0x2a0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x2bee
leaq -0x340(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x2bee
leaq -0x250(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x2bee
leaq -0x1d0(%rbp), %rdi
callq 0x2df6
leaq -0x140(%rbp), %rdi
callq 0x2cbe
leaq -0x4d0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x27e8
leaq -0x480(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x27e8
leaq -0x430(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x27e8
leaq -0x3e0(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x27e8
leaq -0x1d0(%rbp), %rdi
callq 0x2df6
leaq -0x140(%rbp), %rdi
callq 0x2cbe
leaq -0x2a0(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x29a8
leaq -0x340(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x29a8
leaq -0x250(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x29a8
leaq -0x1d0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x29a8
leaq -0x1d0(%rbp), %rdi
callq 0x2df6
leaq -0x140(%rbp), %rdi
callq 0x2cbe
leaq -0x2a0(%rbp), %rdi
movq %rdi, %rsi
callq 0x29a8
leaq -0x1d0(%rbp), %rdi
movq %rdi, %rsi
callq 0x29a8
leaq -0x1d0(%rbp), %rdi
callq 0x2df6
leaq -0x140(%rbp), %rdi
callq 0x2cbe
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
movq $0x0, -0x50(%rbp)
movq 0x4a97(%rip), %rdi      # 0x8fd0
leaq 0x1c18(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x50(%rbp), %rsi
subq -0x60(%rbp), %rsi
sarq $0x4, %rsi
movabsq $-0x3333333333333333, %r12 # imm = 0xCCCCCCCCCCCCCCCD
imulq %r12, %rsi
movq 0x4a65(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x4eb0
movq 0x4a1f(%rip), %rdi      # 0x8fd0
leaq 0x1ba0(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x50(%rbp), %rsi
subq -0x60(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x49f7(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x4eb0
movq 0x49b1(%rip), %rdi      # 0x8fd0
leaq 0x1b32(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x50(%rbp), %rsi
subq -0x60(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x4989(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x4eb0
movq 0x4943(%rip), %rdi      # 0x8fd0
leaq 0x1ac4(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x50(%rbp), %rsi
subq -0x60(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x491b(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x4eb0
movq 0x48d5(%rip), %rdi      # 0x8fd0
leaq 0x1a56(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x50(%rbp), %rsi
subq -0x60(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x48ad(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x4eb0
movq 0x4867(%rip), %rdi      # 0x8fd0
leaq 0x19e8(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x50(%rbp), %rsi
subq -0x60(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x483f(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x4eb0
xorps %xmm0, %xmm0
movaps %xmm0, -0x40(%rbp)
movq $0x0, -0x30(%rbp)
movq 0x47ea(%rip), %rdi      # 0x8fd0
leaq 0x196b(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x30(%rbp), %rsi
subq -0x40(%rbp), %rsi
sarq $0x4, %rsi
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r12, %rsi
movq 0x47b8(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x40(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x4eec
movq 0x4772(%rip), %rdi      # 0x8fd0
leaq 0x18f3(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x30(%rbp), %rsi
subq -0x40(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x474a(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x40(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x4eec
movq 0x4704(%rip), %rdi      # 0x8fd0
leaq 0x1885(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x30(%rbp), %rsi
subq -0x40(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x46dc(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x90(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x2a82
leaq -0x40(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x556e
leaq -0x90(%rbp), %rdi
callq 0x2b50
movq 0x4677(%rip), %rdi      # 0x8fd0
leaq 0x17f8(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x30(%rbp), %rsi
subq -0x40(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x464f(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x90(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x2a82
leaq -0x40(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x556e
leaq -0x90(%rbp), %rdi
callq 0x2b50
movq 0x45ea(%rip), %rdi      # 0x8fd0
leaq 0x176b(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x30(%rbp), %rsi
subq -0x40(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x45c2(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x88(%rbp), %r13
xorps %xmm0, %xmm0
movaps %xmm0, 0x8(%r13)
movaps %xmm0, 0x18(%r13)
movaps %xmm0, -0x8(%r13)
movq %r13, 0x10(%r13)
movq %r13, 0x18(%r13)
movq $0x0, 0x20(%r13)
leaq -0x40(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x556e
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
callq 0x2b50
movl $0x0, 0x8(%rbx)
xorl %eax, %eax
movq %rax, 0x10(%rbx)
movq %r13, 0x18(%rbx)
movq %r13, 0x20(%rbx)
movq %rax, 0x28(%rbx)
leaq -0x90(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x2c2c
movq 0x4518(%rip), %rdi      # 0x8fd0
leaq 0x1699(%rip), %rsi      # 0x6158
movl $0xa, %edx
callq 0x2160
movq -0x30(%rbp), %rsi
subq -0x40(%rbp), %rsi
sarq $0x4, %rsi
imulq %r12, %rsi
movq 0x44f0(%rip), %rdi      # 0x8fd0
callq 0x20b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq -0x40(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4eec
leaq -0x90(%rbp), %rdi
callq 0x2b50
leaq -0x40(%rbp), %rdi
callq 0x4f28
leaq -0x60(%rbp), %rdi
callq 0x4f78
leaq -0x3e0(%rbp), %rdi
callq 0x29e6
leaq -0x430(%rbp), %rdi
callq 0x29e6
leaq -0x480(%rbp), %rdi
callq 0x29e6
leaq -0x4d0(%rbp), %rdi
callq 0x29e6
leaq -0x140(%rbp), %rdi
callq 0x2b50
leaq -0x200(%rbp), %rdi
callq 0x2b50
leaq -0x250(%rbp), %rdi
callq 0x29e6
leaq -0x2f0(%rbp), %rdi
callq 0x29e6
leaq -0x340(%rbp), %rdi
callq 0x29e6
leaq -0x390(%rbp), %rdi
callq 0x29e6
leaq -0x2a0(%rbp), %rdi
callq 0x29e6
leaq -0x1d0(%rbp), %rdi
callq 0x29e6
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x4bef
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x4c11
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x4c33
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x4c55
movq -0x100(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0x160(%rbp), %rdi
cmpq %r15, %rdi
je 0x4c70
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0x180(%rbp), %rdi
cmpq %r14, %rdi
je 0x4c8b
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x2140
xorl %eax, %eax
addq $0x4a8, %rsp            # imm = 0x4A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4d24
jmp 0x4d24
jmp 0x4d3f
jmp 0x4d24
jmp 0x4d3f
movq %rax, %rbx
jmp 0x4d65
movq %rax, %rbx
jmp 0x4d71
movq %rax, %rbx
jmp 0x4d7d
jmp 0x4d35
movq %rax, %rbx
jmp 0x4dad
movq %rax, %rbx
jmp 0x4db9
movq %rax, %rbx
jmp 0x4dc5
movq %rax, %rbx
jmp 0x4dd1
movq %rax, %rbx
jmp 0x4ddd
movq %rax, %rbx
jmp 0x4de9
movq %rax, %rbx
jmp 0x4e0b
movq %rax, %rbx
jmp 0x4e2d
movq %rax, %rbx
jmp 0x4e4f
movq %rax, %rbx
jmp 0x4e71
movq %rax, %rbx
jmp 0x4e8c
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x2b50
jmp 0x4d42
movq %rax, %rbx
jmp 0x4d89
movq %rax, %rbx
jmp 0x4d59
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x4f28
jmp 0x4d50
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4f78
leaq -0x3e0(%rbp), %rdi
callq 0x29e6
leaq -0x430(%rbp), %rdi
callq 0x29e6
leaq -0x480(%rbp), %rdi
callq 0x29e6
leaq -0x4d0(%rbp), %rdi
callq 0x29e6
leaq -0x140(%rbp), %rdi
callq 0x2b50
leaq -0x200(%rbp), %rdi
callq 0x2b50
leaq -0x250(%rbp), %rdi
callq 0x29e6
leaq -0x2f0(%rbp), %rdi
callq 0x29e6
leaq -0x340(%rbp), %rdi
callq 0x29e6
leaq -0x390(%rbp), %rdi
callq 0x29e6
leaq -0x2a0(%rbp), %rdi
callq 0x29e6
leaq -0x1d0(%rbp), %rdi
callq 0x29e6
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x4e0b
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x4e2d
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x4e4f
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x4e71
movq -0x100(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0x160(%rbp), %rdi
cmpq %r15, %rdi
je 0x4e8c
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x2140
movq -0x180(%rbp), %rdi
cmpq %r14, %rdi
je 0x4ea7
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x2140
movq %rbx, %rdi
callq 0x21d0
nop