// File: 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:
subq $0x5c8, %rsp            # imm = 0x5C8
movl $0x4c4b40, 0x5c4(%rsp) # imm = 0x4C4B40
xorl %eax, %eax
movl %eax, 0x124(%rsp)
movl %eax, %edi
callq 0x21f0
movl %eax, %eax
movl %eax, %esi
leaq 0x5b8(%rsp), %rdi
callq 0xefe0
movl 0x124(%rsp), %esi
leaq 0x5b0(%rsp), %rdi
movl $0x4c4b40, %edx         # imm = 0x4C4B40
callq 0xf010
leaq 0x58f(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x2330
movq 0x128(%rsp), %rdx
leaq 0x1ebf1(%rip), %rsi     # 0x26671
leaq 0x590(%rsp), %rdi
callq 0x2290
jmp 0x7a8f
leaq 0x58f(%rsp), %rdi
callq 0x2260
leaq 0x557(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0x2330
movq 0x118(%rsp), %rdx
leaq 0x1ebb9(%rip), %rsi     # 0x26679
leaq 0x558(%rsp), %rdi
callq 0x2290
jmp 0x7acf
leaq 0x558(%rsp), %rdi
callq 0x24e0
jmp 0x7ade
leaq 0x558(%rsp), %rdi
callq 0x2130
leaq 0x557(%rsp), %rdi
callq 0x2260
leaq 0x52f(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0x2330
movq 0x110(%rsp), %rdx
leaq 0x1eb77(%rip), %rsi     # 0x26693
leaq 0x530(%rsp), %rdi
callq 0x2290
jmp 0x7b2b
leaq 0x530(%rsp), %rdi
callq 0x2730
jmp 0x7b3a
leaq 0x530(%rsp), %rdi
callq 0x2130
leaq 0x52f(%rsp), %rdi
callq 0x2260
leaq 0x4f8(%rsp), %rdi
callq 0xf040
leaq 0x4e0(%rsp), %rdi
callq 0xf050
jmp 0x7b70
callq 0x27b0
movl $0x0, 0x4dc(%rsp)
cmpl $0x4c4b40, 0x4dc(%rsp) # imm = 0x4C4B40
jge 0x7cd3
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x10c(%rsp)
jmp 0x7baf
movl 0x10c(%rsp), %eax
movl %eax, 0x4d8(%rsp)
leaq 0x4e0(%rsp), %rdi
leaq 0x4d8(%rsp), %rsi
callq 0xf060
jmp 0x7bd4
jmp 0x7bd6
movl 0x4dc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4dc(%rsp)
jmp 0x7b80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x58f(%rsp), %rdi
callq 0x2260
jmp 0x8e14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x7c46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x558(%rsp), %rdi
callq 0x2130
leaq 0x557(%rsp), %rdi
callq 0x2260
jmp 0x8e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x7c8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x530(%rsp), %rdi
callq 0x2130
leaq 0x52f(%rsp), %rdi
callq 0x2260
jmp 0x8e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x855b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x854e
leaq 0x4b7(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x2330
movq 0x100(%rsp), %rdx
leaq 0x1e9a9(%rip), %rsi     # 0x266a0
leaq 0x4b8(%rsp), %rdi
callq 0x2290
jmp 0x7d06
leaq 0x4b8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x7d1a
leaq 0x4b8(%rsp), %rdi
callq 0x2130
leaq 0x4b7(%rsp), %rdi
callq 0x2260
callq 0x27b0
movl $0x0, 0x4b0(%rsp)
cmpl $0x4c4b40, 0x4b0(%rsp) # imm = 0x4C4B40
jge 0x7e24
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0xfc(%rsp)
jmp 0x7d73
movl 0xfc(%rsp), %eax
movl %eax, 0x4ac(%rsp)
leaq 0x4f8(%rsp), %rdi
leaq 0x4ac(%rsp), %rsi
callq 0xf0c0
movb %dl, 0xef(%rsp)
movq %rax, 0xf0(%rsp)
jmp 0x7da7
movb 0xef(%rsp), %al
movq 0xf0(%rsp), %rcx
movq %rcx, 0x498(%rsp)
movb %al, 0x4a0(%rsp)
movl 0x4b0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4b0(%rsp)
jmp 0x7d44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x7e12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x4b8(%rsp), %rdi
callq 0x2130
leaq 0x4b7(%rsp), %rdi
callq 0x2260
jmp 0x854e
leaq 0x1e87a(%rip), %rdx     # 0x266a5
leaq 0x478(%rsp), %rdi
leaq 0x590(%rsp), %rsi
callq 0xf120
jmp 0x7e42
leaq 0x478(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x7e56
leaq 0x478(%rsp), %rdi
callq 0x2130
leaq 0x457(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x2330
movq 0xe0(%rsp), %rdx
leaq 0x1e82e(%rip), %rsi     # 0x266b5
leaq 0x458(%rsp), %rdi
callq 0x2290
jmp 0x7e96
leaq 0x458(%rsp), %rdi
callq 0x2730
jmp 0x7ea5
leaq 0x458(%rsp), %rdi
callq 0x2130
leaq 0x457(%rsp), %rdi
callq 0x2260
leaq 0x448(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
callq 0xf1b0
jmp 0x7ed6
movl $0x0, 0x444(%rsp)
callq 0x27b0
movl $0x0, 0x440(%rsp)
cmpl $0x4c4b40, 0x440(%rsp) # imm = 0x4C4B40
jge 0x8070
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0xdc(%rsp)
jmp 0x7f20
movl 0xdc(%rsp), %eax
movl %eax, 0x434(%rsp)
leaq 0x438(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
leaq 0x434(%rsp), %rdx
callq 0xf1e0
jmp 0x7f4d
leaq 0x448(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0xf220
jmp 0x7f64
leaq 0x428(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
callq 0xf280
jmp 0x7f7b
leaq 0x448(%rsp), %rdi
leaq 0x428(%rsp), %rsi
callq 0xf260
movb %al, 0xdb(%rsp)
jmp 0x7f99
movb 0xdb(%rsp), %al
testb $0x1, %al
jne 0x7fa9
jmp 0x8058
movl 0x444(%rsp), %eax
incl %eax
movl %eax, 0x444(%rsp)
leaq 0x420(%rsp), %rdi
leaq 0x448(%rsp), %rsi
callq 0xf2f0
jmp 0x7fd0
leaq 0x4e0(%rsp), %rdi
leaq 0x420(%rsp), %rsi
callq 0xf2b0
jmp 0x7fe7
jmp 0x8058
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x478(%rsp), %rdi
callq 0x2130
jmp 0x854e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8046
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x458(%rsp), %rdi
callq 0x2130
leaq 0x457(%rsp), %rdi
callq 0x2260
jmp 0x854e
jmp 0x805a
movl 0x440(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x440(%rsp)
jmp 0x7ef1
leaq 0x3ff(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x2330
movq 0xd0(%rsp), %rdx
leaq 0x1e636(%rip), %rsi     # 0x266ca
leaq 0x400(%rsp), %rdi
callq 0x2290
jmp 0x80a3
leaq 0x400(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x80b7
leaq 0x400(%rsp), %rdi
callq 0x2130
leaq 0x3ff(%rsp), %rdi
callq 0x2260
movq 0x28f00(%rip), %rdi     # 0x30fd8
leaq 0x1e60a(%rip), %rsi     # 0x266e9
callq 0x2220
movq %rax, 0xc8(%rsp)
jmp 0x80ee
movl 0x444(%rsp), %esi
leaq 0x3d8(%rsp), %rdi
callq 0xf310
jmp 0x8104
movq 0xc8(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0x21e0
movq %rax, 0xc0(%rsp)
jmp 0x8123
movq 0xc0(%rsp), %rdi
movq 0x28e96(%rip), %rsi     # 0x30fc8
callq 0x2250
jmp 0x8139
leaq 0x3d8(%rsp), %rdi
callq 0x2130
leaq 0x4f8(%rsp), %rdi
callq 0xf410
movq %rax, 0x3d0(%rsp)
movl $0x0, 0x444(%rsp)
callq 0x27b0
movl $0x0, 0x3cc(%rsp)
cmpl $0x4c4b40, 0x3cc(%rsp) # imm = 0x4C4B40
jge 0x82fd
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0xbc(%rsp)
jmp 0x81a5
movl 0xbc(%rsp), %eax
movl %eax, 0x3bc(%rsp)
leaq 0x4f8(%rsp), %rdi
leaq 0x3bc(%rsp), %rsi
callq 0xf440
movq %rax, 0xb0(%rsp)
jmp 0x81d2
movq 0xb0(%rsp), %rax
movq %rax, 0x3c0(%rsp)
movq 0x3c0(%rsp), %rax
movq %rax, 0x3d0(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0xf4a0
movq %rax, 0x3b0(%rsp)
leaq 0x3d0(%rsp), %rdi
leaq 0x3b0(%rsp), %rsi
callq 0xf480
testb $0x1, %al
jne 0x8225
jmp 0x82e5
movl 0x444(%rsp), %eax
incl %eax
movl %eax, 0x444(%rsp)
movq 0x3d0(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movq 0x3a8(%rsp), %rsi
leaq 0x4f8(%rsp), %rdi
callq 0xf4d0
movq %rax, 0xa8(%rsp)
jmp 0x8264
movq 0xa8(%rsp), %rax
movq %rax, 0x3a0(%rsp)
jmp 0x82e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x82ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x400(%rsp), %rdi
callq 0x2130
leaq 0x3ff(%rsp), %rdi
callq 0x2260
jmp 0x854e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x3d8(%rsp), %rdi
callq 0x2130
jmp 0x854e
jmp 0x82e7
movl 0x3cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3cc(%rsp)
jmp 0x8176
leaq 0x1e3cb(%rip), %rdx     # 0x266cf
leaq 0x380(%rsp), %rdi
leaq 0x590(%rsp), %rsi
callq 0xf120
jmp 0x831b
leaq 0x380(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x832f
leaq 0x380(%rsp), %rdi
callq 0x2130
movq 0x28c95(%rip), %rdi     # 0x30fd8
leaq 0x1e39f(%rip), %rsi     # 0x266e9
callq 0x2220
movq %rax, 0xa0(%rsp)
jmp 0x8359
movl 0x444(%rsp), %esi
leaq 0x360(%rsp), %rdi
callq 0xf310
jmp 0x836f
movq 0xa0(%rsp), %rdi
leaq 0x360(%rsp), %rsi
callq 0x21e0
movq %rax, 0x98(%rsp)
jmp 0x838e
movq 0x98(%rsp), %rdi
movq 0x28c2b(%rip), %rsi     # 0x30fc8
callq 0x2250
jmp 0x83a4
leaq 0x360(%rsp), %rdi
callq 0x2130
leaq 0x4e0(%rsp), %rdi
callq 0xf520
leaq 0x4f8(%rsp), %rdi
callq 0xf530
leaq 0x33f(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x2330
movq 0x90(%rsp), %rdx
leaq 0x1e095(%rip), %rsi     # 0x26484
leaq 0x340(%rsp), %rdi
callq 0x2290
jmp 0x83fe
leaq 0x340(%rsp), %rdi
callq 0x2730
jmp 0x840d
leaq 0x340(%rsp), %rdi
callq 0x2130
leaq 0x33f(%rsp), %rdi
callq 0x2260
leaq 0x308(%rsp), %rdi
callq 0xf540
leaq 0x2f0(%rsp), %rdi
callq 0xf550
jmp 0x8443
callq 0x27b0
movl $0x0, 0x2ec(%rsp)
cmpl $0x4c4b40, 0x2ec(%rsp) # imm = 0x4C4B40
jge 0x85e8
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x8c(%rsp)
jmp 0x8482
movl 0x8c(%rsp), %eax
movl %eax, 0x2e0(%rsp)
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x88(%rsp)
jmp 0x84ae
movl 0x88(%rsp), %eax
movl %eax, 0x2dc(%rsp)
leaq 0x2e4(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
leaq 0x2dc(%rsp), %rdx
callq 0xf590
jmp 0x84db
leaq 0x2f0(%rsp), %rdi
leaq 0x2e4(%rsp), %rsi
callq 0xf560
jmp 0x84f2
jmp 0x84f4
movl 0x2ec(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2ec(%rsp)
jmp 0x8453
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x380(%rsp), %rdi
callq 0x2130
jmp 0x854e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x360(%rsp), %rdi
callq 0x2130
leaq 0x4e0(%rsp), %rdi
callq 0xf520
leaq 0x4f8(%rsp), %rdi
callq 0xf530
jmp 0x8e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x85a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x340(%rsp), %rdi
callq 0x2130
leaq 0x33f(%rsp), %rdi
callq 0x2260
jmp 0x8e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8d9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8d91
leaq 0x2b7(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x2330
movq 0x80(%rsp), %rdx
leaq 0x1e0ef(%rip), %rsi     # 0x266fb
leaq 0x2b8(%rsp), %rdi
callq 0x2290
jmp 0x861b
leaq 0x2b8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x862f
leaq 0x2b8(%rsp), %rdi
callq 0x2130
leaq 0x2b7(%rsp), %rdi
callq 0x2260
callq 0x27b0
movl $0x0, 0x2b0(%rsp)
cmpl $0x4c4b40, 0x2b0(%rsp) # imm = 0x4C4B40
jge 0x8776
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x7c(%rsp)
jmp 0x8685
movl 0x7c(%rsp), %eax
movl %eax, 0x2a4(%rsp)
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x78(%rsp)
jmp 0x86ab
movl 0x78(%rsp), %eax
movl %eax, 0x2a0(%rsp)
leaq 0x2a4(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
callq 0xf620
movq %rax, 0x70(%rsp)
jmp 0x86d2
movq 0x70(%rsp), %rax
movq %rax, 0x2a8(%rsp)
leaq 0x308(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0xf5d0
movb %dl, 0x67(%rsp)
movq %rax, 0x68(%rsp)
jmp 0x86ff
movb 0x67(%rsp), %al
movq 0x68(%rsp), %rcx
movq %rcx, 0x290(%rsp)
movb %al, 0x298(%rsp)
movl 0x2b0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2b0(%rsp)
jmp 0x8659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8764
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x2b8(%rsp), %rdi
callq 0x2130
leaq 0x2b7(%rsp), %rdi
callq 0x2260
jmp 0x8d91
leaq 0x1df83(%rip), %rdx     # 0x26700
leaq 0x270(%rsp), %rdi
leaq 0x590(%rsp), %rsi
callq 0xf120
jmp 0x8794
leaq 0x270(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x87a8
leaq 0x270(%rsp), %rdi
callq 0x2130
leaq 0x24f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x2330
movq 0x58(%rsp), %rdx
leaq 0x1df3d(%rip), %rsi     # 0x26710
leaq 0x250(%rsp), %rdi
callq 0x2290
jmp 0x87e2
leaq 0x250(%rsp), %rdi
callq 0x2730
jmp 0x87f1
leaq 0x250(%rsp), %rdi
callq 0x2130
leaq 0x24f(%rsp), %rdi
callq 0x2260
leaq 0x240(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0xf650
jmp 0x8822
movl $0x0, 0x23c(%rsp)
callq 0x27b0
movl $0x0, 0x238(%rsp)
cmpl $0x4c4b40, 0x238(%rsp) # imm = 0x4C4B40
jge 0x89b0
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x54(%rsp)
jmp 0x8869
movl 0x54(%rsp), %eax
movl %eax, 0x22c(%rsp)
leaq 0x230(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
leaq 0x22c(%rsp), %rdx
callq 0xf680
jmp 0x8893
leaq 0x240(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0xf6f0
jmp 0x88aa
leaq 0x220(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0xf750
jmp 0x88c1
leaq 0x240(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0xf730
movb %al, 0x53(%rsp)
jmp 0x88dc
movb 0x53(%rsp), %al
testb $0x1, %al
jne 0x88e9
jmp 0x8998
movl 0x23c(%rsp), %eax
incl %eax
movl %eax, 0x23c(%rsp)
leaq 0x218(%rsp), %rdi
leaq 0x240(%rsp), %rsi
callq 0xf7c0
jmp 0x8910
leaq 0x2f0(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0xf780
jmp 0x8927
jmp 0x8998
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x270(%rsp), %rdi
callq 0x2130
jmp 0x8d91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8986
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x250(%rsp), %rdi
callq 0x2130
leaq 0x24f(%rsp), %rdi
callq 0x2260
jmp 0x8d91
jmp 0x899a
movl 0x238(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x238(%rsp)
jmp 0x883d
leaq 0x1f7(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x2330
movq 0x48(%rsp), %rdx
leaq 0x1dd57(%rip), %rsi     # 0x26725
leaq 0x1f8(%rsp), %rdi
callq 0x2290
jmp 0x89dd
leaq 0x1f8(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x89f1
leaq 0x1f8(%rsp), %rdi
callq 0x2130
leaq 0x1f7(%rsp), %rdi
callq 0x2260
movq 0x285c6(%rip), %rdi     # 0x30fd8
leaq 0x1dcd0(%rip), %rsi     # 0x266e9
callq 0x2220
movq %rax, 0x40(%rsp)
jmp 0x8a25
movl 0x23c(%rsp), %esi
leaq 0x1d0(%rsp), %rdi
callq 0xf310
jmp 0x8a3b
movq 0x40(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
callq 0x21e0
movq %rax, 0x38(%rsp)
jmp 0x8a54
movq 0x38(%rsp), %rdi
movq 0x28568(%rip), %rsi     # 0x30fc8
callq 0x2250
jmp 0x8a67
leaq 0x1d0(%rsp), %rdi
callq 0x2130
leaq 0x308(%rsp), %rdi
callq 0xf7e0
movq %rax, 0x1c8(%rsp)
movl $0x0, 0x23c(%rsp)
callq 0x27b0
movl $0x0, 0x1c4(%rsp)
cmpl $0x4c4b40, 0x1c4(%rsp) # imm = 0x4C4B40
jge 0x8c19
leaq 0x5b0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0xf090
movl %eax, 0x34(%rsp)
jmp 0x8ad0
movl 0x34(%rsp), %eax
movl %eax, 0x1b4(%rsp)
leaq 0x308(%rsp), %rdi
leaq 0x1b4(%rsp), %rsi
callq 0xf810
movq %rax, 0x28(%rsp)
jmp 0x8af7
movq 0x28(%rsp), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1b8(%rsp), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x308(%rsp), %rdi
callq 0xf860
movq %rax, 0x1a8(%rsp)
leaq 0x1c8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0xf840
testb $0x1, %al
jne 0x8b47
jmp 0x8c01
movl 0x23c(%rsp), %eax
incl %eax
movl %eax, 0x23c(%rsp)
movq 0x1c8(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rsi
leaq 0x308(%rsp), %rdi
callq 0xf890
movq %rax, 0x20(%rsp)
jmp 0x8b83
movq 0x20(%rsp), %rax
movq %rax, 0x198(%rsp)
jmp 0x8c01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8bc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0x2130
leaq 0x1f7(%rsp), %rdi
callq 0x2260
jmp 0x8d91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0x2130
jmp 0x8d91
jmp 0x8c03
movl 0x1c4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c4(%rsp)
jmp 0x8aa4
leaq 0x1db0a(%rip), %rdx     # 0x2672a
leaq 0x178(%rsp), %rdi
leaq 0x590(%rsp), %rsi
callq 0xf120
jmp 0x8c37
leaq 0x178(%rsp), %rdi
movl $0x4c4b40, %esi         # imm = 0x4C4B40
callq 0x27c0
jmp 0x8c4b
leaq 0x178(%rsp), %rdi
callq 0x2130
movq 0x28379(%rip), %rdi     # 0x30fd8
leaq 0x1da83(%rip), %rsi     # 0x266e9
callq 0x2220
movq %rax, 0x18(%rsp)
jmp 0x8c72
movl 0x23c(%rsp), %esi
leaq 0x158(%rsp), %rdi
callq 0xf310
jmp 0x8c88
movq 0x18(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x21e0
movq %rax, 0x10(%rsp)
jmp 0x8ca1
movq 0x10(%rsp), %rdi
movq 0x2831b(%rip), %rsi     # 0x30fc8
callq 0x2250
jmp 0x8cb4
leaq 0x158(%rsp), %rdi
callq 0x2130
leaq 0x2f0(%rsp), %rdi
callq 0xf8d0
leaq 0x308(%rsp), %rdi
callq 0xf8e0
leaq 0x137(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x2330
movq 0x8(%rsp), %rdx
leaq 0x1d980(%rip), %rsi     # 0x26679
leaq 0x138(%rsp), %rdi
callq 0x2290
jmp 0x8d08
leaq 0x138(%rsp), %rdi
callq 0x26d0
jmp 0x8d17
leaq 0x138(%rsp), %rdi
callq 0x2130
leaq 0x137(%rsp), %rdi
callq 0x2260
callq 0x2780
jmp 0x8d38
leaq 0x590(%rsp), %rdi
callq 0x2130
addq $0x5c8, %rsp            # imm = 0x5C8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x178(%rsp), %rdi
callq 0x2130
jmp 0x8d91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x2130
leaq 0x2f0(%rsp), %rdi
callq 0xf8d0
leaq 0x308(%rsp), %rdi
callq 0xf8e0
jmp 0x8e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
jmp 0x8de4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x138(%rsp), %rdi
callq 0x2130
leaq 0x137(%rsp), %rdi
callq 0x2260
jmp 0x8e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x580(%rsp)
movl %eax, 0x57c(%rsp)
leaq 0x590(%rsp), %rdi
callq 0x2130
movq 0x580(%rsp), %rdi
callq 0x2320
nopw %cs:(%rax,%rax)