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

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

	print_set_info(set);

	set.erase(set.find(4));
	set.erase(set.find(2));

	print_set_info(set);

	while (!set.empty())
		set.erase(set.begin());

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rbx
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x1c(%rbp), %r14
movl %eax, (%r14)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x724a
movl -0x1c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x9, %eax
jl 0x5feb
leaq -0x50(%rbp), %rdi
callq 0x419b
movq -0x40(%rbp), %r8
movq %rbx, %rsi
testq %r8, %r8
je 0x605a
movq %rbx, %rdx
movq %rdx, %rax
movq %r8, %rcx
movl 0x20(%r8), %edi
xorl %esi, %esi
cmpl $0x4, %edi
setl %sil
movq %r8, %rdx
cmovlq %rax, %rdx
movq 0x10(%r8,%rsi,8), %r8
testq %r8, %r8
jne 0x601c
movq %rbx, %rsi
cmpq %rbx, %rdx
je 0x605a
cmpl $0x4, %edi
cmovlq %rax, %rcx
cmpl $0x5, 0x20(%rcx)
cmovgeq %rbx, %rdx
movq %rdx, %rsi
leaq -0x50(%rbp), %rdi
callq 0x7346
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x60a6
movq %rbx, %rdx
movq %rdx, %rax
movq %rdi, %rcx
movl 0x20(%rdi), %esi
xorl %edi, %edi
cmpl $0x2, %esi
setl %dil
movq %rcx, %rdx
cmovlq %rax, %rdx
movq 0x10(%rcx,%rdi,8), %rdi
testq %rdi, %rdi
jne 0x606f
cmpq %rbx, %rdx
je 0x60a6
cmpl $0x2, %esi
cmovlq %rax, %rcx
cmpl $0x3, 0x20(%rcx)
cmovlq %rdx, %rbx
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x7346
leaq -0x50(%rbp), %rdi
callq 0x419b
leaq -0x50(%rbp), %rbx
cmpq $0x0, -0x28(%rbp)
je 0x60d4
movq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x7346
jmp 0x60bf
leaq -0x50(%rbp), %rdi
callq 0x419b
leaq -0x50(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x60f9
jmp 0x60f9
jmp 0x60f9
jmp 0x60f9
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_value()
void
test_set_modifiers_erase_value()
{
	ft::set<int> set;

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

	print_set_info(set);

	std::cout << set.erase(4) << std::endl;
	std::cout << set.erase(4) << std::endl;
	std::cout << set.erase(2) << std::endl;

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x613a
leaq -0x48(%rbp), %rdi
callq 0x419b
leaq -0x14(%rbp), %rsi
movl $0x4, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0x7388
leaq -0x48(%rbp), %rbx
movq 0x28(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x740a
subq 0x28(%rbx), %r14
movq 0x2de43(%rip), %rdi     # 0x33fd0
movq %r14, %rsi
callq 0x2140
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 0x2150
leaq -0x14(%rbp), %rsi
movl $0x4, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0x7388
leaq -0x48(%rbp), %rbx
movq 0x28(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x740a
subq 0x28(%rbx), %r14
movq 0x2dde0(%rip), %rdi     # 0x33fd0
movq %r14, %rsi
callq 0x2140
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 0x2150
leaq -0x14(%rbp), %rsi
movl $0x2, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0x7388
leaq -0x48(%rbp), %rbx
movq 0x28(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x740a
subq 0x28(%rbx), %r14
movq 0x2dd7d(%rip), %rdi     # 0x33fd0
movq %r14, %rsi
callq 0x2140
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 0x2150
leaq -0x48(%rbp), %rdi
callq 0x419b
leaq -0x48(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x62a8
jmp 0x62a8
jmp 0x62a8
jmp 0x62a8
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x1c(%rbp), %r14
movl %eax, (%r14)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x724a
movl -0x1c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x9, %eax
jl 0x62ec
leaq -0x50(%rbp), %rdi
callq 0x419b
movq -0x40(%rbp), %r8
movq %rbx, %rsi
testq %r8, %r8
je 0x635b
movq %rbx, %rdx
movq %rdx, %rax
movq %r8, %rcx
movl 0x20(%r8), %edi
xorl %esi, %esi
cmpl $0x4, %edi
setl %sil
movq %r8, %rdx
cmovlq %rax, %rdx
movq 0x10(%r8,%rsi,8), %r8
testq %r8, %r8
jne 0x631d
movq %rbx, %rsi
cmpq %rbx, %rdx
je 0x635b
cmpl $0x4, %edi
cmovlq %rax, %rcx
cmpl $0x5, 0x20(%rcx)
cmovgeq %rbx, %rdx
movq %rdx, %rsi
leaq -0x50(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rdx
callq 0x740a
movq %r14, %rdi
callq 0x419b
leaq -0x50(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6388
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r15
xorl %eax, %eax
movl %eax, (%r15)
movq %rax, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
movq %rax, 0x20(%r15)
leaq -0x24(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x24(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x9, %eax
jl 0x63ce
leaq -0x58(%rbp), %rdi
callq 0x419b
movq -0x48(%rbp), %rdi
movq %r15, %r12
testq %rdi, %rdi
je 0x643c
movq %r15, %rdx
movq %rdx, %rax
movq %rdi, %rcx
movl 0x20(%rdi), %esi
xorl %edi, %edi
cmpl $0x9, %esi
setl %dil
movq %rcx, %rdx
cmovlq %rax, %rdx
movq 0x10(%rcx,%rdi,8), %rdi
testq %rdi, %rdi
jne 0x63ff
movq %r15, %r12
cmpq %r15, %rdx
je 0x643c
cmpl $0x9, %esi
cmovlq %rax, %rcx
cmpl $0xa, 0x20(%rcx)
cmovgeq %r15, %rdx
movq %rdx, %r12
leaq -0x24(%rbp), %rbx
movl $0x0, (%rbx)
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x7388
movq %r14, %rdi
movq %rax, %rsi
callq 0x740a
movl -0x24(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x8, %eax
jl 0x644a
movq -0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x64b1
movq %r15, %rdx
movq %rdx, %rax
movq %rdi, %rcx
movl 0x20(%rdi), %esi
xorl %edi, %edi
cmpl $0x9, %esi
setl %dil
movq %rcx, %rdx
cmovlq %rax, %rdx
movq 0x10(%rcx,%rdi,8), %rdi
testq %rdi, %rdi
jne 0x647a
cmpq %r15, %rdx
je 0x64b1
cmpl $0x9, %esi
cmovlq %rax, %rcx
cmpl $0xa, 0x20(%rcx)
cmovlq %rdx, %r15
cmpq %r15, %r12
jne 0x64fc
movq 0x2db13(%rip), %rbx     # 0x33fd0
leaq 0x1fc6b(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2dae1(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x58(%rbp), %rdi
callq 0x419b
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x651f
jmp 0x651f
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
movl $0xa, %r12d
leaq -0x58(%rbp), %r14
leaq -0x24(%rbp), %r15
movl %r12d, -0x24(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e54
addl $0xa, %r12d
cmpl $0x64, %r12d
jne 0x656c
leaq -0x58(%rbp), %rdi
callq 0x419b
leaq -0x58(%rbp), %r14
movq 0x18(%r14), %rdi
callq 0x2240
movq %r14, %rdi
movq %rax, %rsi
callq 0x7346
leaq -0x58(%rbp), %rdi
callq 0x419b
leaq -0x24(%rbp), %rsi
movl $0x28, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0x7388
movq %r14, %rdi
movq %rax, %rsi
callq 0x740a
movq %r14, %rdi
callq 0x419b
movq -0x48(%rbp), %r8
movq %rbx, %rsi
testq %r8, %r8
je 0x6622
movq %rbx, %rdx
movq %rdx, %rax
movq %r8, %rcx
movl 0x20(%r8), %edi
xorl %esi, %esi
cmpl $0x3c, %edi
setl %sil
movq %r8, %rdx
cmovlq %rax, %rdx
movq 0x10(%r8,%rsi,8), %r8
testq %r8, %r8
jne 0x65e4
movq %rbx, %rsi
cmpq %rbx, %rdx
je 0x6622
cmpl $0x3c, %edi
cmovlq %rax, %rcx
cmpl $0x3d, 0x20(%rcx)
cmovgeq %rbx, %rdx
movq %rdx, %rsi
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rdx
callq 0x740a
movq %r14, %rdi
callq 0x419b
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6653
jmp 0x6653
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 0x1fbf9(%rip), %xmm0    # 0x26270
leaq -0x74(%rbp), %rbx
movaps %xmm0, -0xc(%rbx)
movabsq $0x1900000014, %rax     # imm = 0x1900000014
movq %rax, 0x4(%rbx)
leaq -0x68(%rbp), %rdi
leaq -0x80(%rbp), %rsi
movq %rbx, %rdx
callq 0x718a
leaq -0x68(%rbp), %rdx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x718a
leaq -0x68(%rbp), %rdi
callq 0x419b
leaq -0x38(%rbp), %rdi
callq 0x419b
movq -0x58(%rbp), %rcx
movq -0x28(%rbp), %rax
testq %rcx, %rcx
je 0x670f
testq %rax, %rax
je 0x673a
leaq -0x60(%rbp), %rdx
movq %rax, 0x8(%rdx)
leaq -0x30(%rbp), %rsi
movq %rcx, 0x8(%rsi)
movups 0x10(%rdx), %xmm0
movups 0x10(%rsi), %xmm1
movups %xmm1, 0x10(%rdx)
movups %xmm0, 0x10(%rsi)
movq %rdx, 0x8(%rax)
movq 0x8(%rsi), %rax
movq %rsi, 0x8(%rax)
movq 0x20(%rdx), %rax
movq 0x20(%rsi), %rcx
movq %rcx, 0x20(%rdx)
movq %rax, 0x20(%rsi)
jmp 0x6770
testq %rax, %rax
je 0x6770
leaq -0x60(%rbp), %rcx
leaq -0x30(%rbp), %rdx
movl (%rdx), %esi
movl %esi, (%rcx)
movq %rax, 0x8(%rcx)
movups 0x10(%rdx), %xmm0
movups %xmm0, 0x10(%rcx)
movq %rcx, 0x8(%rax)
movq 0x20(%rdx), %rax
movq %rax, 0x20(%rcx)
jmp 0x675e
leaq -0x30(%rbp), %rax
leaq -0x60(%rbp), %rdx
movl (%rdx), %esi
movl %esi, (%rax)
movq %rcx, 0x8(%rax)
movups 0x10(%rdx), %xmm0
movups %xmm0, 0x10(%rax)
movq %rax, 0x8(%rcx)
movq 0x20(%rdx), %rcx
movq %rcx, 0x20(%rax)
xorl %eax, %eax
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
leaq -0x68(%rbp), %rdi
callq 0x419b
leaq -0x38(%rbp), %rdi
callq 0x419b
leaq -0x38(%rbp), %rdi
callq 0x3602
leaq -0x68(%rbp), %rdi
callq 0x3602
addq $0x78, %rsp
popq %rbx
popq %rbp
retq
movq %rax, %rbx
jmp 0x67ac
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x3602
leaq -0x68(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0xc(%rbp), %rsi
movl $0x64, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0x4e54
leaq -0xc(%rbp), %rsi
movl $0xc8, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0x4e54
leaq -0xc(%rbp), %rsi
movl $0x12c, (%rsi)          # imm = 0x12C
leaq -0x40(%rbp), %rdi
callq 0x4e54
leaq -0x40(%rbp), %rdi
callq 0x419b
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0x748c
movq %rbx, %rdi
callq 0x419b
leaq -0xc(%rbp), %rsi
movl $0x44d, (%rsi)          # imm = 0x44D
leaq -0x40(%rbp), %rdi
callq 0x4e54
leaq -0xc(%rbp), %rsi
movl $0x89a, (%rsi)          # imm = 0x89A
leaq -0x40(%rbp), %rdi
callq 0x4e54
leaq -0x40(%rbp), %rdi
callq 0x419b
leaq -0x40(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %rbp
retq
jmp 0x6ad5
jmp 0x6ad5
jmp 0x6ad5
jmp 0x6ad5
jmp 0x6ad5
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r14
pushq %rbx
subq $0x50, %rsp
leaq -0x58(%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 -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1f568(%rip), %rsi     # 0x26087
leaq 0x1f566(%rip), %rdx     # 0x2608c
leaq -0x30(%rbp), %rdi
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f0c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6b4a
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1fc96(%rip), %rsi     # 0x267ee
leaq 0x1fc94(%rip), %rdx     # 0x267f3
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f0c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6b7f
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1f9e9(%rip), %rsi     # 0x26576
leaq 0x1f9e3(%rip), %rdx     # 0x26577
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f0c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6bb4
callq 0x21b0
leaq -0x60(%rbp), %rdi
callq 0x434b
leaq -0x60(%rbp), %rbx
movq %rbx, %rdi
callq 0x74c4
movq %rbx, %rdi
callq 0x434b
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1f568(%rip), %rsi     # 0x26147
leaq 0x1f568(%rip), %rdx     # 0x2614e
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f0c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6c06
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1f53b(%rip), %rsi     # 0x2614f
leaq 0x1f53a(%rip), %rdx     # 0x26155
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f0c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6c3b
callq 0x21b0
leaq -0x60(%rbp), %rdi
callq 0x434b
leaq -0x60(%rbp), %rdi
callq 0x4b46
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x6c66
jmp 0x6c7b
jmp 0x6c66
jmp 0x6c7b
jmp 0x6c66
jmp 0x6c7b
jmp 0x6c66
jmp 0x6c7b
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6c7e
callq 0x21b0
jmp 0x6c7e
jmp 0x6c7b
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4b46
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x7821
movq 0x2c78f(%rip), %rbx     # 0x33fd0
leaq 0x1fc4e(%rip), %rsi     # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c75d(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x48(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x7894
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x78d5
movq -0x30(%rbp), %rax
movl 0x20(%rax), %esi
movq 0x2c6d4(%rip), %rdi     # 0x33fd0
callq 0x2330
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 0x2150
leaq -0x48(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x793f
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %r13
xorl %eax, %eax
movl %eax, (%r13)
movq %rax, 0x8(%r13)
movq %r13, 0x10(%r13)
movq %r13, 0x18(%r13)
movq %rax, 0x20(%r13)
leaq -0x2c(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x60(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x2c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x2c(%rbp)
cmpl $0x9, %eax
jl 0x7988
movq -0x48(%rbp), %r14
movq 0x2c624(%rip), %rbx     # 0x33fd0
leaq 0x1e969(%rip), %rsi     # 0x2631c
movl $0x6, %edx
movq %rbx, %rdi
callq 0x2230
cmpq %r13, %r14
je 0x7a00
movq 0x2c604(%rip), %r15     # 0x33fd0
leaq -0x2c(%rbp), %r12
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2230
movl 0x20(%r14), %esi
movq %rax, %rdi
callq 0x2330
movq %r14, %rdi
callq 0x2240
movq %rax, %r14
cmpq %r13, %rax
jne 0x79d0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c5b2(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x60(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7a47
jmp 0x7a47
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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), %rcx
xorl %eax, %eax
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x2c(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x60(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x2c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x2c(%rbp)
cmpl $0x9, %eax
jl 0x7a8e
movq -0x48(%rbp), %r13
movq %r13, %rbx
leaq -0x58(%rbp), %rax
cmpq %rax, %r13
je 0x7afd
movq 0x2c512(%rip), %r14     # 0x33fd0
leaq -0x2c(%rbp), %r15
movq %r13, %r12
movq %r12, %rdi
callq 0x2240
movq %rax, %rbx
movl 0x20(%r12), %esi
movq %r14, %rdi
callq 0x2330
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %r12
leaq -0x58(%rbp), %rax
cmpq %rax, %rbx
jne 0x7ac5
movq 0x2c4cc(%rip), %rdi     # 0x33fd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c4b1(%rip), %r14     # 0x33fd0
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpq %r13, %rbx
je 0x7b6e
movq 0x2c495(%rip), %r15     # 0x33fd0
leaq -0x2c(%rbp), %r12
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
movl 0x20(%rax), %esi
movq %r15, %rdi
callq 0x2330
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2230
cmpq %r13, %rbx
jne 0x7b3f
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c444(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x60(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7bb7
jmp 0x7bb7
jmp 0x7bb7
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r14
pushq %rbx
subq $0x60, %rsp
leaq -0x68(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x38(%rbp), %r14
movl %ecx, (%r14)
movq %rcx, 0x8(%r14)
movq %r14, 0x10(%r14)
movq %r14, 0x18(%r14)
movq %rcx, 0x20(%r14)
movq 0x2c3c4(%rip), %rbx     # 0x33fd0
leaq 0x1e51c(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c392(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpq %r14, -0x28(%rbp)
jne 0x7c97
movq 0x2c378(%rip), %rbx     # 0x33fd0
leaq 0x1e4d0(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c346(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x40(%rbp), %rdi
callq 0x3602
leaq -0x70(%rbp), %rdi
callq 0x3602
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x3602
leaq -0x70(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r12
movl $0x0, (%r12)
xorl %eax, %eax
movq %rax, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
movq %rax, 0x20(%r12)
leaq 0x2c4d9(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0xa, %r15d
leaq -0x58(%rbp), %rbx
leaq -0x24(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x24(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4e54
decl %r15d
jne 0x7d1c
movq -0x40(%rbp), %rbx
cmpq %r12, %rbx
je 0x7d96
movq 0x2c26c(%rip), %r14     # 0x33fd0
leaq 0x1f59f(%rip), %r15     # 0x2730a
movl 0x20(%rbx), %esi
movq %r14, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
cmpq %r12, %rax
jne 0x7d6b
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7dae
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x60, %rsp
leaq -0x78(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq 0x2c3ec(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0xa, %r12d
leaq -0x80(%rbp), %r14
leaq -0x50(%rbp), %r15
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x50(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e54
decl %r12d
jne 0x7e09
movq -0x68(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movq %rbx, %rdx
callq 0x4158
leaq -0x48(%rbp), %r12
movq 0x10(%r12), %rbx
cmpq %r12, %rbx
je 0x7e98
movq 0x2c16a(%rip), %r14     # 0x33fd0
leaq 0x1f49d(%rip), %r15     # 0x2730a
movl 0x20(%rbx), %esi
movq %r14, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
cmpq %r12, %rax
jne 0x7e6d
leaq -0x50(%rbp), %rdi
callq 0x3602
leaq -0x80(%rbp), %rdi
callq 0x3602
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7eb9
movq %rax, %rbx
jmp 0x7eca
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
leaq -0x80(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r12
movl $0x0, (%r12)
xorl %eax, %eax
movq %rax, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
movq %rax, 0x20(%r12)
leaq 0x2c2cd(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0xa, %r15d
leaq -0x58(%rbp), %rbx
leaq -0x24(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x24(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4e54
decl %r15d
jne 0x7f28
movq -0x40(%rbp), %rbx
cmpq %r12, %rbx
je 0x7fa2
movq 0x2c060(%rip), %r14     # 0x33fd0
leaq 0x1f393(%rip), %r15     # 0x2730a
movl 0x20(%rbx), %esi
movq %r14, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
cmpq %r12, %rax
jne 0x7f77
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7fba
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x851d
movq 0x2ba93(%rip), %rbx     # 0x33fd0
leaq 0x1ef52(%rip), %rsi     # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2ba61(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x48(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x8590
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x1c(%rbp), %r14
movl %eax, (%r14)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x724a
movl -0x1c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x9, %eax
jl 0x85d4
movq %rbx, %rdi
callq 0x2130
movl 0x20(%rax), %esi
movq 0x2b9d1(%rip), %rdi     # 0x33fd0
callq 0x2330
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 0x2150
leaq -0x50(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8644
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x2c(%rbp), %r14
movl %eax, (%r14)
leaq -0x60(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x724a
movl -0x2c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x2c(%rbp)
cmpl $0x9, %eax
jl 0x868c
movq -0x48(%rbp), %r14
movq 0x2b920(%rip), %rdi     # 0x33fd0
leaq 0x1dc65(%rip), %rsi     # 0x2631c
movl $0x6, %edx
callq 0x2230
cmpq %r14, %rbx
je 0x870b
movq 0x2b903(%rip), %r15     # 0x33fd0
leaq -0x2c(%rbp), %r12
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2230
movq %rax, %r13
movq %rbx, %rdi
callq 0x2130
movl 0x20(%rax), %esi
movq %r13, %rdi
callq 0x2330
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
cmpq %r14, %rax
jne 0x86d1
movq 0x2b8be(%rip), %rdi     # 0x33fd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2b8a3(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x60(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8756
jmp 0x8756
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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), %r13
xorl %eax, %eax
movl %eax, (%r13)
movq %rax, 0x8(%r13)
movq %r13, 0x10(%r13)
movq %r13, 0x18(%r13)
movq %rax, 0x20(%r13)
leaq -0x2c(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x60(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x2c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x2c(%rbp)
cmpl $0x9, %eax
jl 0x879f
movq -0x48(%rbp), %r12
movq %r13, %rbx
cmpq %r12, %r13
je 0x8801
movq 0x2b805(%rip), %r14     # 0x33fd0
leaq -0x2c(%rbp), %r15
movq %r13, %rbx
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x2330
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
cmpq %r12, %rbx
jne 0x87d2
movq 0x2b7c8(%rip), %rdi     # 0x33fd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2b7ad(%rip), %r14     # 0x33fd0
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpq %r13, %rbx
je 0x887a
movq 0x2b791(%rip), %r15     # 0x33fd0
leaq -0x2c(%rbp), %r12
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
movq %rax, %rdi
callq 0x2130
movl 0x20(%rax), %esi
movq %r15, %rdi
callq 0x2330
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2230
cmpq %r13, %rbx
jne 0x8843
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2b738(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x60(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x88c3
jmp 0x88c3
jmp 0x88c3
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r14
pushq %rbx
subq $0x60, %rsp
leaq -0x68(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x38(%rbp), %r14
movl %ecx, (%r14)
movq %rcx, 0x8(%r14)
movq %r14, 0x10(%r14)
movq %r14, 0x18(%r14)
movq %rcx, 0x20(%r14)
movq 0x2b6b8(%rip), %rbx     # 0x33fd0
leaq 0x1d810(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2b686(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpq -0x28(%rbp), %r14
jne 0x89a3
movq 0x2b66c(%rip), %rbx     # 0x33fd0
leaq 0x1d7c4(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2b63a(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x40(%rbp), %rdi
callq 0x3602
leaq -0x70(%rbp), %rdi
callq 0x3602
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x3602
leaq -0x70(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq 0x2b7d3(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0xa, %r12d
leaq -0x58(%rbp), %r14
leaq -0x24(%rbp), %r15
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x24(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e54
decl %r12d
jne 0x8a22
cmpq -0x40(%rbp), %rbx
je 0x8aa2
movq 0x2b569(%rip), %r14     # 0x33fd0
leaq 0x1e89c(%rip), %r15     # 0x2730a
movq %rbx, %rdi
callq 0x2130
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
cmpq -0x40(%rbp), %rax
jne 0x8a6e
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8aba
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x60, %rsp
leaq -0x78(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq 0x2b6e0(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0xa, %r12d
leaq -0x80(%rbp), %r14
leaq -0x50(%rbp), %r15
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x50(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e54
decl %r12d
jne 0x8b15
movq -0x68(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movq %rbx, %rdx
callq 0x4158
leaq -0x48(%rbp), %rbx
cmpq 0x10(%rbx), %rbx
je 0x8ba9
movq 0x2b462(%rip), %r14     # 0x33fd0
leaq 0x1e795(%rip), %r15     # 0x2730a
movq %rbx, %rdi
callq 0x2130
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
cmpq -0x38(%rbp), %rax
jne 0x8b75
leaq -0x50(%rbp), %rdi
callq 0x3602
leaq -0x80(%rbp), %rdi
callq 0x3602
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8bca
movq %rax, %rbx
jmp 0x8bdb
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
leaq -0x80(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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 %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq 0x2b5c2(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0xa, %r12d
leaq -0x58(%rbp), %r14
leaq -0x24(%rbp), %r15
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x24(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e54
decl %r12d
jne 0x8c33
cmpq -0x40(%rbp), %rbx
je 0x8cb3
movq 0x2b358(%rip), %r14     # 0x33fd0
leaq 0x1e68b(%rip), %r15     # 0x2730a
movq %rbx, %rdi
callq 0x2130
movl 0x20(%rax), %esi
movq %r14, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
cmpq -0x40(%rbp), %rax
jne 0x8c7f
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8ccb
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/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
movl $0x0, (%r15)
xorl %eax, %eax
movq %rax, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
movq %rax, 0x20(%r15)
leaq -0x1c(%rbp), %rbx
movl $0x1, (%rbx)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x724a
movl -0x1c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x5, %eax
jl 0x8fbc
leaq -0x50(%rbp), %rdi
callq 0x419b
movq -0x40(%rbp), %rax
testq %rax, %rax
je 0x90cd
movq %rax, %r8
movq %r15, %rsi
movq %rsi, %rcx
movq %r8, %rdx
movl 0x20(%r8), %edi
xorl %r8d, %r8d
cmpl $0x4, %edi
setl %r8b
movq %rdx, %rsi
cmovlq %rcx, %rsi
movq 0x10(%rdx,%r8,8), %r8
testq %r8, %r8
jne 0x8ff1
cmpq %r15, %rsi
je 0x9035
cmpl $0x4, %edi
cmovlq %rcx, %rdx
cmpl $0x4, 0x20(%rdx)
jg 0x9035
leaq -0x50(%rbp), %rdi
callq 0x7346
movq -0x40(%rbp), %rax
testq %rax, %rax
je 0x90cd
movq %rax, %r8
movq %r15, %rsi
movq %rsi, %rcx
movq %r8, %rdx
movl 0x20(%r8), %edi
xorl %r8d, %r8d
cmpl $0x2, %edi
setl %r8b
movq %rdx, %rsi
cmovlq %rcx, %rsi
movq 0x10(%rdx,%r8,8), %r8
testq %r8, %r8
jne 0x9044
cmpq %r15, %rsi
je 0x9088
cmpl $0x2, %edi
cmovlq %rcx, %rdx
cmpl $0x2, 0x20(%rdx)
jg 0x9088
leaq -0x50(%rbp), %rdi
callq 0x7346
movq -0x40(%rbp), %rax
testq %rax, %rax
je 0x90cd
movq %r15, %rsi
movq %rsi, %rcx
movq %rax, %rdx
movl 0x20(%rax), %edi
xorl %eax, %eax
cmpl $0x2a, %edi
setl %al
movq %rdx, %rsi
cmovlq %rcx, %rsi
movq 0x10(%rdx,%rax,8), %rax
testq %rax, %rax
jne 0x9090
cmpq %r15, %rsi
je 0x90cd
cmpl $0x2a, %edi
cmovlq %rcx, %rdx
cmpl $0x2a, 0x20(%rdx)
jg 0x90cd
leaq -0x50(%rbp), %rdi
callq 0x7346
leaq -0x50(%rbp), %rdi
callq 0x419b
leaq -0x50(%rbp), %rdi
callq 0x3602
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x90ec
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340