// File: /workspace/github_cpp_makefile_star2_O3/cjc12[P]ezSTL/src/../include/test.h
// Function: ezSTL::test::test_set_map_efficiency()
void test::test_set_map_efficiency() {
		const int max_number = 5000000;
		std::default_random_engine e((unsigned)time(0));
		std::uniform_int_distribution<unsigned> u(0, max_number);
		std::string cmpstl = "SGI STL";
		//std::string cmpstl = "PJ STL";
		start_info("efficiency of set and map");
		{
			test_info("set   insert");
			std::set<unsigned, less<unsigned>> std_set;
			ezSTL::set<unsigned, less<unsigned>> ezSTL_set;
			begin_timer();
			for (int i = 0; i < max_number; i++)
				ezSTL_set.insert(u(e));
			end_timer("ezSTL::set inserting", max_number);

			begin_timer();
			for (int i = 0; i < max_number; i++)
				std_set.insert(u(e));
			end_timer(cmpstl + "::set inserting", max_number);

			test_info("set   find and erase");
			auto ite1 = ezSTL_set.begin();
			unsigned int erase_count = 0;
			begin_timer();
			for (int i = 0; i < max_number; i++) {
				ite1 = ezSTL_set.find(u(e));
				if (ite1 != ezSTL_set.end()) {
					++erase_count;
					ezSTL_set.erase(ite1);
				}
			}
			end_timer("ezSTL::set finding and erasing", max_number);
			std::cout << "erasing number : " << std::to_string(erase_count) << std::endl;

			auto ite2 = std_set.begin();
			erase_count = 0;
			begin_timer();
			for (int i = 0; i < max_number; i++) {
				ite2 = std_set.find(u(e));
				if (ite2 != std_set.end()) {
					++erase_count;
					std_set.erase(ite2);
				}
			}
			end_timer(cmpstl + "::set finding and erasing", max_number);
			std::cout << "erasing number : " << std::to_string(erase_count) << std::endl;
		}
		{
			test_info("map   insert");
			std::map<unsigned, unsigned> std_map;
			ezSTL::map<unsigned, unsigned> ezSTL_map;
			begin_timer();
			for (int i = 0; i < max_number; i++)
				ezSTL_map.insert(make_pair(u(e), u(e)));
			end_timer("ezSTL::map inserting", max_number);

			begin_timer();
			for (int i = 0; i < max_number; i++)
				std_map.insert(std::make_pair(u(e), u(e)));
			end_timer(cmpstl + "::map inserting", max_number);

			test_info("map   find and erase");
			auto ite1 = ezSTL_map.begin();
			unsigned int erase_count = 0;
			begin_timer();
			for (int i = 0; i < max_number; i++) {
				ite1 = ezSTL_map.find(u(e));
				if (ite1 != ezSTL_map.end()) {
					++erase_count;
					ezSTL_map.erase(ite1);
				}
			}
			end_timer("ezSTL::map finding and erasing", max_number);
			std::cout << "erasing number : " << std::to_string(erase_count) << std::endl;

			auto ite2 = std_map.begin();
			erase_count = 0;
			begin_timer();
			for (int i = 0; i < max_number; i++) {
				ite2 = std_map.find(u(e));
				if (ite2 != std_map.end()) {
					++erase_count;
					std_map.erase(ite2);
				}
			}
			end_timer(cmpstl + "::map finding and erasing", max_number);
			std::cout << "erasing number : " << std::to_string(erase_count) << std::endl;
		}
		finish_info("efficiency of set and map");
		continue_next_test();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
xorl %edi, %edi
callq 0x21b0
movl %eax, %ecx
leaq (%rcx,%rcx,2), %rcx
shrq $0x20, %rcx
movl %eax, %edx
subl %ecx, %edx
shrl %edx
addl %ecx, %edx
shrl $0x1e, %edx
movl %edx, %ecx
shll $0x1f, %ecx
orl %edx, %ecx
leal (%rax,%rcx), %edx
cmpl $0x1, %edx
adcl %eax, %ecx
movq %rcx, 0x20(%rsp)
movabsq $0x4c4b4000000000, %rax # imm = 0x4C4B4000000000
movq %rax, 0x28(%rsp)
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa807(%rip), %rsi      # 0x10689
leaq 0xa807(%rip), %rdx      # 0x10690
leaq 0x48(%rsp), %rdi
callq 0xa4e2
leaq 0x248(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa7eb(%rip), %rsi      # 0x10691
leaq 0xa7fd(%rip), %rdx      # 0x106aa
leaq 0x238(%rsp), %rdi
callq 0xa4e2
leaq 0x238(%rsp), %rdi
callq 0x246c
movq 0x238(%rsp), %rdi
cmpq %r14, %rdi
je 0x5ed9
callq 0x21c0
leaq 0x228(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa7bf(%rip), %rsi      # 0x106ab
leaq 0xa7c4(%rip), %rdx      # 0x106b7
leaq 0x218(%rsp), %rdi
callq 0xa4e2
leaq 0x218(%rsp), %rdi
callq 0x2706
movq 0x218(%rsp), %rdi
cmpq %r14, %rdi
je 0x5f1f
callq 0x21c0
leaq 0x70(%rsp), %rbp
xorl %eax, %eax
movl %eax, (%rbp)
movq %rax, 0x8(%rbp)
movq %rbp, 0x10(%rbp)
movq %rbp, 0x18(%rbp)
movq %rax, 0x20(%rbp)
movl %eax, 0x30(%rsp)
movl $0x28, %edi
callq 0x21f0
leaq 0x30(%rsp), %rbx
movq %rax, 0x8(%rbx)
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
callq 0x2100
movq %rax, 0x10249(%rip)     # 0x161b8
movl $0x4c4b40, %r13d        # imm = 0x4C4B40
leaq 0x20(%rsp), %r14
leaq 0x28(%rsp), %r15
movq %rsp, %r12
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movl %eax, (%rsp)
movq %rbx, %rdi
movq %r12, %rsi
callq 0xb29c
decl %r13d
jne 0x5f82
leaq 0x208(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa702(%rip), %rsi      # 0x106b8
leaq 0xa70f(%rip), %rdx      # 0x106cc
leaq 0x1f8(%rsp), %rdi
callq 0xa4e2
leaq 0x1f8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0x1f8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5fee
callq 0x21c0
callq 0x2100
movq %rax, 0x101be(%rip)     # 0x161b8
movl $0x4c4b40, %r13d        # imm = 0x4C4B40
leaq 0x20(%rsp), %rbx
leaq 0x28(%rsp), %r14
leaq 0x68(%rsp), %r15
movq %rsp, %r12
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0xb51c
movl %eax, (%rsp)
movq %r15, %rdi
movq %r12, %rsi
callq 0xb6a2
decl %r13d
jne 0x6012
leaq 0x108(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0xf8(%rsp), %rdi
callq 0xa44c
leaq 0xa65d(%rip), %rsi      # 0x106bd
leaq 0xf8(%rsp), %rdi
callq 0x2300
leaq 0xf8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x6091
callq 0x21c0
leaq 0x1e8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa629(%rip), %rsi      # 0x106cd
leaq 0xa636(%rip), %rdx      # 0x106e1
leaq 0x1d8(%rsp), %rdi
callq 0xa4e2
leaq 0x1d8(%rsp), %rdi
callq 0x2706
movq 0x1d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x60d7
callq 0x21c0
callq 0x2100
movq %rax, 0x100d5(%rip)     # 0x161b8
xorl %ebx, %ebx
leaq 0x20(%rsp), %r14
leaq 0x28(%rsp), %r15
movq %rsp, %r13
xorl %r12d, %r12d
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movq 0x38(%rsp), %rdx
movq 0x8(%rdx), %rcx
testq %rcx, %rcx
je 0x6142
movl 0x20(%rcx), %edi
movl $0x10, %esi
cmpl %edi, %eax
jb 0x6124
movl $0x18, %esi
jbe 0x612a
movq (%rcx,%rsi), %rcx
jmp 0x610c
cmpq %rdx, %rcx
je 0x6142
movq %rcx, (%rsp)
leaq 0x30(%rsp), %rdi
movq %r13, %rsi
callq 0xb7b0
incl %ebx
incl %r12d
cmpl $0x4c4b40, %r12d        # imm = 0x4C4B40
jne 0x60f5
leaq 0x1c8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa581(%rip), %rsi      # 0x106e2
leaq 0xa598(%rip), %rdx      # 0x10700
leaq 0x1b8(%rsp), %rdi
callq 0xa4e2
leaq 0x1b8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0x1b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x6199
callq 0x21c0
movq 0xfe38(%rip), %rdi      # 0x15fd8
leaq 0xa55a(%rip), %rsi      # 0x10701
movl $0x11, %edx
callq 0x2220
movl $0x1, %eax
cmpl $0xa, %ebx
jb 0x61ff
movl $0x4, %eax
movl $0xd1b71759, %ecx       # imm = 0xD1B71759
movl %ebx, %edx
cmpl $0x63, %edx
jbe 0x61f8
cmpl $0x3e7, %edx            # imm = 0x3E7
jbe 0x61fd
cmpl $0x2710, %edx           # imm = 0x2710
jb 0x61ff
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x2d, %rsi
addl $0x4, %eax
cmpl $0x1869f, %edx          # imm = 0x1869F
movl %esi, %edx
ja 0x61c7
addl $-0x3, %eax
jmp 0x61ff
addl $-0x2, %eax
jmp 0x61ff
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x2240
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %ebx, %edx
callq 0xa1ef
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0xfda5(%rip), %rdi      # 0x15fd8
callq 0x2220
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6275
callq 0x21c0
callq 0x2100
movq %rax, 0xff37(%rip)      # 0x161b8
xorl %ebx, %ebx
leaq 0x20(%rsp), %r14
leaq 0x28(%rsp), %r15
leaq 0x68(%rsp), %r12
xorl %r13d, %r13d
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movq 0x78(%rsp), %r8
testq %r8, %r8
je 0x62ee
movq %rbp, %rsi
movq %rsi, %rcx
movq %r8, %rdx
movl 0x20(%r8), %edi
xorl %r8d, %r8d
cmpl %eax, %edi
setb %r8b
movq %rdx, %rsi
cmovbq %rcx, %rsi
movq 0x10(%rdx,%r8,8), %r8
testq %r8, %r8
jne 0x62b0
cmpq %rbp, %rsi
je 0x62ee
cmpl %eax, %edi
cmovbq %rcx, %rdx
cmpl 0x20(%rdx), %eax
jb 0x62ee
movq %r12, %rdi
callq 0xbade
incl %ebx
incl %r13d
cmpl $0x4c4b40, %r13d        # imm = 0x4C4B40
jne 0x6295
leaq 0xe8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0xd8(%rsp), %rdi
callq 0xa44c
leaq 0xa3c0(%rip), %rsi      # 0x106e7
leaq 0xd8(%rsp), %rdi
callq 0x2300
leaq 0xd8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0xd8(%rsp), %rdi
cmpq %r14, %rdi
je 0x6358
callq 0x21c0
movq 0xfc79(%rip), %rdi      # 0x15fd8
leaq 0xa39b(%rip), %rsi      # 0x10701
movl $0x11, %edx
callq 0x2220
movl $0x1, %eax
cmpl $0xa, %ebx
jb 0x63be
movl $0x4, %eax
movl $0xd1b71759, %ecx       # imm = 0xD1B71759
movl %ebx, %edx
cmpl $0x63, %edx
jbe 0x63b7
cmpl $0x3e7, %edx            # imm = 0x3E7
jbe 0x63bc
cmpl $0x2710, %edx           # imm = 0x2710
jb 0x63be
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x2d, %rsi
addl $0x4, %eax
cmpl $0x1869f, %edx          # imm = 0x1869F
movl %esi, %edx
ja 0x6386
addl $-0x3, %eax
jmp 0x63be
addl $-0x2, %eax
jmp 0x63be
decl %eax
movl %eax, %esi
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
xorl %edx, %edx
callq 0x2240
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %ebx, %edx
callq 0xa1ef
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0xfbe7(%rip), %rdi      # 0x15fd8
callq 0x2220
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6433
callq 0x21c0
leaq 0x30(%rsp), %rdi
callq 0xa2d8
leaq 0x68(%rsp), %rdi
callq 0xa348
leaq 0x1a8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa042(%rip), %rsi      # 0x1049c
leaq 0xa047(%rip), %rdx      # 0x104a8
leaq 0x198(%rsp), %rdi
callq 0xa4e2
leaq 0x198(%rsp), %rdi
callq 0x2706
movq 0x198(%rsp), %rdi
cmpq %r14, %rdi
je 0x648d
callq 0x21c0
leaq 0x70(%rsp), %rcx
xorl %eax, %eax
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
movl %eax, 0x30(%rsp)
movl $0x28, %edi
callq 0x21f0
leaq 0x30(%rsp), %rbx
movq %rax, 0x8(%rbx)
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
callq 0x2100
movq %rax, 0xfcdc(%rip)      # 0x161b8
movl $0x4c4b40, %r13d        # imm = 0x4C4B40
leaq 0x20(%rsp), %r14
leaq 0x28(%rsp), %r15
movq %rsp, %r12
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movl %eax, %ebp
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movl %ebp, (%rsp)
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r12, %rsi
callq 0xbb16
decl %r13d
jne 0x64ef
leaq 0x188(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa1dc(%rip), %rsi      # 0x10713
leaq 0xa1e9(%rip), %rdx      # 0x10727
leaq 0x178(%rsp), %rdi
callq 0xa4e2
leaq 0x178(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0x178(%rsp), %rdi
cmpq %r14, %rdi
je 0x656f
callq 0x21c0
callq 0x2100
movq %rax, 0xfc3d(%rip)      # 0x161b8
movl $0x4c4b40, %r13d        # imm = 0x4C4B40
leaq 0x20(%rsp), %rbx
leaq 0x28(%rsp), %r14
leaq 0x68(%rsp), %r15
movq %rsp, %r12
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0xb51c
movl %eax, %ebp
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0xb51c
shlq $0x20, %rax
movl %ebp, %ecx
orq %rax, %rcx
movq %rcx, (%rsp)
movq %r15, %rdi
movq %r12, %rsi
callq 0xbdaa
decl %r13d
jne 0x6593
leaq 0xc8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0xb8(%rsp), %rdi
callq 0xa44c
leaq 0xa11d(%rip), %rsi      # 0x10718
leaq 0xb8(%rsp), %rdi
callq 0x2300
leaq 0xb8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0xb8(%rsp), %rdi
cmpq %r14, %rdi
je 0x662c
callq 0x21c0
leaq 0x168(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa0e9(%rip), %rsi      # 0x10728
leaq 0xa0f6(%rip), %rdx      # 0x1073c
leaq 0x158(%rsp), %rdi
callq 0xa4e2
leaq 0x158(%rsp), %rdi
callq 0x2706
movq 0x158(%rsp), %rdi
cmpq %r14, %rdi
je 0x6672
callq 0x21c0
callq 0x2100
movq %rax, 0xfb3a(%rip)      # 0x161b8
xorl %r12d, %r12d
leaq 0x20(%rsp), %r14
leaq 0x28(%rsp), %r15
leaq 0x30(%rsp), %r13
movq %rsp, %rbp
xorl %ebx, %ebx
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movq 0x38(%rsp), %rdx
movq 0x8(%rdx), %rcx
testq %rcx, %rcx
je 0x66e0
movl 0x20(%rcx), %edi
movl $0x10, %esi
cmpl %edi, %eax
jb 0x66c4
movl $0x18, %esi
jbe 0x66ca
movq (%rcx,%rsi), %rcx
jmp 0x66ac
cmpq %rdx, %rcx
je 0x66e0
movq %rcx, (%rsp)
movq %r13, %rdi
movq %rbp, %rsi
callq 0xbede
incl %ebx
incl %r12d
cmpl $0x4c4b40, %r12d        # imm = 0x4C4B40
jne 0x6695
leaq 0x148(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa03e(%rip), %rsi      # 0x1073d
leaq 0xa055(%rip), %rdx      # 0x1075b
leaq 0x138(%rsp), %rdi
callq 0xa4e2
leaq 0x138(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0x138(%rsp), %rdi
cmpq %r14, %rdi
je 0x6737
callq 0x21c0
movq 0xf89a(%rip), %rdi      # 0x15fd8
leaq 0x9fbc(%rip), %rsi      # 0x10701
movl $0x11, %edx
callq 0x2220
movl $0x1, %eax
cmpl $0xa, %ebx
jb 0x679d
movl $0x4, %eax
movl $0xd1b71759, %ecx       # imm = 0xD1B71759
movl %ebx, %edx
cmpl $0x63, %edx
jbe 0x6796
cmpl $0x3e7, %edx            # imm = 0x3E7
jbe 0x679b
cmpl $0x2710, %edx           # imm = 0x2710
jb 0x679d
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x2d, %rsi
addl $0x4, %eax
cmpl $0x1869f, %edx          # imm = 0x1869F
movl %esi, %edx
ja 0x6765
addl $-0x3, %eax
jmp 0x679d
addl $-0x2, %eax
jmp 0x679d
decl %eax
movl %eax, %esi
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
xorl %edx, %edx
callq 0x2240
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %ebx, %edx
callq 0xa1ef
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0xf808(%rip), %rdi      # 0x15fd8
callq 0x2220
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6812
callq 0x21c0
callq 0x2100
movq %rax, 0xf99a(%rip)      # 0x161b8
xorl %ebp, %ebp
leaq 0x20(%rsp), %r14
leaq 0x28(%rsp), %r15
leaq 0x68(%rsp), %r12
xorl %ebx, %ebx
movq %r15, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xb51c
movq 0x78(%rsp), %r8
testq %r8, %r8
je 0x6891
leaq 0x70(%rsp), %rsi
movq %rsi, %rcx
movq %r8, %rdx
movl 0x20(%r8), %edi
xorl %r8d, %r8d
cmpl %eax, %edi
setb %r8b
movq %rdx, %rsi
cmovbq %rcx, %rsi
movq 0x10(%rdx,%r8,8), %r8
testq %r8, %r8
jne 0x684e
leaq 0x70(%rsp), %r8
cmpq %r8, %rsi
je 0x6891
cmpl %eax, %edi
cmovbq %rcx, %rdx
cmpl 0x20(%rdx), %eax
jb 0x6891
movq %r12, %rdi
callq 0xc20c
incl %ebx
incl %ebp
cmpl $0x4c4b40, %ebp         # imm = 0x4C4B40
jne 0x6831
leaq 0xa8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rdi
callq 0xa44c
leaq 0x9e7a(%rip), %rsi      # 0x10742
leaq 0x98(%rsp), %rdi
callq 0x2300
leaq 0x98(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27d6
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x68f9
callq 0x21c0
movq 0xf6d8(%rip), %rdi      # 0x15fd8
leaq 0x9dfa(%rip), %rsi      # 0x10701
movl $0x11, %edx
callq 0x2220
movl $0x1, %eax
cmpl $0xa, %ebx
jb 0x695f
movl $0x4, %eax
movl $0xd1b71759, %ecx       # imm = 0xD1B71759
movl %ebx, %edx
cmpl $0x63, %edx
jbe 0x6958
cmpl $0x3e7, %edx            # imm = 0x3E7
jbe 0x695d
cmpl $0x2710, %edx           # imm = 0x2710
jb 0x695f
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x2d, %rsi
addl $0x4, %eax
cmpl $0x1869f, %edx          # imm = 0x1869F
movl %esi, %edx
ja 0x6927
addl $-0x3, %eax
jmp 0x695f
addl $-0x2, %eax
jmp 0x695f
decl %eax
movl %eax, %esi
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
xorl %edx, %edx
callq 0x2240
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %ebx, %edx
callq 0xa1ef
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0xf646(%rip), %rdi      # 0x15fd8
callq 0x2220
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x69d4
callq 0x21c0
leaq 0x30(%rsp), %rdi
callq 0xa392
leaq 0x68(%rsp), %rdi
callq 0xa402
leaq 0x128(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x9c96(%rip), %rsi      # 0x10691
leaq 0x9ca8(%rip), %rdx      # 0x106aa
leaq 0x118(%rsp), %rdi
callq 0xa4e2
leaq 0x118(%rsp), %rdi
callq 0x2650
movq 0x118(%rsp), %rdi
cmpq %r14, %rdi
je 0x6a2e
callq 0x21c0
callq 0x277c
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x6a47
callq 0x21c0
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6bb3
movq %rax, %rbx
movq 0x118(%rsp), %rdi
jmp 0x6ba0
jmp 0x6bb3
jmp 0x6c59
jmp 0x6c09
jmp 0x6a7f
movq %rax, %rbx
movq 0x98(%rsp), %rdi
jmp 0x6ad9
jmp 0x6c09
jmp 0x6c09
movq %rax, %rbx
movq 0x138(%rsp), %rdi
jmp 0x6ad9
jmp 0x6c09
movq %rax, %rbx
movq 0x158(%rsp), %rdi
jmp 0x6ad9
jmp 0x6c09
jmp 0x6abc
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
jmp 0x6ad9
jmp 0x6c09
movq %rax, %rbx
movq 0x178(%rsp), %rdi
cmpq %r14, %rdi
jne 0x6bd2
jmp 0x6c0c
jmp 0x6c09
movq %rax, %rbx
jmp 0x6c16
movq %rax, %rbx
movq 0x198(%rsp), %rdi
jmp 0x6ba0
jmp 0x6bb3
jmp 0x6c59
jmp 0x6c24
jmp 0x6b15
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
jmp 0x6b6f
jmp 0x6c24
jmp 0x6c24
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
jmp 0x6b6f
jmp 0x6c24
movq %rax, %rbx
movq 0x1d8(%rsp), %rdi
jmp 0x6b6f
jmp 0x6c24
jmp 0x6b52
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
jmp 0x6b6f
jmp 0x6c24
movq %rax, %rbx
movq 0x1f8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x6bec
jmp 0x6c27
jmp 0x6c24
movq %rax, %rbx
jmp 0x6c31
movq %rax, %rbx
movq 0x218(%rsp), %rdi
jmp 0x6ba0
jmp 0x6bb3
movq %rax, %rbx
movq 0x238(%rsp), %rdi
cmpq %r14, %rdi
je 0x6c3b
callq 0x21c0
jmp 0x6c3b
movq %rax, %rbx
jmp 0x6c3b
jmp 0x6c09
jmp 0x6c24
jmp 0x6bc1
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6c0c
callq 0x21c0
jmp 0x6c0c
jmp 0x6bdb
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6c27
callq 0x21c0
jmp 0x6c27
jmp 0x6c09
jmp 0x6c24
jmp 0x6c09
jmp 0x6c24
jmp 0x6c09
jmp 0x6c09
jmp 0x6c09
jmp 0x6c09
jmp 0x6c24
jmp 0x6c24
jmp 0x6c09
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xa392
leaq 0x68(%rsp), %rdi
callq 0xa402
jmp 0x6c3b
jmp 0x6c24
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xa2d8
leaq 0x68(%rsp), %rdi
callq 0xa348
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x6c4f
callq 0x21c0
movq %rbx, %rdi
callq 0x22e0
jmp 0x6c59
movq %rax, %rdi
callq 0xa290
nop