LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: auton1[P]viterbi/bgzf.c
// Function: bgzf_read_init
static BGZF *bgzf_read_init()
{
	BGZF *fp;
	fp = (BGZF*)calloc(1, sizeof(BGZF));
	fp->is_write = 0;
	fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE);
	fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE);
#ifdef BGZF_CACHE
	fp->cache = kh_init(cache);
#endif
	return fp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x38, %esi
callq 0x6310
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
andl $0xfffcffff, %ecx       # imm = 0xFFFCFFFF
orl $0x0, %ecx
movl %ecx, (%rax)
movl $0x10000, %edi          # imm = 0x10000
callq 0x6780
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movl $0x10000, %edi          # imm = 0x10000
callq 0x6780
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
// File: auton1[P]viterbi/bgzf.c
// Function: bgzf_compress
static int bgzf_compress(void *_dst, int *dlen, void *src, int slen, int level)
{
	uint32_t crc;
	z_stream zs;
	uint8_t *dst = (uint8_t*)_dst;

	// compress the body
	zs.zalloc = NULL; zs.zfree = NULL;
	zs.next_in  = (Bytef*)src;
	zs.avail_in = slen;
	zs.next_out = dst + BLOCK_HEADER_LENGTH;
	zs.avail_out = *dlen - BLOCK_HEADER_LENGTH - BLOCK_FOOTER_LENGTH;
	if (deflateInit2(&zs, level, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY) != Z_OK) return -1; // -15 to disable zlib header/footer
	if (deflate(&zs, Z_FINISH) != Z_STREAM_END) return -1;
	if (deflateEnd(&zs) != Z_OK) return -1;
	*dlen = zs.total_out + BLOCK_HEADER_LENGTH + BLOCK_FOOTER_LENGTH;
	// write the header
	memcpy(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block
	packInt16(&dst[16], *dlen - 1); // write the compressed length; -1 to fit 2 bytes
	// write the footer
	crc = crc32(crc32(0L, NULL, 0L), (Bytef*)src, slen);
	packInt32((uint8_t*)&dst[*dlen - 8], crc);
	packInt32((uint8_t*)&dst[*dlen - 4], slen);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl %r8d, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq $0x0, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x98(%rbp)
movq -0xa8(%rbp), %rax
addq $0x12, %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x12, %eax
subl $0x8, %eax
movl %eax, -0x80(%rbp)
movl -0x28(%rbp), %esi
leaq -0xa0(%rbp), %rdi
movl $0x8, %r8d
movl $0xfffffff1, %ecx       # imm = 0xFFFFFFF1
xorl %r9d, %r9d
leaq 0x1562(%rip), %rax      # 0x744af
movl %r8d, %edx
movq %rax, (%rsp)
movl $0x70, 0x8(%rsp)
callq 0x6080
cmpl $0x0, %eax
je 0x72f72
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x73069
leaq -0xa0(%rbp), %rdi
movl $0x4, %esi
callq 0x6210
cmpl $0x1, %eax
je 0x72f94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x73069
leaq -0xa0(%rbp), %rdi
callq 0x62a0
cmpl $0x0, %eax
je 0x72fb1
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x73069
movq -0x78(%rbp), %rax
addq $0x12, %rax
addq $0x8, %rax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0xa8(%rbp), %rax
movq 0x3bcd(%rip), %rcx      # 0x76ba0
movq %rcx, (%rax)
movq 0x3bcb(%rip), %rcx      # 0x76ba8
movq %rcx, 0x8(%rax)
movw 0x3bc8(%rip), %cx       # 0x76bb0
movw %cx, 0x10(%rax)
movq -0xa8(%rbp), %rdi
addq $0x10, %rdi
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x1, %eax
movzwl %ax, %esi
callq 0x73080
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
movq %rsi, %rdi
callq 0x6380
movq %rax, %rdi
movq -0x20(%rbp), %rsi
movl -0x24(%rbp), %edx
callq 0x6380
movl %eax, -0x2c(%rbp)
movq -0xa8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x8, %eax
cltq
addq %rax, %rdi
movl -0x2c(%rbp), %esi
callq 0x730b0
movq -0xa8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %eax
subl $0x4, %eax
cltq
addq %rax, %rdi
movl -0x24(%rbp), %esi
callq 0x730b0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: auton1[P]viterbi/bgzf.c
// Function: packInt32
static inline void packInt32(uint8_t *buffer, uint32_t value)
{
	buffer[0] = value;
	buffer[1] = value >> 8;
	buffer[2] = value >> 16;
	buffer[3] = value >> 24;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, (%rax)
movl -0xc(%rbp), %eax
shrl $0x8, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x1(%rax)
movl -0xc(%rbp), %eax
shrl $0x10, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x2(%rax)
movl -0xc(%rbp), %eax
shrl $0x18, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x3(%rax)
popq %rbp
retq
// File: DimitriDaSilva[P]42_ft_containers/tester/main.cpp
// Function: main
int main(int argc, char* argv[])
{
	if (argc != 2)
	{
		std::cerr << "Usage: ./test seed" << std::endl;
		std::cerr << "Provide a seed please" << std::endl;
		return 1;
	}

	g_seed = atoi(argv[1]);

	section_wrapper(test_containers, "containers");
	section_wrapper(test_others, "others");

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x2, -0x8(%rbp)
je 0x401f
movq 0x7701a(%rip), %rdi     # 0x7aff0
leaq 0x53027(%rip), %rsi     # 0x57004
callq 0x31e0
movq %rax, %rdi
movq 0x76fac(%rip), %rsi     # 0x7af98
callq 0x3220
movq 0x76ff8(%rip), %rdi     # 0x7aff0
leaq 0x53018(%rip), %rsi     # 0x57017
callq 0x31e0
movq %rax, %rdi
movq 0x76f8a(%rip), %rsi     # 0x7af98
callq 0x3220
movl $0x1, -0x4(%rbp)
jmp 0x4125
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x3310
movl %eax, 0x771d6(%rip)     # 0x7b208
leaq -0x31(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3370
movq -0x78(%rbp), %rdx
leaq 0x52fe3(%rip), %rsi     # 0x5702d
leaq -0x30(%rbp), %rdi
callq 0x3290
jmp 0x4055
leaq 0x10474(%rip), %rdi     # 0x144d0
leaq -0x30(%rbp), %rsi
callq 0x56230
jmp 0x4067
leaq -0x30(%rbp), %rdi
callq 0x3160
leaq -0x31(%rbp), %rdi
callq 0x3230
leaq -0x69(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3370
movq -0x80(%rbp), %rdx
leaq 0x52fa7(%rip), %rsi     # 0x57038
leaq -0x68(%rbp), %rdi
callq 0x3290
jmp 0x409c
leaq 0x502bd(%rip), %rdi     # 0x54360
leaq -0x68(%rbp), %rsi
callq 0x56230
jmp 0x40ae
leaq -0x68(%rbp), %rdi
callq 0x3160
leaq -0x69(%rbp), %rdi
callq 0x3230
movl $0x0, -0x4(%rbp)
jmp 0x4125
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x40ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3160
leaq -0x31(%rbp), %rdi
callq 0x3230
jmp 0x4131
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x411a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3160
leaq -0x69(%rbp), %rdi
callq 0x3230
jmp 0x4131
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_allocator.cpp
// Function: test_set_allocator_cplusplus()
void
test_set_allocator_cplusplus()
{
	ft::set<int> set;
	int* p;
	unsigned int i;

	// allocate an array with space for 5 elements using set's allocator:
	p = set.get_allocator().allocate(5);

	// construct values in-place on the array:
	for (i = 0; i < 5; i++)
		set.get_allocator().construct(&p[i], i);

	std::cout << "The allocated array contains:";
	for (i = 0; i < 5; i++)
		std::cout << ' ' << p[i];
	std::cout << std::endl;

	// destroy and deallocate:
	for (i = 0; i < 5; i++)
		set.get_allocator().destroy(&p[i]);
	set.get_allocator().deallocate(p, 5);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq -0x30(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x4830
movq -0x68(%rbp), %rsi
leaq -0x3d(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x4850
movq -0x60(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x5, %esi
callq 0x4880
movq %rax, -0x58(%rbp)
jmp 0x4181
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x3d(%rbp), %rdi
callq 0x48e0
movl $0x0, -0x3c(%rbp)
cmpl $0x5, -0x3c(%rbp)
jae 0x41f5
leaq -0x4d(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4850
movq -0x38(%rbp), %rsi
movl -0x3c(%rbp), %eax
shlq $0x2, %rax
addq %rax, %rsi
leaq -0x4d(%rbp), %rdi
leaq -0x3c(%rbp), %rdx
callq 0x4900
leaq -0x4d(%rbp), %rdi
callq 0x48e0
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x4199
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x3d(%rbp), %rdi
callq 0x48e0
jmp 0x4310
movq 0x76dbc(%rip), %rdi     # 0x7afb8
leaq 0x52e3c(%rip), %rsi     # 0x5703f
callq 0x31e0
jmp 0x420a
movl $0x0, -0x3c(%rbp)
cmpl $0x5, -0x3c(%rbp)
jae 0x4261
movq 0x76d9a(%rip), %rdi     # 0x7afb8
movl $0x20, %esi
callq 0x3250
movq %rax, -0x70(%rbp)
jmp 0x422e
movq -0x70(%rbp), %rdi
movq -0x38(%rbp), %rax
movl -0x3c(%rbp), %ecx
movl (%rax,%rcx,4), %esi
callq 0x3350
jmp 0x4243
jmp 0x4245
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x4211
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4310
movq 0x76d50(%rip), %rdi     # 0x7afb8
movq 0x76d29(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x4276
movl $0x0, -0x3c(%rbp)
cmpl $0x5, -0x3c(%rbp)
jae 0x42bb
leaq -0x4e(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4850
movq -0x38(%rbp), %rsi
movl -0x3c(%rbp), %eax
shlq $0x2, %rax
addq %rax, %rsi
leaq -0x4e(%rbp), %rdi
callq 0x4920
leaq -0x4e(%rbp), %rdi
callq 0x48e0
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x427d
leaq -0x4f(%rbp), %rdi
movq %rdi, -0x78(%rbp)
leaq -0x30(%rbp), %rsi
callq 0x4850
movq -0x78(%rbp), %rdi
movq -0x38(%rbp), %rsi
movl $0x5, %edx
callq 0x4930
jmp 0x42e0
leaq -0x4f(%rbp), %rdi
callq 0x48e0
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0x80, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4f(%rbp), %rdi
callq 0x48e0
leaq -0x30(%rbp), %rdi
callq 0x4960
movq -0x48(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_allocator.cpp
// Function: test_set_allocator_custom_allocator()
void
test_set_allocator_custom_allocator()
{
	ft::set<int, ft::less<int>, custom_allocator<int> > set;

	set.insert(-42);
	set.insert(0);
	set.insert(42);

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x4980
movq -0xa0(%rbp), %rdi
movl $0xffffffd6, -0x34(%rbp) # imm = 0xFFFFFFD6
leaq -0x34(%rbp), %rsi
callq 0x49a0
movb %dl, -0x91(%rbp)
movq %rax, -0x90(%rbp)
jmp 0x4371
movb -0x91(%rbp), %al
movq -0x90(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
movl $0x0, -0x5c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x5c(%rbp), %rsi
callq 0x49a0
movb %dl, -0xa9(%rbp)
movq %rax, -0xa8(%rbp)
jmp 0x43a8
movb -0xa9(%rbp), %al
movq -0xa8(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movb %al, -0x68(%rbp)
movl $0x2a, -0x74(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x74(%rbp), %rsi
callq 0x49a0
movb %dl, -0xb9(%rbp)
movq %rax, -0xb8(%rbp)
jmp 0x43df
movb -0xb9(%rbp), %al
movq -0xb8(%rbp), %rcx
movq %rcx, -0x88(%rbp)
movb %al, -0x80(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x49f0
jmp 0x4401
leaq -0x30(%rbp), %rdi
callq 0x4b00
addq $0xc0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4b00
movq -0x40(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_allocator.cpp
// Function: test_set_allocator_strings_custom_allocator()
void
test_set_allocator_strings_custom_allocator()
{
	ft::set<std::string, ft::less<std::string>, custom_allocator<std::string> > set;

	set.insert("hello");
	set.insert("world");
	set.insert("! :)");

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
leaq -0x30(%rbp), %rdi
callq 0x4b20
leaq -0x51(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x3370
movq -0xf0(%rbp), %rdx
leaq 0x52beb(%rip), %rsi     # 0x5705d
leaq -0x50(%rbp), %rdi
callq 0x3290
jmp 0x447d
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x4b40
movb %dl, -0xf9(%rbp)
movq %rax, -0xf8(%rbp)
jmp 0x4499
movb -0xf9(%rbp), %al
movq -0xf8(%rbp), %rcx
movq %rcx, -0x78(%rbp)
movb %al, -0x70(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3160
leaq -0x51(%rbp), %rdi
callq 0x3230
leaq -0x99(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x3370
movq -0x108(%rbp), %rdx
leaq 0x532ee(%rip), %rsi     # 0x577ce
leaq -0x98(%rbp), %rdi
callq 0x3290
jmp 0x44ee
leaq -0x30(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x4b40
movb %dl, -0x111(%rbp)
movq %rax, -0x110(%rbp)
jmp 0x450d
movb -0x111(%rbp), %al
movq -0x110(%rbp), %rcx
movq %rcx, -0xb0(%rbp)
movb %al, -0xa8(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3160
leaq -0x99(%rbp), %rdi
callq 0x3230
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x3370
movq -0x120(%rbp), %rdx
leaq 0x52b03(%rip), %rsi     # 0x57063
leaq -0xd0(%rbp), %rdi
callq 0x3290
jmp 0x456e
leaq -0x30(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x4b40
movb %dl, -0x129(%rbp)
movq %rax, -0x128(%rbp)
jmp 0x458d
movb -0x129(%rbp), %al
movq -0x128(%rbp), %rcx
movq %rcx, -0xe8(%rbp)
movb %al, -0xe0(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3160
leaq -0xd1(%rbp), %rdi
callq 0x3230
leaq -0x30(%rbp), %rdi
callq 0x4b90
jmp 0x45ca
leaq -0x30(%rbp), %rdi
callq 0x4ca0
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x45ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3160
leaq -0x51(%rbp), %rdi
callq 0x3230
jmp 0x467e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4630
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3160
leaq -0x99(%rbp), %rdi
callq 0x3230
jmp 0x467e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4664
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3160
leaq -0xd1(%rbp), %rdi
callq 0x3230
jmp 0x467e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4ca0
movq -0x60(%rbp), %rdi
callq 0x3360
// File: DimitriDaSilva[P]42_ft_containers/tester/utils/print_containers_info.hpp
// Function: void print_set_info<std::set<int, std::less<int>, custom_allocator<int>>>(std::set<int, std::less<int>, custom_allocator<int>> const&)
void
print_set_info(Set const& set)
{
	std::cout << "Size: " << set.size() << std::endl;

	if (set.empty())
		std::cout << "Set is empty" << std::endl;
	else
	{
		std::cout << "Values: ";
		for (typename Set::const_iterator it = set.begin(); it != set.end(); it++)
			std::cout << *it << " ";
		std::cout << std::endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq 0x765b5(%rip), %rdi     # 0x7afb8
leaq 0x52677(%rip), %rsi     # 0x57081
callq 0x31e0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5ff0
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0x3080
movq %rax, %rdi
movq 0x76566(%rip), %rsi     # 0x7af98
callq 0x3220
movq -0x8(%rbp), %rdi
callq 0x6010
testb $0x1, %al
jne 0x4a46
jmp 0x4a6d
movq 0x7656b(%rip), %rdi     # 0x7afb8
leaq 0x52634(%rip), %rsi     # 0x57088
callq 0x31e0
movq %rax, %rdi
movq 0x76535(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x4af7
movq 0x76544(%rip), %rdi     # 0x7afb8
leaq 0x5261a(%rip), %rsi     # 0x57095
callq 0x31e0
movq -0x8(%rbp), %rdi
callq 0x6030
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x6090
movq %rax, -0x18(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x6060
testb $0x1, %al
jne 0x4aad
jmp 0x4ae4
leaq -0x10(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x764f9(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, %rdi
leaq 0x5381c(%rip), %rsi     # 0x582ea
callq 0x31e0
leaq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x60e0
movq %rax, -0x20(%rbp)
jmp 0x4a8d
movq 0x764cd(%rip), %rdi     # 0x7afb8
movq 0x764a6(%rip), %rsi     # 0x7af98
callq 0x3220
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_range()
void
test_set_constructors_range()
{
	ft::set<int> set;
	ft::set<int> range1(set.begin(), set.end());

	print_set_info(set);
	print_set_info(range1);

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(rand() % 10000 - 10000 / 2);

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

	print_set_info(set);
	print_set_info(range2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
leaq -0x30(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x4830
movq -0xe0(%rbp), %rdi
callq 0x7580
movq -0xe0(%rbp), %rdi
movq %rax, -0x68(%rbp)
callq 0x75b0
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rsi
movq -0x70(%rbp), %rdx
leaq -0x60(%rbp), %rdi
callq 0x75e0
jmp 0x6bae
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0x6bb9
leaq -0x60(%rbp), %rdi
callq 0x7660
jmp 0x6bc4
leaq 0x7463d(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x0, -0x80(%rbp)
cmpl $0x64, -0x80(%rbp)
jge 0x6c83
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x68db8bad, %rax, %rax # imm = 0x68DB8BAD
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rax
addl %edx, %eax
imull $0x2710, %eax, %edx     # imm = 0x2710
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x1388(%rax,%rcx), %eax
movl %eax, -0x84(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x84(%rbp), %rsi
callq 0x7770
movb %dl, -0xe9(%rbp)
movq %rax, -0xe8(%rbp)
jmp 0x6c39
movb -0xe9(%rbp), %al
movq -0xe8(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movb %al, -0x90(%rbp)
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0x6bd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x6d2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x6d21
leaq -0x30(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x7580
movq -0xf8(%rbp), %rdi
movq %rax, -0xd0(%rbp)
callq 0x75b0
movq %rax, -0xd8(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xd8(%rbp), %rdx
leaq -0xc8(%rbp), %rdi
callq 0x75e0
jmp 0x6cc9
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0x6cd4
leaq -0xc8(%rbp), %rdi
callq 0x7660
jmp 0x6ce2
leaq -0xc8(%rbp), %rdi
callq 0x4960
leaq -0x60(%rbp), %rdi
callq 0x4960
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x4960
leaq -0x60(%rbp), %rdi
callq 0x4960
leaq -0x30(%rbp), %rdi
callq 0x4960
movq -0x78(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_copy_int()
void
test_set_constructors_copy_int()
{
	ft::set<int> set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(rand() % 10000 - 10000 / 2);

	{
		ft::set<int> cpy1 = set;
		ft::set<int> cpy2(cpy1);

		print_set_info(set);
		print_set_info(cpy1);
		print_set_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x4830
leaq 0x744ad(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x0, -0x34(%rbp)
cmpl $0x64, -0x34(%rbp)
jge 0x6df3
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x68db8bad, %rax, %rax # imm = 0x68DB8BAD
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rax
addl %edx, %eax
imull $0x2710, %eax, %edx     # imm = 0x2710
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x1388(%rax,%rcx), %eax
movl %eax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x7770
movb %dl, -0xc1(%rbp)
movq %rax, -0xc0(%rbp)
jmp 0x6dc3
movb -0xc1(%rbp), %al
movq -0xc0(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x6d69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x6e9d
leaq -0x88(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x77c0
jmp 0x6e05
leaq -0xb8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x77c0
jmp 0x6e1a
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0x6e25
leaq -0x88(%rbp), %rdi
callq 0x7660
jmp 0x6e33
leaq -0xb8(%rbp), %rdi
callq 0x7660
jmp 0x6e41
leaq -0xb8(%rbp), %rdi
callq 0x4960
leaq -0x88(%rbp), %rdi
callq 0x4960
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xd0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x6e91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x4960
leaq -0x88(%rbp), %rdi
callq 0x4960
leaq -0x30(%rbp), %rdi
callq 0x4960
movq -0x40(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_copy_string()
void
test_set_constructors_copy_string()
{
	ft::set<std::string> set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(ft_itoa(rand() % 10000 - 10000 / 2));

	{
		ft::set<std::string> cpy1 = set;
		ft::set<std::string> cpy2(set);

		print_set_info(set);
		print_set_info(cpy1);
		print_set_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x77f0
leaq 0x7433d(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x0, -0x34(%rbp)
cmpl $0x64, -0x34(%rbp)
jge 0x6f91
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x68db8bad, %rax, %rax # imm = 0x68DB8BAD
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rax
addl %edx, %eax
imull $0x2710, %eax, %edx     # imm = 0x2710
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x1388(%rax,%rcx), %esi
leaq -0x58(%rbp), %rdi
callq 0x7860
jmp 0x6f1f
leaq -0x30(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x7810
movb %dl, -0xe1(%rbp)
movq %rax, -0xe0(%rbp)
jmp 0x6f3b
movb -0xe1(%rbp), %al
movq -0xe0(%rbp), %rcx
movq %rcx, -0x78(%rbp)
movb %al, -0x70(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3160
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x6ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x7038
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3160
jmp 0x7038
leaq -0xa8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x7910
jmp 0x6fa3
leaq -0xd8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x7910
jmp 0x6fb5
leaq -0x30(%rbp), %rdi
callq 0x7940
jmp 0x6fc0
leaq -0xa8(%rbp), %rdi
callq 0x7940
jmp 0x6fce
leaq -0xd8(%rbp), %rdi
callq 0x7940
jmp 0x6fdc
leaq -0xd8(%rbp), %rdi
callq 0x7a50
leaq -0xa8(%rbp), %rdi
callq 0x7a50
leaq -0x30(%rbp), %rdi
callq 0x7a50
addq $0xf0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x702c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x7a50
leaq -0xa8(%rbp), %rdi
callq 0x7a50
leaq -0x30(%rbp), %rdi
callq 0x7a50
movq -0x60(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_custom_compare_int()
void
test_set_constructors_custom_compare_int()
{
	ft::set<int, greater<int> > set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(rand() % 10000 - 10000 / 2);

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq -0x30(%rbp), %rdi
callq 0x7a70
leaq 0x741a0(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x0, -0x34(%rbp)
cmpl $0x64, -0x34(%rbp)
jge 0x70f6
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x68db8bad, %rax, %rax # imm = 0x68DB8BAD
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rax
addl %edx, %eax
imull $0x2710, %eax, %edx     # imm = 0x2710
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x1388(%rax,%rcx), %eax
movl %eax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x7a90
movb %dl, -0x61(%rbp)
movq %rax, -0x60(%rbp)
jmp 0x70c6
movb -0x61(%rbp), %al
movq -0x60(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x7076
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7bf0
jmp 0x7110
leaq -0x30(%rbp), %rdi
callq 0x7ae0
jmp 0x7101
leaq -0x30(%rbp), %rdi
callq 0x7bf0
addq $0x70, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_custom_compare_string()
void
test_set_constructors_custom_compare_string()
{
	ft::set<std::string, greater<std::string> > set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(ft_itoa(rand() % 10000 - 10000 / 2));

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
leaq -0x30(%rbp), %rdi
callq 0x7c10
leaq 0x740cd(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x0, -0x34(%rbp)
cmpl $0x64, -0x34(%rbp)
jge 0x71f5
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x68db8bad, %rax, %rax # imm = 0x68DB8BAD
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rax
addl %edx, %eax
imull $0x2710, %eax, %edx     # imm = 0x2710
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x1388(%rax,%rcx), %esi
leaq -0x58(%rbp), %rdi
callq 0x7860
jmp 0x718f
leaq -0x30(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x7c30
movb %dl, -0x81(%rbp)
movq %rax, -0x80(%rbp)
jmp 0x71a8
movb -0x81(%rbp), %al
movq -0x80(%rbp), %rcx
movq %rcx, -0x78(%rbp)
movb %al, -0x70(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3160
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x7149
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x7212
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3160
jmp 0x7212
leaq -0x30(%rbp), %rdi
callq 0x7c80
jmp 0x7200
leaq -0x30(%rbp), %rdi
callq 0x7d90
addq $0x90, %rsp
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x7d90
movq -0x60(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_range()
void
test_set_modifiers_insert_range()
{
	ft::set<int> set1;
	ft::set<int> set2;

	set2.insert(set1.begin(), set1.end());

	print_set_info(set1);
	print_set_info(set2);

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set1.insert(rand() % 1000 - 1000 / 2);
	set2.insert(set1.begin(), set1.end());

	print_set_info(set1);
	print_set_info(set2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
leaq -0x30(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x4830
leaq -0x60(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x4830
movq -0xb8(%rbp), %rdi
callq 0x7580
movq -0xb8(%rbp), %rdi
movq %rax, -0x68(%rbp)
callq 0x75b0
movq -0xb0(%rbp), %rdi
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rsi
movq -0x70(%rbp), %rdx
callq 0xe000
jmp 0xc011
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc01c
leaq -0x60(%rbp), %rdi
callq 0x7660
jmp 0xc027
leaq 0x6f1da(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x0, -0x80(%rbp)
cmpl $0x64, -0x80(%rbp)
jge 0xc0e4
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x10624dd3, %rax, %rax # imm = 0x10624DD3
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x26, %rax
addl %edx, %eax
imull $0x3e8, %eax, %edx      # imm = 0x3E8
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x1f4(%rax,%rcx), %eax
movl %eax, -0x84(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x84(%rbp), %rsi
callq 0x7770
movb %dl, -0xc1(%rbp)
movq %rax, -0xc0(%rbp)
jmp 0xc09c
movb -0xc1(%rbp), %al
movq -0xc0(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movb %al, -0x90(%rbp)
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0xc03c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4960
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xc158
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x7580
movq -0xd0(%rbp), %rdi
movq %rax, -0xa0(%rbp)
callq 0x75b0
movq %rax, -0xa8(%rbp)
movq -0xa0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
leaq -0x60(%rbp), %rdi
callq 0xe000
jmp 0xc127
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc132
leaq -0x60(%rbp), %rdi
callq 0x7660
jmp 0xc13d
leaq -0x60(%rbp), %rdi
callq 0x4960
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xd0, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_iterators_validity()
void
test_set_modifiers_insert_iterators_validity()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	set.insert(42);
	it = set.find(42);

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

	print_set_info(set);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
movq -0xa8(%rbp), %rdi
movl $0x2a, -0x3c(%rbp)
leaq -0x3c(%rbp), %rsi
callq 0x7770
movb %dl, -0x99(%rbp)
movq %rax, -0x98(%rbp)
jmp 0xc1ba
movb -0x99(%rbp), %al
movq -0x98(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movb %al, -0x58(%rbp)
movl $0x2a, -0x6c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0xdf70
movq %rax, -0xb0(%rbp)
jmp 0xc1eb
movq -0xb0(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movl $0x0, -0x70(%rbp)
cmpl $0x14, -0x70(%rbp)
jge 0xc260
leaq -0x30(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xe040
movb %dl, -0xb9(%rbp)
movq %rax, -0xb8(%rbp)
jmp 0xc227
movb -0xb9(%rbp), %al
movq -0xb8(%rbp), %rcx
movq %rcx, -0x80(%rbp)
movb %al, -0x78(%rbp)
movl -0x70(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0xc205
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xc2f7
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc26b
movl $0x2a, -0x8c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x8c(%rbp), %rsi
callq 0xdf70
movq %rax, -0xc8(%rbp)
jmp 0xc28e
movq -0xc8(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xe090
testb $0x1, %al
jne 0xc2b2
jmp 0xc2e5
movq 0x6ecff(%rip), %rdi     # 0x7afb8
leaq 0x4ae2d(%rip), %rsi     # 0x570ed
callq 0x31e0
movq %rax, -0xd0(%rbp)
jmp 0xc2ce
movq -0xd0(%rbp), %rdi
movq 0x6ecbc(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xc2e3
jmp 0xc2e5
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xd0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3360
// File: 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
subq $0xe0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x4830
movl $0x0, -0x34(%rbp)
cmpl $0xa, -0x34(%rbp)
jge 0xc656
leaq -0x30(%rbp), %rdi
leaq -0x34(%rbp), %rsi
callq 0xe040
movb %dl, -0xa1(%rbp)
movq %rax, -0xa0(%rbp)
jmp 0xc61d
movb -0xa1(%rbp), %al
movq -0xa0(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xc5fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xc774
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc661
movl $0x4, -0x64(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x64(%rbp), %rsi
callq 0xdf70
movq %rax, -0xb0(%rbp)
jmp 0xc67e
movq -0xb0(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xe0f0
movq %rax, -0xb8(%rbp)
jmp 0xc69f
movq -0xb8(%rbp), %rax
movq %rax, -0x70(%rbp)
movl $0x2, -0x7c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x7c(%rbp), %rsi
callq 0xdf70
movq %rax, -0xc0(%rbp)
jmp 0xc6c7
movq -0xc0(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xe0f0
movq %rax, -0xc8(%rbp)
jmp 0xc6e8
movq -0xc8(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc701
jmp 0xc703
leaq -0x30(%rbp), %rdi
callq 0x9e70
xorb $-0x1, %al
testb $0x1, %al
jne 0xc714
jmp 0xc757
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x7580
movq -0xd8(%rbp), %rdi
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rsi
callq 0xe0f0
movq %rax, -0xd0(%rbp)
jmp 0xc747
movq -0xd0(%rbp), %rax
movq %rax, -0x98(%rbp)
jmp 0xc703
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc762
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xe0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: 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
subq $0xb0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x4830
movl $0x0, -0x34(%rbp)
cmpl $0xa, -0x34(%rbp)
jge 0xc7ea
leaq -0x30(%rbp), %rdi
leaq -0x34(%rbp), %rsi
callq 0xe040
movb %dl, -0x71(%rbp)
movq %rax, -0x70(%rbp)
jmp 0xc7b7
movb -0x71(%rbp), %al
movq -0x70(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xc79b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xc8f6
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc7f5
movl $0x4, -0x5c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x5c(%rbp), %rsi
callq 0xe130
movq %rax, -0x80(%rbp)
jmp 0xc80f
movq -0x80(%rbp), %rsi
movq 0x6e79e(%rip), %rdi     # 0x7afb8
callq 0x3080
movq %rax, -0x88(%rbp)
jmp 0xc828
movq -0x88(%rbp), %rdi
movq 0x6e762(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xc83d
movl $0x4, -0x60(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xe130
movq %rax, -0x90(%rbp)
jmp 0xc85a
movq -0x90(%rbp), %rsi
movq 0x6e750(%rip), %rdi     # 0x7afb8
callq 0x3080
movq %rax, -0x98(%rbp)
jmp 0xc876
movq -0x98(%rbp), %rdi
movq 0x6e714(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xc88b
movl $0x2, -0x64(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x64(%rbp), %rsi
callq 0xe130
movq %rax, -0xa0(%rbp)
jmp 0xc8a8
movq -0xa0(%rbp), %rsi
movq 0x6e702(%rip), %rdi     # 0x7afb8
callq 0x3080
movq %rax, -0xa8(%rbp)
jmp 0xc8c4
movq -0xa8(%rbp), %rdi
movq 0x6e6c6(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xc8d9
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc8e4
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xb0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x3360
nop
// File: 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
subq $0xb0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
movl $0x0, -0x3c(%rbp)
cmpl $0xa, -0x3c(%rbp)
jge 0xc97f
leaq -0x30(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
callq 0xe040
movb %dl, -0x89(%rbp)
movq %rax, -0x88(%rbp)
jmp 0xc946
movb -0x89(%rbp), %al
movq -0x88(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movb %al, -0x58(%rbp)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0xc924
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xca0b
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc98a
movl $0x4, -0x6c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0xdf70
movq %rax, -0x98(%rbp)
jmp 0xc9a7
movq -0x98(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x75b0
movq -0xa8(%rbp), %rdi
movq %rax, -0x78(%rbp)
movq -0x68(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0xe160
movq %rax, -0xa0(%rbp)
jmp 0xc9e3
movq -0xa0(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xc9f9
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xb0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: 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
subq $0xb0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
movl $0x0, -0x3c(%rbp)
cmpl $0xa, -0x3c(%rbp)
jge 0xca9f
leaq -0x30(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
callq 0xe040
movb %dl, -0x89(%rbp)
movq %rax, -0x88(%rbp)
jmp 0xca66
movb -0x89(%rbp), %al
movq -0x88(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movb %al, -0x58(%rbp)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0xca44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xcb8e
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xcaaa
movl $0x9, -0x6c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0xdf70
movq %rax, -0x98(%rbp)
jmp 0xcac7
movq -0x98(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movl $0x0, -0x70(%rbp)
cmpl $0x9, -0x70(%rbp)
jge 0xcb03
leaq -0x30(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xe130
jmp 0xcaf6
jmp 0xcaf8
movl -0x70(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0xcae1
movl $0x9, -0x7c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x7c(%rbp), %rsi
callq 0xdf70
movq %rax, -0xa0(%rbp)
jmp 0xcb20
movq -0xa0(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xe090
testb $0x1, %al
jne 0xcb3e
jmp 0xcb71
movq 0x6e473(%rip), %rdi     # 0x7afb8
leaq 0x4a5a1(%rip), %rsi     # 0x570ed
callq 0x31e0
movq %rax, -0xa8(%rbp)
jmp 0xcb5a
movq -0xa8(%rbp), %rdi
movq 0x6e430(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xcb6f
jmp 0xcb71
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xcb7c
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xb0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: 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
subq $0xe0, %rsp
leaq -0x30(%rbp), %rdi
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
movl $0x1, -0x3c(%rbp)
cmpl $0xa, -0x3c(%rbp)
jge 0xcc2c
movl -0x3c(%rbp), %ecx
addl %ecx, %ecx
movl %ecx, %eax
leal (%rax,%rax,4), %eax
movl %eax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x7770
movb %dl, -0xb1(%rbp)
movq %rax, -0xb0(%rbp)
jmp 0xcbf3
movb -0xb1(%rbp), %al
movq -0xb0(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movb %al, -0x58(%rbp)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0xcbc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xcd60
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xcc37
leaq -0x30(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x7580
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x97b0
movq -0xc8(%rbp), %rdi
movq -0x38(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rsi
callq 0xe0f0
movq %rax, -0xc0(%rbp)
jmp 0xcc7d
movq -0xc0(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xcc93
movl $0x28, -0x7c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x7c(%rbp), %rsi
callq 0xe130
jmp 0xcca9
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xccb4
movl $0x3c, -0x8c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x8c(%rbp), %rsi
callq 0xdf70
movq %rax, -0xd0(%rbp)
jmp 0xccd7
movq -0xd0(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x75b0
movq -0xe0(%rbp), %rdi
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rsi
movq -0xa0(%rbp), %rdx
callq 0xe160
movq %rax, -0xd8(%rbp)
jmp 0xcd35
movq -0xd8(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xcd4e
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0xe0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: 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
subq $0xa0, %rsp
movaps 0x4a4ae(%rip), %xmm0    # 0x57230
movaps %xmm0, -0x20(%rbp)
movabsq $0x1900000014, %rax     # imm = 0x1900000014
movq %rax, -0x10(%rbp)
leaq -0x14(%rbp), %rdx
movq %rdx, -0x98(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0xe1b0
movq -0x98(%rbp), %rsi
leaq -0x8(%rbp), %rdx
leaq -0x80(%rbp), %rdi
callq 0xe1b0
jmp 0xcdc2
leaq -0x50(%rbp), %rdi
callq 0x7660
jmp 0xcdcd
leaq -0x80(%rbp), %rdi
callq 0x7660
jmp 0xcdd8
leaq -0x50(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
leaq -0x80(%rbp), %rsi
callq 0xe220
movq -0xa0(%rbp), %rdi
callq 0x7660
jmp 0xcdfa
leaq -0x80(%rbp), %rdi
callq 0x7660
jmp 0xce05
leaq -0x80(%rbp), %rdi
callq 0x4960
leaq -0x50(%rbp), %rdi
callq 0x4960
addq $0xa0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0xce4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x4960
leaq -0x50(%rbp), %rdi
callq 0x4960
movq -0x88(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: 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
subq $0xe0, %rsp
movaps 0x4a3ce(%rip), %xmm0    # 0x57250
movaps %xmm0, -0x20(%rbp)
movabsq $0x1900000014, %rax     # imm = 0x1900000014
movq %rax, -0x10(%rbp)
leaq -0x14(%rbp), %rdx
movq %rdx, -0xa8(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0xe1b0
movq -0xa8(%rbp), %rsi
leaq -0x8(%rbp), %rdx
leaq -0x80(%rbp), %rdi
callq 0xe1b0
jmp 0xcec2
leaq -0x50(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x7580
movq %rax, -0x98(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x7580
movq -0xb0(%rbp), %rdi
movq %rax, -0xa0(%rbp)
callq 0x7660
jmp 0xcef7
leaq -0x80(%rbp), %rdi
callq 0x7660
jmp 0xcf02
leaq -0x98(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x6e0a1(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0xb8(%rbp)
jmp 0xcf25
movq -0xb8(%rbp), %rdi
movq 0x6e065(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xcf3a
leaq -0xa0(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x6e069(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0xc0(%rbp)
jmp 0xcf5d
movq -0xc0(%rbp), %rdi
movq 0x6e02d(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xcf72
leaq -0x50(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
leaq -0x80(%rbp), %rsi
callq 0xe220
movq -0xc8(%rbp), %rdi
callq 0x7660
jmp 0xcf94
leaq -0x80(%rbp), %rdi
callq 0x7660
jmp 0xcf9f
leaq -0x98(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x6e004(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0xd0(%rbp)
jmp 0xcfc2
movq -0xd0(%rbp), %rdi
movq 0x6dfc8(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xcfd7
leaq -0xa0(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x6dfcc(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0xd8(%rbp)
jmp 0xcffa
movq -0xd8(%rbp), %rdi
movq 0x6df90(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xd00f
leaq -0x80(%rbp), %rdi
callq 0x4960
leaq -0x50(%rbp), %rdi
callq 0x4960
addq $0xe0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0xd059
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x4960
leaq -0x50(%rbp), %rdi
callq 0x4960
movq -0x88(%rbp), %rdi
callq 0x3360
nop
// File: 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
subq $0x120, %rsp            # imm = 0x120
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x4830
movq -0xd0(%rbp), %rdi
movl $0x64, -0x34(%rbp)
leaq -0x34(%rbp), %rsi
callq 0x7770
movb %dl, -0xc1(%rbp)
movq %rax, -0xc0(%rbp)
jmp 0xd0b1
movb -0xc1(%rbp), %al
movq -0xc0(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
movl $0xc8, -0x5c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x5c(%rbp), %rsi
callq 0x7770
movb %dl, -0xd9(%rbp)
movq %rax, -0xd8(%rbp)
jmp 0xd0e8
movb -0xd9(%rbp), %al
movq -0xd8(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movb %al, -0x68(%rbp)
movl $0x12c, -0x74(%rbp)     # imm = 0x12C
leaq -0x30(%rbp), %rdi
leaq -0x74(%rbp), %rsi
callq 0x7770
movb %dl, -0xe9(%rbp)
movq %rax, -0xe8(%rbp)
jmp 0xd11f
movb -0xe9(%rbp), %al
movq -0xe8(%rbp), %rcx
movq %rcx, -0x88(%rbp)
movb %al, -0x80(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xd141
leaq -0x30(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0xe250
movq -0xf8(%rbp), %rdi
callq 0x7660
jmp 0xd15f
movl $0x44d, -0x8c(%rbp)     # imm = 0x44D
leaq -0x30(%rbp), %rdi
leaq -0x8c(%rbp), %rsi
callq 0x7770
movb %dl, -0x101(%rbp)
movq %rax, -0x100(%rbp)
jmp 0xd188
movb -0x101(%rbp), %al
movq -0x100(%rbp), %rcx
movq %rcx, -0xa0(%rbp)
movb %al, -0x98(%rbp)
movl $0x89a, -0xa4(%rbp)     # imm = 0x89A
leaq -0x30(%rbp), %rdi
leaq -0xa4(%rbp), %rsi
callq 0x7770
movb %dl, -0x111(%rbp)
movq %rax, -0x110(%rbp)
jmp 0xd1cb
movb -0x111(%rbp), %al
movq -0x110(%rbp), %rcx
movq %rcx, -0xb8(%rbp)
movb %al, -0xb0(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xd1f0
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
movq -0x40(%rbp), %rdi
callq 0x3360