LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_range()
void
test_set_modifiers_erase_range()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	for (int i = 0; i < 10; i++)
		set.insert(i);

	print_set_info(set);

	set.erase(set.find(4), set.end());

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
xorl %eax, %eax
leaq -0x50(%rbp), %r14
leaq -0x1c(%rbp), %r15
movl %eax, -0x1c(%rbp)
cmpl $0xa, %eax
jge 0x684d
movq %r14, %rdi
movq %r15, %rsi
callq 0x73c8
movl -0x1c(%rbp), %eax
incl %eax
jmp 0x6833
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x1c(%rbp), %rsi
movl $0x4, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x7312
leaq -0x50(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x7648
movq %r14, %rdi
callq 0x4ccd
leaq -0x50(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x689b
jmp 0x689b
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_iterators_validity()
void
test_set_modifiers_erase_iterators_validity()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	for (int i = 0; i < 10; i++)
		set.insert(i);

	print_set_info(set);

	it = set.find(9);

	for (int i = 0; i < 9; i++)
		set.erase(i);

	if (it == set.find(9))
		std::cout << "correct" << std::endl;

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorl %eax, %eax
leaq -0x50(%rbp), %rbx
leaq -0x1c(%rbp), %r14
movl %eax, -0x1c(%rbp)
cmpl $0xa, %eax
jge 0x68f9
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x1c(%rbp), %eax
incl %eax
jmp 0x68df
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x1c(%rbp), %rsi
movl $0x9, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x7312
movq %rax, %rbx
xorl %eax, %eax
leaq -0x50(%rbp), %r14
leaq -0x1c(%rbp), %r15
movl %eax, -0x1c(%rbp)
cmpl $0x9, %eax
jge 0x693c
movq %r14, %rdi
movq %r15, %rsi
callq 0x758e
movl -0x1c(%rbp), %eax
incl %eax
jmp 0x6922
leaq -0x1c(%rbp), %rsi
movl $0x9, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x7312
cmpq %rax, %rbx
jne 0x696f
movq 0x2b65d(%rip), %rdi     # 0x31fb8
leaq 0x1a78b(%rip), %rsi     # 0x210ed
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x50(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6994
jmp 0x6994
jmp 0x6994
jmp 0x6994
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_cplusplus()
void
test_set_modifiers_erase_cplusplus()
{
	ft::set<int>			myset;
	ft::set<int>::iterator	it;

	for (int i = 1; i < 10; i++)
		myset.insert(i * 10);

	print_set_info(myset);

	it = myset.begin();
	++it;

	myset.erase(it);

	print_set_info(myset);

	myset.erase(40);

	print_set_info(myset);

	it = myset.find(60);
	myset.erase(it, myset.end());

	print_set_info(myset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
pushq $0xa
popq %r12
leaq -0x58(%rbp), %r14
leaq -0x24(%rbp), %r15
cmpl $0x64, %r12d
je 0x69f7
movl %r12d, -0x24(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x5824
addl $0xa, %r12d
jmp 0x69dc
leaq -0x58(%rbp), %rdi
callq 0x4ccd
leaq -0x58(%rbp), %r14
movq 0x18(%r14), %rdi
callq 0x3200
movq %r14, %rdi
movq %rax, %rsi
callq 0x752e
leaq -0x58(%rbp), %rdi
callq 0x4ccd
leaq -0x24(%rbp), %rsi
movl $0x28, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0x758e
leaq -0x58(%rbp), %rdi
callq 0x4ccd
leaq -0x24(%rbp), %rsi
movl $0x3c, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0x7312
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x7648
movq %r14, %rdi
callq 0x4ccd
leaq -0x58(%rbp), %rdi
callq 0x4202
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6a82
jmp 0x6a82
jmp 0x6a82
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_swap()
void
test_set_modifiers_swap()
{
	int myints[] = {12, 75, 10, 32, 20, 25};
	ft::set<int> first(myints, myints + 3);
	ft::set<int> second(myints + 3, myints+ 6);

	print_set_info(first);
	print_set_info(second);

	first.swap(second);

	print_set_info(first);
	print_set_info(second);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x78, %rsp
movaps 0x1a78a(%rip), %xmm0    # 0x21230
leaq -0x14(%rbp), %rbx
movaps %xmm0, -0xc(%rbx)
movabsq $0x1900000014, %rax     # imm = 0x1900000014
movq %rax, 0x4(%rbx)
leaq -0x80(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movq %rbx, %rdx
callq 0x72ce
leaq -0x8(%rbp), %rdx
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x72ce
leaq -0x80(%rbp), %rdi
callq 0x4ccd
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x80(%rbp), %rbx
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
callq 0x7704
movq %rbx, %rdi
callq 0x4ccd
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x50(%rbp), %rdi
callq 0x4202
leaq -0x80(%rbp), %rdi
callq 0x4202
addq $0x78, %rsp
popq %rbx
popq %rbp
retq
movq %rax, %rbx
jmp 0x6b39
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4202
leaq -0x80(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_swap_iterator_validity()
void
test_set_modifiers_swap_iterator_validity()
{
	int myints[] = {12, 75, 10, 32, 20, 25};
	ft::set<int> first(myints, myints + 3);
	ft::set<int> second(myints + 3, myints+ 6);
	ft::set<int>::iterator it_first = first.begin();
	ft::set<int>::iterator it_second = second.begin();

	print_set_info(first);
	print_set_info(second);

	std::cout << *it_first << std::endl;
	std::cout << *it_second << std::endl;

	first.swap(second);

	print_set_info(first);
	print_set_info(second);

	std::cout << *it_first << std::endl;
	std::cout << *it_second << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x78, %rsp
movaps 0x1a6d2(%rip), %xmm0    # 0x21230
leaq -0x54(%rbp), %rbx
movaps %xmm0, -0xc(%rbx)
movabsq $0x1900000014, %rax     # imm = 0x1900000014
movq %rax, 0x4(%rbx)
leaq -0x90(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movq %rbx, %rdx
callq 0x72ce
leaq -0x48(%rbp), %rdx
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x72ce
leaq -0x90(%rbp), %rdi
movq 0x18(%rdi), %r15
movq -0x30(%rbp), %r14
callq 0x4ccd
leaq -0x48(%rbp), %rdi
callq 0x4ccd
movl 0x20(%r15), %esi
movq 0x2b3f9(%rip), %rdi     # 0x31fb8
callq 0x3320
movq %rax, %rdi
callq 0x30e0
movl 0x20(%r14), %esi
movq 0x2b3e1(%rip), %rdi     # 0x31fb8
callq 0x3320
movq %rax, %rdi
callq 0x30e0
leaq -0x90(%rbp), %rbx
leaq -0x48(%rbp), %rsi
movq %rbx, %rdi
callq 0x7704
movq %rbx, %rdi
callq 0x4ccd
leaq -0x48(%rbp), %rdi
callq 0x4ccd
movl 0x20(%r15), %esi
movq 0x2b3a5(%rip), %rdi     # 0x31fb8
callq 0x3320
movq %rax, %rdi
callq 0x30e0
movl 0x20(%r14), %esi
movq 0x2b38d(%rip), %rdi     # 0x31fb8
callq 0x3320
movq %rax, %rdi
callq 0x30e0
leaq -0x48(%rbp), %rdi
callq 0x4202
leaq -0x90(%rbp), %rdi
callq 0x4202
addq $0x78, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x6c69
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x4202
leaq -0x90(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_clear_int()
void
test_set_modifiers_clear_int()
{
	ft::set<int> myset;

	myset.insert(100);
	myset.insert(200);
	myset.insert(300);

	print_set_info(myset);

	myset.clear();

	print_set_info(myset);

	myset.insert(1101);
	myset.insert(2202);

	print_set_info(myset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x38, %rsp
leaq -0x38(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0xc(%rbp), %rsi
movl $0x64, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0x5824
leaq -0xc(%rbp), %rsi
movl $0xc8, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0x5824
leaq -0xc(%rbp), %rsi
movl $0x12c, (%rsi)          # imm = 0x12C
leaq -0x40(%rbp), %rdi
callq 0x5824
leaq -0x40(%rbp), %rdi
callq 0x4ccd
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0x76cc
movq %rbx, %rdi
callq 0x4ccd
leaq -0xc(%rbp), %rsi
movl $0x44d, (%rsi)          # imm = 0x44D
leaq -0x40(%rbp), %rdi
callq 0x5824
leaq -0xc(%rbp), %rsi
movl $0x89a, (%rsi)          # imm = 0x89A
leaq -0x40(%rbp), %rdi
callq 0x5824
leaq -0x40(%rbp), %rdi
callq 0x4ccd
leaq -0x40(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %rbp
retq
jmp 0x6d3e
jmp 0x6d3e
jmp 0x6d3e
jmp 0x6d3e
jmp 0x6d3e
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_clear_string()
void
test_set_modifiers_clear_string()
{
	ft::set<std::string> myset;

	myset.insert("hello");
	myset.insert("world");
	myset.insert("!");

	print_set_info(myset);

	myset.clear();

	print_set_info(myset);

	myset.insert("this is");
	myset.insert("a test");

	print_set_info(myset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x58, %rsp
leaq -0x58(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x1a2e2(%rip), %rsi     # 0x2105d
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x58f8
leaq -0x30(%rbp), %rdi
callq 0x30d0
leaq 0x1aa1b(%rip), %rsi     # 0x217c0
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x58f8
leaq -0x30(%rbp), %rdi
callq 0x30d0
leaq 0x1a779(%rip), %rsi     # 0x21548
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x58f8
leaq -0x30(%rbp), %rdi
callq 0x30d0
leaq -0x60(%rbp), %rdi
callq 0x4ded
leaq -0x60(%rbp), %rbx
movq %rbx, %rdi
callq 0x77d8
movq %rbx, %rdi
callq 0x4ded
leaq 0x1a2ef(%rip), %rsi     # 0x21105
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x58f8
leaq -0x30(%rbp), %rdi
callq 0x30d0
leaq 0x1a2cd(%rip), %rsi     # 0x2110d
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x58f8
leaq -0x30(%rbp), %rdi
callq 0x30d0
leaq -0x60(%rbp), %rdi
callq 0x4ded
leaq -0x60(%rbp), %rdi
callq 0x5518
addq $0x58, %rsp
popq %rbx
popq %rbp
retq
jmp 0x6e8c
jmp 0x6e9c
jmp 0x6e8c
jmp 0x6e9c
jmp 0x6e8c
jmp 0x6e9c
jmp 0x6e8c
jmp 0x6e9c
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x30d0
jmp 0x6e9f
jmp 0x6e9c
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x5518
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_constructors_base()
void
test_set_iterators_constructors_base()
{
	ft::set<int> myset;

	for (int i = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());
	iter_type cpy(from);

	if (from == cpy)
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorl %eax, %eax
leaq -0x48(%rbp), %rbx
leaq -0x14(%rbp), %r14
movl %eax, -0x14(%rbp)
cmpl $0x9, %eax
jg 0x7abc
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x14(%rbp), %eax
incl %eax
jmp 0x7aa2
movq 0x2a4f5(%rip), %rdi     # 0x31fb8
leaq 0x1aa13(%rip), %rsi     # 0x224dd
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x48(%rbp), %rdi
callq 0x4202
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x7aeb
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_operator_star()
void
test_set_iterators_operator_star()
{
	ft::set<int> myset;

	for (int i = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());

	std::cout << *from << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorl %eax, %eax
leaq -0x48(%rbp), %rbx
leaq -0x14(%rbp), %r14
movl %eax, -0x14(%rbp)
cmpl $0xa, %eax
jge 0x7b47
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x14(%rbp), %eax
incl %eax
jmp 0x7b2d
movq -0x30(%rbp), %rax
movl 0x20(%rax), %esi
movq 0x2a463(%rip), %rdi     # 0x31fb8
callq 0x3320
movq %rax, %rdi
callq 0x30e0
leaq -0x48(%rbp), %rdi
callq 0x4202
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x7b76
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_operator_increment()
void
test_set_iterators_operator_increment()
{
	ft::set<int> myset;

	for (int i  = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());
	iter_type until(myset.end());

	std::cout << "myset:";
	while (from != until)
	{
		std::cout << ' ' << *from;
		++from;
	}

	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r12
andl $0x0, (%r12)
andq $0x0, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
andq $0x0, 0x20(%r12)
xorl %eax, %eax
leaq -0x58(%rbp), %rbx
leaq -0x24(%rbp), %r14
movl %eax, -0x24(%rbp)
cmpl $0xa, %eax
jge 0x7bdc
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x24(%rbp), %eax
incl %eax
jmp 0x7bc2
movq -0x40(%rbp), %rbx
movq 0x2a3d1(%rip), %rdi     # 0x31fb8
leaq 0x196ee(%rip), %rsi     # 0x212dc
callq 0x31d0
movq 0x2a3be(%rip), %r14     # 0x31fb8
pushq $0x20
popq %r15
cmpq %r12, %rbx
je 0x7c26
movq %r14, %rdi
movl %r15d, %esi
callq 0x3210
movl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3320
movq %rbx, %rdi
callq 0x3200
movq %rax, %rbx
jmp 0x7bfe
movq 0x2a38b(%rip), %rdi     # 0x31fb8
callq 0x30e0
leaq -0x58(%rbp), %rdi
callq 0x4202
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7c4c
jmp 0x7c4c
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_operator_decrement()
void
test_set_iterators_operator_decrement()
{
	ft::set<int> myset;

	for (int i = 0 ; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type begin (myset.begin());
	iter_type end (myset.end());

	iter_type it(begin);
	while (it != end)
		std::cout << *it++ << ' ';
	std::cout << std::endl;

	while (it != begin)
		std::cout << *(--it) << ' ';
	std::cout << std::endl;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorl %eax, %eax
leaq -0x60(%rbp), %rbx
leaq -0x2c(%rbp), %r14
movl %eax, -0x2c(%rbp)
cmpl $0xa, %eax
jge 0x7cae
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x2c(%rbp), %eax
incl %eax
jmp 0x7c94
movq -0x48(%rbp), %r13
movq 0x2a2ff(%rip), %r14     # 0x31fb8
pushq $0x20
popq %r15
movq %r13, %rbx
leaq -0x58(%rbp), %rax
cmpq %rax, %rbx
je 0x7cef
movq %rbx, %rdi
callq 0x3200
movq %rax, %r12
movl 0x20(%rbx), %esi
movq %r14, %rdi
callq 0x3320
movq %rax, %rdi
movl %r15d, %esi
callq 0x3210
movq %r12, %rbx
jmp 0x7cc0
movq 0x2a2c2(%rip), %rdi     # 0x31fb8
callq 0x30e0
movq 0x2a2b6(%rip), %r14     # 0x31fb8
pushq $0x20
popq %r15
cmpq %r13, %rbx
je 0x7d2e
movq %rbx, %rdi
callq 0x3130
movq %rax, %rbx
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x3320
movq %rax, %rdi
movl %r15d, %esi
callq 0x3210
jmp 0x7d06
movq 0x2a283(%rip), %rdi     # 0x31fb8
callq 0x30e0
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7d58
jmp 0x7d58
jmp 0x7d58
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_empty_sets()
void
test_set_iterators_empty_sets()
{
	ft::set<int> set;
	ft::set<int> const const_set;

	if (set.begin() == set.end())
		std::cout << "correct" << std::endl;

	if (const_set.begin() == const_set.end())
		std::cout << "correct" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x68, %rsp
leaq -0x60(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x30(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
movq 0x2a20a(%rip), %rdi     # 0x31fb8
leaq 0x19338(%rip), %rsi     # 0x210ed
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
cmpq %rbx, -0x20(%rbp)
jne 0x7de3
movq 0x2a1e9(%rip), %rdi     # 0x31fb8
leaq 0x19317(%rip), %rsi     # 0x210ed
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x38(%rbp), %rdi
callq 0x4202
leaq -0x68(%rbp), %rdi
callq 0x4202
addq $0x68, %rsp
popq %rbx
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4202
leaq -0x68(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_100_size_set()
void
test_set_iterators_100_size_set()
{
	typedef ft::set<int>::iterator iterator;

	ft::set<int> set;

	srand(g_seed);

	for (int i = 0; i < 10; i++)
		set.insert(rand() % 100 - 50);

	for (iterator it = set.begin(); it != set.end(); it++)
		std::cout << *it << " ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %r12
andl $0x0, (%r12)
andq $0x0, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
andq $0x0, 0x20(%r12)
leaq 0x2a388(%rip), %rax     # 0x321d8
movl (%rax), %edi
callq 0x31c0
pushq $0xa
popq %r15
pushq $0x64
popq %r13
leaq -0x60(%rbp), %rbx
leaq -0x2c(%rbp), %r14
subl $0x1, %r15d
jb 0x7e89
callq 0x3070
cltd
idivl %r13d
addl $-0x32, %edx
movl %edx, -0x2c(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5824
jmp 0x7e67
movq -0x48(%rbp), %r15
movq 0x2a124(%rip), %rbx     # 0x31fb8
leaq 0x1a44f(%rip), %r14     # 0x222ea
cmpq %r12, %r15
je 0x7ec4
movl 0x20(%r15), %esi
movq %rbx, %rdi
callq 0x3320
movq %rax, %rdi
movq %r14, %rsi
callq 0x31d0
movq %r15, %rdi
callq 0x3200
movq %rax, %r15
jmp 0x7e9b
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7ede
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_100_size_const_set()
void
test_set_iterators_100_size_const_set()
{
	typedef ft::set<int>::const_iterator const_iterator;

	ft::set<int> set;

	srand(g_seed);
	for (int i = 0; i < 10; i++)
		set.insert(rand() % 100 - 50);

	ft::set<int> const const_set(set.begin(), set.end());

	for (const_iterator it = const_set.begin(); it != const_set.end(); it++)
		std::cout << *it << " ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
leaq -0x80(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
leaq 0x2a2b5(%rip), %rax     # 0x321d8
movl (%rax), %edi
callq 0x31c0
pushq $0xa
popq %r12
pushq $0x64
popq %r13
leaq -0x88(%rbp), %r14
leaq -0x58(%rbp), %r15
subl $0x1, %r12d
jb 0x7f5f
callq 0x3070
cltd
idivl %r13d
addl $-0x32, %edx
movl %edx, -0x58(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x5824
jmp 0x7f3d
movq -0x70(%rbp), %rsi
leaq -0x58(%rbp), %rdi
movq %rbx, %rdx
callq 0x4c8a
leaq -0x50(%rbp), %r12
movq 0x10(%r12), %r15
movq 0x2a039(%rip), %rbx     # 0x31fb8
leaq 0x1a364(%rip), %r14     # 0x222ea
cmpq %r12, %r15
je 0x7faf
movl 0x20(%r15), %esi
movq %rbx, %rdi
callq 0x3320
movq %rax, %rdi
movq %r14, %rsi
callq 0x31d0
movq %r15, %rdi
callq 0x3200
movq %rax, %r15
jmp 0x7f86
leaq -0x58(%rbp), %rdi
callq 0x4202
leaq -0x88(%rbp), %rdi
callq 0x4202
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7fd5
movq %rax, %rbx
jmp 0x7fe6
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4202
leaq -0x88(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_copy()
void
test_set_iterators_copy()
{
	typedef ft::set<int>::iterator iterator;
	typedef ft::set<int>::const_iterator const_iterator;

	ft::set<int> set;

	srand(g_seed);
	for (int i = 0; i < 10; i++)
		set.insert(rand() % 100 - 50);

	iterator it(set.begin());
	const_iterator const_it(it);

	for (const_iterator it = const_it; it != set.end(); it++)
		std::cout << *it << " ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %r12
andl $0x0, (%r12)
andq $0x0, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
andq $0x0, 0x20(%r12)
leaq 0x2a1a7(%rip), %rax     # 0x321d8
movl (%rax), %edi
callq 0x31c0
pushq $0xa
popq %r15
pushq $0x64
popq %r13
leaq -0x60(%rbp), %rbx
leaq -0x2c(%rbp), %r14
subl $0x1, %r15d
jb 0x806a
callq 0x3070
cltd
idivl %r13d
addl $-0x32, %edx
movl %edx, -0x2c(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5824
jmp 0x8048
movq -0x48(%rbp), %r15
movq 0x29f43(%rip), %rbx     # 0x31fb8
leaq 0x1a26e(%rip), %r14     # 0x222ea
cmpq %r12, %r15
je 0x80a5
movl 0x20(%r15), %esi
movq %rbx, %rdi
callq 0x3320
movq %rax, %rdi
movq %r14, %rsi
callq 0x31d0
movq %r15, %rdi
callq 0x3200
movq %rax, %r15
jmp 0x807c
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x80bf
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators()
void
test_set_iterators()
{
	test_wrapper(test_set_iterators_constructors_base, "constructors base");
	test_wrapper(test_set_iterators_operator_star, "operator*()");
	test_wrapper(test_set_iterators_operator_increment, "operator++()");
	test_wrapper(test_set_iterators_operator_decrement, "operator--()");
	test_wrapper(test_set_iterators_empty_sets, "empty sets");
	test_wrapper(test_set_iterators_100_size_set, "100 size set");
	test_wrapper(test_set_iterators_100_size_const_set, "100 size const set");
	test_wrapper(test_set_iterators_copy, "copy");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
leaq 0x191fd(%rip), %rsi     # 0x212e3
leaq -0x110(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x689(%rip), %rdi      # 0x7a74
leaq -0x110(%rbp), %rsi
callq 0x20ca4
leaq -0x110(%rbp), %rdi
callq 0x30d0
leaq 0x191d9(%rip), %rsi     # 0x212f5
leaq -0xf0(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x634(%rip), %rdi      # 0x7aff
leaq -0xf0(%rbp), %rsi
callq 0x20ca4
leaq -0xf0(%rbp), %rdi
callq 0x30d0
leaq 0x191af(%rip), %rsi     # 0x21301
leaq -0xd0(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x5df(%rip), %rdi      # 0x7b8a
leaq -0xd0(%rbp), %rsi
callq 0x20ca4
leaq -0xd0(%rbp), %rdi
callq 0x30d0
leaq 0x19186(%rip), %rsi     # 0x2130e
leaq -0xb0(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x53f(%rip), %rdi      # 0x7c60
leaq -0xb0(%rbp), %rsi
callq 0x20ca4
leaq -0xb0(%rbp), %rdi
callq 0x30d0
leaq 0x1915d(%rip), %rsi     # 0x2131b
leaq -0x90(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x469(%rip), %rdi      # 0x7d6c
leaq -0x90(%rbp), %rsi
callq 0x20ca4
leaq -0x90(%rbp), %rdi
callq 0x30d0
leaq 0x19132(%rip), %rsi     # 0x21326
leaq -0x70(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x3ef(%rip), %rdi      # 0x7e19
leaq -0x70(%rbp), %rsi
callq 0x20ca4
leaq -0x70(%rbp), %rdi
callq 0x30d0
leaq 0x19112(%rip), %rsi     # 0x21333
leaq -0x50(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x343(%rip), %rdi      # 0x7ef2
leaq -0x50(%rbp), %rsi
callq 0x20ca4
leaq -0x50(%rbp), %rdi
callq 0x30d0
leaq 0x190f8(%rip), %rsi     # 0x21346
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x268(%rip), %rdi      # 0x7ffa
leaq -0x30(%rbp), %rsi
callq 0x20ca4
leaq -0x30(%rbp), %rdi
callq 0x30d0
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %rbp
retq
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0xd0(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0xf0(%rbp), %rdi
jmp 0x82e1
jmp 0x82e8
movq %rax, %rbx
leaq -0x110(%rbp), %rdi
callq 0x30d0
jmp 0x82eb
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3330
nop
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_capacity.cpp
// Function: test_set_capacity()
void
test_set_capacity()
{
	ft::set<int> set;

	std::cout << "Empty: " << set.empty() << std::endl;
	std::cout << "Size: " << set.size() << std::endl;
	std::cout << "Max size: " << set.max_size() << std::endl;

	for (int i = 0; i < 42; i++)
		set.insert(i);

	std::cout << "Empty: " << set.empty() << std::endl;
	std::cout << "Size: " << set.size() << std::endl;
	std::cout << "Max size: " << set.max_size() << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movq 0x29c99(%rip), %rdi     # 0x31fb8
leaq 0x19025(%rip), %rsi     # 0x2134b
callq 0x31d0
xorl %esi, %esi
cmpq $0x0, -0x20(%rbp)
sete %sil
movq %rax, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x30e0
movq 0x29c6b(%rip), %rdi     # 0x31fb8
leaq 0x18d2d(%rip), %rsi     # 0x21081
callq 0x31d0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x30e0
movq 0x29c44(%rip), %rdi     # 0x31fb8
leaq 0x18fd8(%rip), %rsi     # 0x21353
callq 0x31d0
movabsq $0x333333333333333, %rsi # imm = 0x333333333333333
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x30e0
xorl %eax, %eax
leaq -0x48(%rbp), %rbx
leaq -0x14(%rbp), %r14
movl %eax, -0x14(%rbp)
cmpl $0x2a, %eax
jge 0x83be
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x14(%rbp), %eax
incl %eax
jmp 0x83a4
movq 0x29bf3(%rip), %rdi     # 0x31fb8
leaq 0x18f7f(%rip), %rsi     # 0x2134b
callq 0x31d0
xorl %esi, %esi
cmpq $0x0, -0x20(%rbp)
sete %sil
movq %rax, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x30e0
movq 0x29bc5(%rip), %rdi     # 0x31fb8
leaq 0x18c87(%rip), %rsi     # 0x21081
callq 0x31d0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x30e0
movq 0x29b9e(%rip), %rdi     # 0x31fb8
leaq 0x18f32(%rip), %rsi     # 0x21353
callq 0x31d0
movabsq $0x333333333333333, %rsi # imm = 0x333333333333333
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x30e0
leaq -0x48(%rbp), %rdi
callq 0x4202
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x8454
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_constructors_base()
void
test_set_reverse_iterators_constructors_base()
{
	ft::set<int> myset;

	for (int i = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;
	typedef ft::set<int>::reverse_iterator rev_iter_type;

	iter_type from(myset.begin());
	iter_type until(myset.end());

	rev_iter_type rev_until(from);
	rev_iter_type rev_from(until);

	iter_type it_end = rev_until.base();
	iter_type it_begin = rev_from.base();

	if (it_end == from && it_begin == until)
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorl %eax, %eax
leaq -0x48(%rbp), %rbx
leaq -0x14(%rbp), %r14
movl %eax, -0x14(%rbp)
cmpl $0x9, %eax
jg 0x84b0
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x14(%rbp), %eax
incl %eax
jmp 0x8496
movq 0x29b01(%rip), %rdi     # 0x31fb8
leaq 0x1a01f(%rip), %rsi     # 0x224dd
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x48(%rbp), %rdi
callq 0x4202
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x84df
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_operator_star()
void
test_set_reverse_iterators_operator_star()
{
	ft::set<int> myset;

	for (int i = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;
	typedef ft::set<int>::reverse_iterator rev_iter_type;

	iter_type until(myset.end());

	rev_iter_type rev_from(until);

	std::cout << *rev_from << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
xorl %eax, %eax
leaq -0x50(%rbp), %r14
leaq -0x1c(%rbp), %r15
movl %eax, -0x1c(%rbp)
cmpl $0xa, %eax
jge 0x853d
movq %r14, %rdi
movq %r15, %rsi
callq 0x73c8
movl -0x1c(%rbp), %eax
incl %eax
jmp 0x8523
movq %rbx, %rdi
callq 0x3130
movl 0x20(%rax), %esi
movq 0x29a69(%rip), %rdi     # 0x31fb8
callq 0x3320
movq %rax, %rdi
callq 0x30e0
leaq -0x50(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8572
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_operator_increment()
void
test_set_reverse_iterators_operator_increment()
{
	ft::set<int> myset;

	for (int i  = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());
	iter_type until(myset.end());

	ft::reverse_iterator<iter_type> rev_until(from);
	ft::reverse_iterator<iter_type> rev_from(until);

	std::cout << "myset:";
	while (rev_from != rev_until)
	{
		std::cout << ' ' << *rev_from;
		++rev_from;
	}

	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
xorl %eax, %eax
leaq -0x60(%rbp), %r14
leaq -0x2c(%rbp), %r15
movl %eax, -0x2c(%rbp)
cmpl $0xa, %eax
jge 0x85d4
movq %r14, %rdi
movq %r15, %rsi
callq 0x73c8
movl -0x2c(%rbp), %eax
incl %eax
jmp 0x85ba
movq -0x48(%rbp), %r13
movq 0x299d9(%rip), %rdi     # 0x31fb8
leaq 0x18cf6(%rip), %rsi     # 0x212dc
callq 0x31d0
movq 0x299c6(%rip), %r14     # 0x31fb8
pushq $0x20
popq %r15
cmpq %r13, %rbx
je 0x8629
movq %r14, %rdi
movl %r15d, %esi
callq 0x3210
movq %rax, %r12
movq %rbx, %rdi
callq 0x3130
movl 0x20(%rax), %esi
movq %r12, %rdi
callq 0x3320
movq %rbx, %rdi
callq 0x3130
movq %rax, %rbx
jmp 0x85f6
movq 0x29988(%rip), %rdi     # 0x31fb8
callq 0x30e0
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8651
jmp 0x8651
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_operator_decrement()
void
test_set_reverse_iterators_operator_decrement()
{
	ft::set<int> myset;

	for (int i = 0 ; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	ft::reverse_iterator<iter_type> rev_begin(myset.end());
	ft::reverse_iterator<iter_type> rev_end(myset.begin());

	ft::reverse_iterator<iter_type> rev_iterator = rev_begin;
	while (rev_iterator != rev_end)
		std::cout << *rev_iterator++ << ' ';
	std::cout << std::endl;

	while (rev_iterator != rev_begin)
		std::cout << *(--rev_iterator) << ' ';
	std::cout << std::endl;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %r12
andl $0x0, (%r12)
andq $0x0, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
andq $0x0, 0x20(%r12)
xorl %eax, %eax
leaq -0x60(%rbp), %rbx
leaq -0x2c(%rbp), %r14
movl %eax, -0x2c(%rbp)
cmpl $0xa, %eax
jge 0x86b9
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x2c(%rbp), %eax
incl %eax
jmp 0x869f
movq -0x48(%rbp), %r13
movq 0x298f4(%rip), %r14     # 0x31fb8
pushq $0x20
popq %r15
movq %r12, %rbx
cmpq %r13, %rbx
je 0x86f3
movq %rbx, %rdi
callq 0x3130
movq %rax, %rbx
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x3320
movq %rax, %rdi
movl %r15d, %esi
callq 0x3210
jmp 0x86cb
movq 0x298be(%rip), %rdi     # 0x31fb8
callq 0x30e0
movq 0x298b2(%rip), %r14     # 0x31fb8
pushq $0x20
popq %r15
cmpq %r12, %rbx
je 0x873a
movq %rbx, %rdi
callq 0x3200
movq %rax, %rbx
movq %rax, %rdi
callq 0x3130
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x3320
movq %rax, %rdi
movl %r15d, %esi
callq 0x3210
jmp 0x870a
movq 0x29877(%rip), %rdi     # 0x31fb8
callq 0x30e0
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8764
jmp 0x8764
jmp 0x8764
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_empty_sets()
void
test_set_reverse_iterators_empty_sets()
{
	ft::set<int> set;
	ft::set<int> const const_set;

	if (set.rbegin() == set.rend())
		std::cout << "correct" << std::endl;

	if (const_set.rbegin() == const_set.rend())
		std::cout << "correct" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x68, %rsp
leaq -0x60(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x30(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
movq 0x297fe(%rip), %rdi     # 0x31fb8
leaq 0x1892c(%rip), %rsi     # 0x210ed
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
cmpq -0x20(%rbp), %rbx
jne 0x87ef
movq 0x297dd(%rip), %rdi     # 0x31fb8
leaq 0x1890b(%rip), %rsi     # 0x210ed
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x38(%rbp), %rdi
callq 0x4202
leaq -0x68(%rbp), %rdi
callq 0x4202
addq $0x68, %rsp
popq %rbx
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4202
leaq -0x68(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_100_size_set()
void
test_set_reverse_iterators_100_size_set()
{
	typedef ft::set<int>::reverse_iterator reverse_iterator;

	ft::set<int> set;

	srand(g_seed);
	for (int i = 0; i < 10; i++)
		set.insert(rand() % 100 - 50);

	for (reverse_iterator it = set.rbegin(); it != set.rend(); it++)
		std::cout << *it << " ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
leaq 0x29982(%rip), %rax     # 0x321d8
movl (%rax), %edi
callq 0x31c0
pushq $0xa
popq %r12
pushq $0x64
popq %r13
leaq -0x60(%rbp), %r14
leaq -0x2c(%rbp), %r15
subl $0x1, %r12d
jb 0x888f
callq 0x3070
cltd
idivl %r13d
addl $-0x32, %edx
movl %edx, -0x2c(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x5824
jmp 0x886d
movq 0x29722(%rip), %r14     # 0x31fb8
leaq 0x19a4d(%rip), %r15     # 0x222ea
cmpq -0x48(%rbp), %rbx
je 0x88ce
movq %rbx, %rdi
callq 0x3130
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x3320
movq %rax, %rdi
movq %r15, %rsi
callq 0x31d0
movq %rbx, %rdi
callq 0x3130
movq %rax, %rbx
jmp 0x889d
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x88e8
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_100_size_const_set()
void
test_set_reverse_iterators_100_size_const_set()
{
	typedef ft::set<int>::const_reverse_iterator const_reverse_iterator;

	ft::set<int> set;

	srand(g_seed);
	for (int i = 0; i < 10; i++)
		set.insert(rand() % 100 - 50);

	ft::set<int> const const_set(set.begin(), set.end());

	for (const_reverse_iterator it = const_set.rbegin(); it != const_set.rend(); it++)
		std::cout << *it << " ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
leaq -0x80(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
leaq 0x298ab(%rip), %rax     # 0x321d8
movl (%rax), %edi
callq 0x31c0
pushq $0xa
popq %r12
pushq $0x64
popq %r13
leaq -0x88(%rbp), %r14
leaq -0x58(%rbp), %r15
subl $0x1, %r12d
jb 0x8969
callq 0x3070
cltd
idivl %r13d
addl $-0x32, %edx
movl %edx, -0x58(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x5824
jmp 0x8947
movq -0x70(%rbp), %rsi
leaq -0x58(%rbp), %rdi
movq %rbx, %rdx
callq 0x4c8a
leaq -0x50(%rbp), %r15
movq 0x29634(%rip), %rbx     # 0x31fb8
leaq 0x1995f(%rip), %r14     # 0x222ea
cmpq -0x40(%rbp), %r15
je 0x89bc
movq %r15, %rdi
callq 0x3130
movl 0x20(%rax), %esi
movq %rbx, %rdi
callq 0x3320
movq %rax, %rdi
movq %r14, %rsi
callq 0x31d0
movq %r15, %rdi
callq 0x3130
movq %rax, %r15
jmp 0x898b
leaq -0x58(%rbp), %rdi
callq 0x4202
leaq -0x88(%rbp), %rdi
callq 0x4202
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x89e2
movq %rax, %rbx
jmp 0x89f3
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4202
leaq -0x88(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators_copy()
void
test_set_reverse_iterators_copy()
{
	typedef ft::set<int>::reverse_iterator reverse_iterator;
	typedef ft::set<int>::const_reverse_iterator const_reverse_iterator;

	ft::set<int> set;

	srand(g_seed);
	for (int i = 0; i < 10; i++)
		set.insert(rand() % 100 - 50);

	reverse_iterator it(set.rbegin());
	const_reverse_iterator const_it(it);

	for (const_reverse_iterator it = const_it; it != set.rend(); it++)
		std::cout << *it << " ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %rbx
andl $0x0, (%rbx)
andq $0x0, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
andq $0x0, 0x20(%rbx)
leaq 0x297a0(%rip), %rax     # 0x321d8
movl (%rax), %edi
callq 0x31c0
pushq $0xa
popq %r12
pushq $0x64
popq %r13
leaq -0x60(%rbp), %r14
leaq -0x2c(%rbp), %r15
subl $0x1, %r12d
jb 0x8a71
callq 0x3070
cltd
idivl %r13d
addl $-0x32, %edx
movl %edx, -0x2c(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x5824
jmp 0x8a4f
movq 0x29540(%rip), %r14     # 0x31fb8
leaq 0x1986b(%rip), %r15     # 0x222ea
cmpq -0x48(%rbp), %rbx
je 0x8ab0
movq %rbx, %rdi
callq 0x3130
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x3320
movq %rax, %rdi
movq %r15, %rsi
callq 0x31d0
movq %rbx, %rdi
callq 0x3130
movq %rax, %rbx
jmp 0x8a7f
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8aca
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_reverse_iterators.cpp
// Function: test_set_reverse_iterators()
void
test_set_reverse_iterators()
{
	test_wrapper(test_set_reverse_iterators_constructors_base, "constructors base");
	test_wrapper(test_set_reverse_iterators_operator_star, "operator*()");
	test_wrapper(test_set_reverse_iterators_operator_increment, "operator++()");
	test_wrapper(test_set_reverse_iterators_operator_decrement, "operator--()");
	test_wrapper(test_set_reverse_iterators_empty_sets, "empty sets");
	test_wrapper(test_set_reverse_iterators_100_size_set, "100 size set");
	test_wrapper(test_set_reverse_iterators_100_size_const_set, "100 size const set");
	test_wrapper(test_set_reverse_iterators_copy, "copy");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
leaq 0x187f2(%rip), %rsi     # 0x212e3
leaq -0x110(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x6a0(%rip), %rdi      # 0x8468
leaq -0x110(%rbp), %rsi
callq 0x20ca4
leaq -0x110(%rbp), %rdi
callq 0x30d0
leaq 0x187ce(%rip), %rsi     # 0x212f5
leaq -0xf0(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x64b(%rip), %rdi      # 0x84f3
leaq -0xf0(%rbp), %rsi
callq 0x20ca4
leaq -0xf0(%rbp), %rdi
callq 0x30d0
leaq 0x187a4(%rip), %rsi     # 0x21301
leaq -0xd0(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x5ee(%rip), %rdi      # 0x8586
leaq -0xd0(%rbp), %rsi
callq 0x20ca4
leaq -0xd0(%rbp), %rdi
callq 0x30d0
leaq 0x1877b(%rip), %rsi     # 0x2130e
leaq -0xb0(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x545(%rip), %rdi      # 0x8665
leaq -0xb0(%rbp), %rsi
callq 0x20ca4
leaq -0xb0(%rbp), %rdi
callq 0x30d0
leaq 0x18752(%rip), %rsi     # 0x2131b
leaq -0x90(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x468(%rip), %rdi      # 0x8778
leaq -0x90(%rbp), %rsi
callq 0x20ca4
leaq -0x90(%rbp), %rdi
callq 0x30d0
leaq 0x18727(%rip), %rsi     # 0x21326
leaq -0x70(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x3ee(%rip), %rdi      # 0x8825
leaq -0x70(%rbp), %rsi
callq 0x20ca4
leaq -0x70(%rbp), %rdi
callq 0x30d0
leaq 0x18707(%rip), %rsi     # 0x21333
leaq -0x50(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x344(%rip), %rdi      # 0x88fc
leaq -0x50(%rbp), %rsi
callq 0x20ca4
leaq -0x50(%rbp), %rdi
callq 0x30d0
leaq 0x186ed(%rip), %rsi     # 0x21346
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x30a0
leaq -0x266(%rip), %rdi      # 0x8a07
leaq -0x30(%rbp), %rsi
callq 0x20ca4
leaq -0x30(%rbp), %rdi
callq 0x30d0
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %rbp
retq
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0xd0(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0xf0(%rbp), %rdi
jmp 0x8cec
jmp 0x8cf3
movq %rax, %rbx
leaq -0x110(%rbp), %rdi
callq 0x30d0
jmp 0x8cf6
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3330
nop
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_operations.cpp
// Function: test_set_operations_find()
void
test_set_operations_find()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	for (int i = 1; i <= 5; i++)
		set.insert(i);

	print_set_info(set);

	if ((it = set.find(4)) != set.end())
		set.erase(it);

	if ((it = set.find(2)) != set.end())
		set.erase(it);

	if ((it = set.find(42)) != set.end())
		set.erase(it);

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %r15
andl $0x0, (%r15)
andq $0x0, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
andq $0x0, 0x20(%r15)
pushq $0x1
popq %rax
leaq -0x50(%rbp), %rbx
leaq -0x1c(%rbp), %r14
movl %eax, -0x1c(%rbp)
cmpl $0x6, %eax
jge 0x8d4c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x1c(%rbp), %eax
incl %eax
jmp 0x8d32
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x1c(%rbp), %rsi
movl $0x4, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x7312
cmpq %r15, %rax
je 0x8d79
leaq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x752e
leaq -0x1c(%rbp), %rsi
movl $0x2, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x7312
cmpq %r15, %rax
je 0x8d9d
leaq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x752e
leaq -0x1c(%rbp), %rsi
movl $0x2a, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x7312
cmpq %r15, %rax
je 0x8dc1
leaq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x752e
leaq -0x50(%rbp), %rdi
callq 0x4ccd
leaq -0x50(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8de6
jmp 0x8de6
jmp 0x8de6
jmp 0x8de6
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330
// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_operations.cpp
// Function: test_set_operations_count()
void
test_set_operations_count()
{
	ft::set<int> set;

	for (int i = 0; i < 20; i++)
	{
		if (i % 2 == 0)
			set.insert(i);
	}

	for (int i = 0; i < 20; i++)
		std::cout << (set.count(i) == 1 ? " In " : " Not in ");
	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorl %eax, %eax
leaq -0x60(%rbp), %rbx
leaq -0x2c(%rbp), %r14
movl %eax, -0x2c(%rbp)
cmpl $0x14, %eax
jge 0x8e4c
testb $0x1, %al
jne 0x8e48
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73c8
movl -0x2c(%rbp), %eax
incl %eax
jmp 0x8e2e
xorl %eax, %eax
leaq -0x60(%rbp), %rbx
leaq -0x2c(%rbp), %r14
leaq 0x18501(%rip), %r12     # 0x2135e
leaq 0x184ff(%rip), %r13     # 0x21363
movq 0x2914d(%rip), %r15     # 0x31fb8
movl %eax, -0x2c(%rbp)
cmpl $0x14, %eax
jge 0x8e99
movq %rbx, %rdi
movq %r14, %rsi
callq 0x96da
movq %r12, %rsi
cmpq $0x1, %rax
je 0x8e8a
movq %r13, %rsi
movq %r15, %rdi
callq 0x31d0
movl -0x2c(%rbp), %eax
incl %eax
jmp 0x8e6b
movq 0x29118(%rip), %rdi     # 0x31fb8
callq 0x30e0
leaq -0x60(%rbp), %rdi
callq 0x4202
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8ec1
jmp 0x8ec1
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4202
movq %rbx, %rdi
callq 0x3330