LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_resize_smaller()
void
test_vector_capacity_resize_smaller()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	vec.resize(3);

	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d0a4
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d0b8
leaq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x3df80
jmp 0x3d0c8
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d0d3
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d10e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_resize_equal()
void
test_vector_capacity_resize_equal()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	vec.resize(6);

	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d154
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d168
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
callq 0x3df80
jmp 0x3d178
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d183
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d1be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_resize_bigger_size()
void
test_vector_capacity_resize_bigger_size()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	vec.resize(7);

	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d204
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d218
leaq -0x18(%rbp), %rdi
movl $0x7, %esi
callq 0x3df80
jmp 0x3d228
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d233
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d26e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_resize_bigger_size_val()
void
test_vector_capacity_resize_bigger_size_val()
{
	ft::vector<std::string> vec(6, "test");
	print_vec_info(vec);

	vec.resize(7, "new test");

	{
		ft::vector<std::string> cpy1(vec);
		print_vec_info(cpy1);
		ft::vector<std::string> cpy2 = vec;
		print_vec_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x3370
movq -0xb0(%rbp), %rdx
leaq 0x19e66(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x3d2b4
leaq -0x4d(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x15360
movq -0xb8(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x3d2df
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x3d305
leaq -0x71(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x3370
movq -0xc0(%rbp), %rdx
leaq 0x1a7b5(%rip), %rsi     # 0x57ad8
leaq -0x70(%rbp), %rdi
callq 0x3290
jmp 0x3d32e
leaq -0x18(%rbp), %rdi
movl $0x7, %esi
leaq -0x70(%rbp), %rdx
callq 0x3e010
jmp 0x3d342
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x90(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3e0c0
jmp 0x3d366
leaq -0x90(%rbp), %rdi
callq 0x3c2a0
jmp 0x3d374
leaq -0xa8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3e0c0
jmp 0x3d386
leaq -0xa8(%rbp), %rdi
callq 0x3c2a0
jmp 0x3d394
leaq -0xa8(%rbp), %rdi
callq 0x152b0
leaq -0x90(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0xc0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3d3ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x3d46c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3d463
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3d426
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
jmp 0x3d463
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3d457
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x152b0
leaq -0x90(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_resize_bigger_capacity()
void
test_vector_capacity_resize_bigger_capacity()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	vec.resize(10);

	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d4b4
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d4c8
leaq -0x18(%rbp), %rdi
movl $0xa, %esi
callq 0x3df80
jmp 0x3d4d8
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d4e3
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d51e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_resize_bigger_capacity_val()
void
test_vector_capacity_resize_bigger_capacity_val()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	vec.resize(10, 100);

	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d564
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d578
movl $0x64, -0x30(%rbp)
leaq -0x18(%rbp), %rdi
movl $0xa, %esi
leaq -0x30(%rbp), %rdx
callq 0x3e1b0
jmp 0x3d593
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d59e
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d5d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_reserve_bigger_capacity()
void
test_vector_capacity_reserve_bigger_capacity()
{
	ft::vector<int> vec(6, 42);

	print_vec_info(vec);
	vec.reserve(100);
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d624
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d638
leaq -0x18(%rbp), %rdi
movl $0x64, %esi
callq 0x3e260
jmp 0x3d648
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d653
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d68e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_capacity.cpp
// Function: test_vector_capacity_reserve_smaller_capacity()
void
test_vector_capacity_reserve_smaller_capacity()
{
	ft::vector<int> vec(6, 42);

	print_vec_info(vec);
	vec.reserve(-1);
	print_vec_info(vec);
	vec.reserve(1);
	print_vec_info(vec);
	vec.reserve(6);
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x3d6d4
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d6e8
leaq -0x18(%rbp), %rdi
movq $-0x1, %rsi
callq 0x3e260
jmp 0x3d6fa
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d705
leaq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x3e260
jmp 0x3d715
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d720
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
callq 0x3e260
jmp 0x3d730
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x3d73b
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x3d776
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_allocator.cpp
// Function: test_vector_allocator_cplusplus()
void
test_vector_allocator_cplusplus()
{
	ft::vector<int> myvector;
	int* p;
	unsigned int i;

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

	// construct values in-place on the array:
	for (i = 0; i < 5; i++)
		myvector.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++)
		myvector.get_allocator().destroy(&p[i]);
	myvector.get_allocator().deallocate(p, 5);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq -0x18(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x14d00
movq -0x50(%rbp), %rsi
leaq -0x25(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x40930
movq -0x48(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x5, %esi
callq 0x4880
movq %rax, -0x40(%rbp)
jmp 0x4048e
movq -0x40(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x48e0
movl $0x0, -0x24(%rbp)
cmpl $0x5, -0x24(%rbp)
jae 0x40502
leaq -0x35(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x40930
movq -0x20(%rbp), %rsi
movl -0x24(%rbp), %eax
shlq $0x2, %rax
addq %rax, %rsi
leaq -0x35(%rbp), %rdi
leaq -0x24(%rbp), %rdx
callq 0x4900
leaq -0x35(%rbp), %rdi
callq 0x48e0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x404a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x48e0
jmp 0x4061a
movq 0x3aaaf(%rip), %rdi     # 0x7afb8
leaq 0x16b2f(%rip), %rsi     # 0x5703f
callq 0x31e0
jmp 0x40517
movl $0x0, -0x24(%rbp)
cmpl $0x5, -0x24(%rbp)
jae 0x4056e
movq 0x3aa8d(%rip), %rdi     # 0x7afb8
movl $0x20, %esi
callq 0x3250
movq %rax, -0x58(%rbp)
jmp 0x4053b
movq -0x58(%rbp), %rdi
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
movl (%rax,%rcx,4), %esi
callq 0x3350
jmp 0x40550
jmp 0x40552
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x4051e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x4061a
movq 0x3aa43(%rip), %rdi     # 0x7afb8
movq 0x3aa1c(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x40583
movl $0x0, -0x24(%rbp)
cmpl $0x5, -0x24(%rbp)
jae 0x405c8
leaq -0x36(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x40930
movq -0x20(%rbp), %rsi
movl -0x24(%rbp), %eax
shlq $0x2, %rax
addq %rax, %rsi
leaq -0x36(%rbp), %rdi
callq 0x4920
leaq -0x36(%rbp), %rdi
callq 0x48e0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x4058a
leaq -0x37(%rbp), %rdi
movq %rdi, -0x60(%rbp)
leaq -0x18(%rbp), %rsi
callq 0x40930
movq -0x60(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0x5, %edx
callq 0x4930
jmp 0x405ed
leaq -0x37(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x37(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x30(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_allocator.cpp
// Function: test_vector_allocator_custom_allocator()
void
test_vector_allocator_custom_allocator()
{
	ft::vector<int, custom_allocator<int> > vec(6, 42);
	print_vec_info(vec);

	vec.push_back(4);
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x40970
movq -0x40(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movq %rdi, -0x38(%rbp)
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x40980
movq -0x38(%rbp), %rdi
callq 0x40a00
jmp 0x40671
movl $0x4, -0x30(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x40b50
jmp 0x40687
leaq -0x18(%rbp), %rdi
callq 0x40a00
jmp 0x40692
leaq -0x18(%rbp), %rdi
callq 0x40b80
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x40b80
movq -0x28(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_constructors.cpp
// Function: test_vector_constructors_fill_standard()
void
test_vector_constructors_fill_standard()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	// Because fill constructor only allocates exact needed memory
	// we test if push_back triggers same memory allocation as std
	vec.push_back(4);
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x15410
movq -0x38(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x425b4
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x425c8
movl $0x4, -0x30(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3ae40
jmp 0x425de
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x425e9
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x42624
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_constructors.cpp
// Function: test_vector_constructors_copy()
void
test_vector_constructors_copy()
{
	ft::vector<int> vec(42, 42);
	print_vec_info(vec);

	ft::vector<int> cpy = vec;
	print_vec_info(cpy);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x15410
movq -0x50(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x2a, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x42774
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x42788
leaq -0x48(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x375b0
jmp 0x42797
leaq -0x48(%rbp), %rdi
callq 0x3c0a0
jmp 0x427a2
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x50, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x427fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x427f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_constructors.cpp
// Function: test_vector_constructors_deepness()
void
test_vector_constructors_deepness()
{
	ft::vector<int> vec(42, 42);
	print_vec_info(vec);

	{
		ft::vector<int> cpy1(vec);
		print_vec_info(cpy1);
		ft::vector<int> cpy2 = vec;
		print_vec_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x15410
movq -0x68(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x2a, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x42844
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x42858
leaq -0x48(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x375b0
jmp 0x42867
leaq -0x48(%rbp), %rdi
callq 0x3c0a0
jmp 0x42872
leaq -0x60(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x375b0
jmp 0x42881
leaq -0x60(%rbp), %rdi
callq 0x3c0a0
jmp 0x4288c
leaq -0x60(%rbp), %rdi
callq 0x15250
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x70, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x42907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x428fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x428f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x15250
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_constructors.cpp
// Function: test_vector_constructors_strings()
void
test_vector_constructors_strings()
{
	ft::vector<std::string> vec(42, "test");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1(vec);
		print_vec_info(cpy1);
		ft::vector<std::string> cpy2 = vec;
		print_vec_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x3370
movq -0x88(%rbp), %rdx
leaq 0x147d6(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x42944
leaq -0x4d(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x15360
movq -0x90(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x2a, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x4296f
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x42995
leaq -0x68(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3e0c0
jmp 0x429a4
leaq -0x68(%rbp), %rdi
callq 0x3c2a0
jmp 0x429af
leaq -0x80(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3e0c0
jmp 0x429be
leaq -0x80(%rbp), %rdi
callq 0x3c2a0
jmp 0x429c9
leaq -0x80(%rbp), %rdi
callq 0x152b0
leaq -0x68(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x42a19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x42a67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x42a5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x42a55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x152b0
leaq -0x68(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_constructors.cpp
// Function: test_vector_constructors_copy_const()
void
test_vector_constructors_copy_const()
{
	ft::vector<int> vec(6, 42);
	print_vec_info(vec);

	ft::vector<int> const const_vec1(vec);
	print_vec_info(const_vec1);

	ft::vector<int> const const_vec2 = vec;
	print_vec_info(const_vec2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl $0x2a, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x15410
movq -0x68(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x6, %esi
leaq -0x1c(%rbp), %rdx
callq 0x35420
jmp 0x42aa4
leaq -0x1d(%rbp), %rdi
callq 0x48e0
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x42ab8
leaq -0x48(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x375b0
jmp 0x42ac7
leaq -0x48(%rbp), %rdi
callq 0x3c0a0
jmp 0x42ad2
leaq -0x60(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x375b0
jmp 0x42ae1
leaq -0x60(%rbp), %rdi
callq 0x3c0a0
jmp 0x42aec
leaq -0x60(%rbp), %rdi
callq 0x15250
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x70, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x48e0
jmp 0x42b67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x42b5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x42b55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x15250
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_range_empty_src()
void
test_vector_modifiers_assign_range_empty_src()
{
	ft::vector<std::string> vec;
	ft::vector<std::string> new_vec;
	ft::vector<std::string>::iterator it = new_vec.begin();

	new_vec.assign(vec.begin(), vec.end());
	print_vec_info(vec);
	print_vec_info(new_vec);

	ft::vector<std::string>::iterator new_it = new_vec.begin();
	if (&*it != &*new_it)
		std::cout << "Reallocation occurred" << std::endl;

	{
		ft::vector<std::string> cpy1 = new_vec;
		print_vec_info(cpy1);
		ft::vector<std::string> cpy2(new_vec);
		print_vec_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
leaq -0x18(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x14ce0
leaq -0x30(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x14ce0
movq -0x98(%rbp), %rdi
callq 0x3f050
movq -0xa0(%rbp), %rdi
movq %rax, -0x38(%rbp)
callq 0x3f050
movq -0xa0(%rbp), %rdi
movq %rax, -0x40(%rbp)
callq 0x3ed10
movq -0x98(%rbp), %rdi
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x4b510
jmp 0x43ff1
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x43ffc
leaq -0x30(%rbp), %rdi
callq 0x3c2a0
jmp 0x44007
leaq -0x30(%rbp), %rdi
callq 0x3f050
movq %rax, -0x60(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x4b550
movq %rax, -0xa8(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4b550
movq %rax, %rcx
movq -0xa8(%rbp), %rax
cmpq %rcx, %rax
je 0x44080
movq 0x36f75(%rip), %rdi     # 0x7afb8
leaq 0x13bfb(%rip), %rsi     # 0x57c45
callq 0x31e0
movq %rax, -0xb0(%rbp)
jmp 0x44058
movq -0xb0(%rbp), %rdi
movq 0x36f32(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x4406d
jmp 0x44080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x44119
leaq -0x78(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3e0c0
jmp 0x4408f
leaq -0x78(%rbp), %rdi
callq 0x3c2a0
jmp 0x4409a
leaq -0x90(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3e0c0
jmp 0x440ac
leaq -0x90(%rbp), %rdi
callq 0x3c2a0
jmp 0x440ba
leaq -0x90(%rbp), %rdi
callq 0x152b0
leaq -0x78(%rbp), %rdi
callq 0x152b0
leaq -0x30(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0xb0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x44110
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x152b0
leaq -0x78(%rbp), %rdi
callq 0x152b0
leaq -0x30(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x50(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_range_wrong_iterators()
void
test_vector_modifiers_assign_range_wrong_iterators()
{
	ft::vector<std::string> vec;
	ft::vector<std::string> new_vec;

	new_vec.assign(vec.end(), vec.begin());
	print_vec_info(vec);
	print_vec_info(new_vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq -0x18(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x14ce0
leaq -0x30(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x14ce0
movq -0x60(%rbp), %rdi
callq 0x3ed10
movq -0x60(%rbp), %rdi
movq %rax, -0x38(%rbp)
callq 0x3f050
movq -0x58(%rbp), %rdi
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0x4b510
jmp 0x4418f
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x4419a
leaq -0x30(%rbp), %rdi
callq 0x3c2a0
jmp 0x441a5
leaq -0x30(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_fill_empty()
void
test_vector_modifiers_assign_fill_empty()
{
	ft::vector<std::string> vec;

	print_vec_info(vec);
	vec.assign(5, "42");
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq -0x18(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x14ce0
movq -0x58(%rbp), %rdi
callq 0x3c2a0
jmp 0x44210
leaq -0x49(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x3370
movq -0x60(%rbp), %rdx
leaq 0x1386f(%rip), %rsi     # 0x57a97
leaq -0x48(%rbp), %rdi
callq 0x3290
jmp 0x44233
leaq -0x18(%rbp), %rdi
movl $0x5, %esi
leaq -0x48(%rbp), %rdx
callq 0x4b570
jmp 0x44247
leaq -0x48(%rbp), %rdi
callq 0x3160
leaq -0x49(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x44264
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x442ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x442a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x3160
leaq -0x49(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x20(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_fill1()
void
test_vector_modifiers_assign_fill1()
{
	ft::vector<std::string> vec(5, "test");

	print_vec_info(vec);
	vec.assign(0, "42");
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3370
movq -0x80(%rbp), %rdx
leaq 0x12e2c(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x442ee
leaq -0x4d(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x15360
movq -0x88(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x5, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x44319
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x4433f
leaq -0x71(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3370
movq -0x90(%rbp), %rdx
leaq 0x1373a(%rip), %rsi     # 0x57a97
leaq -0x70(%rbp), %rdi
callq 0x3290
jmp 0x44368
xorl %eax, %eax
movl %eax, %esi
leaq -0x18(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x4b570
jmp 0x4437b
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x44398
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x443d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x44424
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4441b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x44412
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_fill2()
void
test_vector_modifiers_assign_fill2()
{
	ft::vector<std::string> vec(10, "test");

	print_vec_info(vec);
	vec.assign(10, "42");
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3370
movq -0x80(%rbp), %rdx
leaq 0x12cbc(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x4445e
leaq -0x4d(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x15360
movq -0x88(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0xa, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x44489
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x444af
leaq -0x71(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3370
movq -0x90(%rbp), %rdx
leaq 0x135ca(%rip), %rsi     # 0x57a97
leaq -0x70(%rbp), %rdi
callq 0x3290
jmp 0x444d8
leaq -0x18(%rbp), %rdi
movl $0xa, %esi
leaq -0x70(%rbp), %rdx
callq 0x4b570
jmp 0x444ec
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x44509
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x44547
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x44595
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4458c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x44583
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_fill3()
void
test_vector_modifiers_assign_fill3()
{
	ft::vector<std::string> vec(10, "test");

	print_vec_info(vec);
	vec.assign(20, "42");
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3370
movq -0x80(%rbp), %rdx
leaq 0x12b4c(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x445ce
leaq -0x4d(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x15360
movq -0x88(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0xa, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x445f9
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x4461f
leaq -0x71(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3370
movq -0x90(%rbp), %rdx
leaq 0x1345a(%rip), %rsi     # 0x57a97
leaq -0x70(%rbp), %rdi
callq 0x3290
jmp 0x44648
leaq -0x18(%rbp), %rdi
movl $0x14, %esi
leaq -0x70(%rbp), %rdx
callq 0x4b570
jmp 0x4465c
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x44679
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x446b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x44705
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x446fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x446f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3160
leaq -0x71(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_assign_cplusplus()
void
test_vector_modifiers_assign_cplusplus()
{
	ft::vector<int> first;
	ft::vector<int> second;
	ft::vector<int> third;

	first.assign(7, 100);             // 7 ints with a value of 100

	ft::vector<int>::iterator it;
	it = first.begin() + 1;

	second.assign(it, first.end() - 1); // the 5 central values of first

	int myints[] = {1776, 7, 4};
	third.assign(myints, myints + 3);   // assigning from array.

	std::cout << "Size of first: " << int (first.size()) << std::endl;
	std::cout << "Size of second: " << int (second.size()) << std::endl;
	std::cout << "Size of third: " << int (third.size()) << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
leaq -0x18(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x14d00
leaq -0x30(%rbp), %rdi
callq 0x14d00
leaq -0x48(%rbp), %rdi
callq 0x14d00
movq -0xa8(%rbp), %rdi
movl $0x64, -0x4c(%rbp)
movl $0x7, %esi
leaq -0x4c(%rbp), %rdx
callq 0x4b5a0
jmp 0x4475b
leaq -0x68(%rbp), %rdi
callq 0x3afc0
leaq -0x18(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x380c0
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rdi
movl $0x1, %esi
movq %rsi, -0xb0(%rbp)
callq 0x3afe0
movq -0xb8(%rbp), %rdi
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x80(%rbp)
callq 0x37f50
movq -0xb0(%rbp), %rsi
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x382d0
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x4b5d0
jmp 0x447e4
movabsq $0x7000006f0, %rax      # imm = 0x7000006F0
movq %rax, -0xa0(%rbp)
movl $0x4, -0x98(%rbp)
leaq -0x94(%rbp), %rdx
leaq -0x48(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x4b610
jmp 0x44818
movq 0x36799(%rip), %rdi     # 0x7afb8
leaq 0x13435(%rip), %rsi     # 0x57c5b
callq 0x31e0
movq %rax, -0xc0(%rbp)
jmp 0x44834
leaq -0x18(%rbp), %rdi
callq 0x376a0
movq -0xc0(%rbp), %rdi
movl %eax, %esi
callq 0x3350
movq %rax, -0xc8(%rbp)
jmp 0x44854
movq -0xc8(%rbp), %rdi
movq 0x36736(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x44869
movq 0x36748(%rip), %rdi     # 0x7afb8
leaq 0x133f4(%rip), %rsi     # 0x57c6b
callq 0x31e0
movq %rax, -0xd0(%rbp)
jmp 0x44885
leaq -0x30(%rbp), %rdi
callq 0x376a0
movq -0xd0(%rbp), %rdi
movl %eax, %esi
callq 0x3350
movq %rax, -0xd8(%rbp)
jmp 0x448a5
movq -0xd8(%rbp), %rdi
movq 0x366e5(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x448ba
movq 0x366f7(%rip), %rdi     # 0x7afb8
leaq 0x133b4(%rip), %rsi     # 0x57c7c
callq 0x31e0
movq %rax, -0xe0(%rbp)
jmp 0x448d6
leaq -0x48(%rbp), %rdi
callq 0x376a0
movq -0xe0(%rbp), %rdi
movl %eax, %esi
callq 0x3350
movq %rax, -0xe8(%rbp)
jmp 0x448f6
movq -0xe8(%rbp), %rdi
movq 0x36694(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x4490b
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x30(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0xf0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x15250
leaq -0x30(%rbp), %rdi
callq 0x15250
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x58(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_push_back1()
void
test_vector_modifiers_push_back1()
{
	srand(g_seed);

	ft::vector<int> vec;
	int const size = 1;

	vec.push_back(rand() % size - size / 2);
	print_vec_info(vec);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
leaq 0x36899(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
leaq -0x18(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x14d00
movl $0x1, -0x1c(%rbp)
callq 0x30a0
movq -0x38(%rbp), %rdi
movl $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x3ae40
jmp 0x449a5
leaq -0x18(%rbp), %rdi
callq 0x3c0a0
jmp 0x449b0
leaq -0x18(%rbp), %rdi
callq 0x15250
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x15250
movq -0x28(%rbp), %rdi
callq 0x3360
nopl (%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_push_back()
void
test_vector_modifiers_push_back()
{
	srand(g_seed);

	for (int i = 1; i < 100; i *= 10)
	{
		ft::vector<int> vec;
		for (int j = 0; j < i; j++)
		{
			vec.push_back(rand() % 100 - 100 / 2);
			print_vec_info(vec);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
leaq 0x36819(%rip), %rax     # 0x7b208
movl (%rax), %edi
callq 0x31d0
movl $0x1, -0x4(%rbp)
cmpl $0x64, -0x4(%rbp)
jge 0x44aa0
leaq -0x20(%rbp), %rdi
callq 0x14d00
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x4(%rbp), %eax
jge 0x44a8b
callq 0x30a0
movl %eax, %ecx
movslq %ecx, %rax
imulq $0x51eb851f, %rax, %rax # imm = 0x51EB851F
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rax
addl %edx, %eax
imull $0x64, %eax, %edx
movl %ecx, %eax
negl %edx
movl %edx, %ecx
leal -0x32(%rax,%rcx), %eax
movl %eax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3ae40
jmp 0x44a5c
leaq -0x20(%rbp), %rdi
callq 0x3c0a0
jmp 0x44a67
jmp 0x44a69
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x44a17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x15250
jmp 0x44aa6
leaq -0x20(%rbp), %rdi
callq 0x15250
imull $0xa, -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x449fd
addq $0x40, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x3360
nop
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_pop_back()
void
test_vector_modifiers_pop_back()
{
	ft::vector<std::string> vec(100, "test");

	while (!vec.empty())
	{
		print_vec_info(vec);
		vec.pop_back();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3370
movq -0x58(%rbp), %rdx
leaq 0x1263f(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x44adb
leaq -0x4d(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x15360
movq -0x60(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x64, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x44b00
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3cb30
xorb $-0x1, %al
testb $0x1, %al
jne 0x44b2c
jmp 0x44b90
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x44b37
leaq -0x18(%rbp), %rdi
callq 0x4b640
jmp 0x44b1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x44b6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x44b9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x152b0
jmp 0x44b9f
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0x60, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3360
nopl (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_single_end_w_realloc()
void
test_vector_modifiers_insert_single_end_w_realloc()
{
	ft::vector<std::string> vec(100, "test");
	ft::vector<std::string>::iterator it = vec.end();
	ft::vector<std::string>::iterator tmp;

	print_vec_info(vec);
	tmp = vec.insert(it, "42");
	print_vec_info(vec);

	it = vec.begin();
	if (tmp == it + 100)
		std::cout << "valid" << std::endl;

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x3370
movq -0xc8(%rbp), %rdx
leaq 0x117b6(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x45964
leaq -0x4d(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x15360
movq -0xd0(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x64, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x4598f
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x3ed10
movq %rax, -0x58(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4b670
movq -0xd8(%rbp), %rdi
callq 0x3c2a0
jmp 0x459d5
leaq -0x70(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x4b6d0
leaq -0x91(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x3370
movq -0xe0(%rbp), %rdx
leaq 0x12094(%rip), %rsi     # 0x57a97
leaq -0x90(%rbp), %rdi
callq 0x3290
jmp 0x45a11
movq -0x70(%rbp), %rsi
leaq -0x18(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x4b690
movq %rax, -0xe8(%rbp)
jmp 0x45a2e
movq -0xe8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x3160
leaq -0x91(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x45a64
leaq -0x18(%rbp), %rdi
callq 0x3f050
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
movl $0x64, %esi
callq 0x4b850
movq %rax, -0xa8(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x4b710
testb $0x1, %al
jne 0x45aad
jmp 0x45b59
movq 0x35504(%rip), %rdi     # 0x7afb8
leaq 0x12a22(%rip), %rsi     # 0x584dd
callq 0x31e0
movq %rax, -0xf0(%rbp)
jmp 0x45ac9
movq -0xf0(%rbp), %rdi
movq 0x354c1(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x45ade
jmp 0x45b59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x45b0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x45b92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x45b89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x45b4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x3160
leaq -0x91(%rbp), %rdi
callq 0x3230
jmp 0x45b89
leaq -0xc0(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3e0c0
jmp 0x45b6b
leaq -0xc0(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0xf0, %rsp
popq %rbp
retq
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nopl (%rax,%rax)
// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_middle_w_realloc()
void
test_vector_modifiers_insert_fill_middle_w_realloc()
{
	ft::vector<std::string> vec(100, "test");

	print_vec_info(vec);
	vec.insert(vec.begin() + 50, 5, "42");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
leaq -0x39(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x3370
movq -0xb8(%rbp), %rdx
leaq 0x10c36(%rip), %rsi     # 0x5710f
leaq -0x38(%rbp), %rdi
callq 0x3290
jmp 0x464e4
leaq -0x4d(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x15360
movq -0xc0(%rbp), %rcx
leaq -0x18(%rbp), %rdi
movl $0x64, %esi
leaq -0x38(%rbp), %rdx
callq 0x3c220
jmp 0x4650f
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x46535
leaq -0x18(%rbp), %rdi
callq 0x3f050
movq %rax, -0x68(%rbp)
leaq -0x68(%rbp), %rdi
movl $0x32, %esi
callq 0x4b850
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x4b6d0
leaq -0x89(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x3370
movq -0xc8(%rbp), %rdx
leaq 0x11515(%rip), %rsi     # 0x57a97
leaq -0x88(%rbp), %rdi
callq 0x3290
jmp 0x46590
movq -0x58(%rbp), %rsi
leaq -0x18(%rbp), %rdi
movl $0x5, %edx
leaq -0x88(%rbp), %rcx
callq 0x4b890
movq %rax, -0xd0(%rbp)
jmp 0x465b2
movq -0xd0(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x3160
leaq -0x89(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x3c2a0
jmp 0x465e3
leaq -0xb0(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3e0c0
jmp 0x465f5
leaq -0xb0(%rbp), %rdi
callq 0x152b0
leaq -0x18(%rbp), %rdi
callq 0x152b0
addq $0xd0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4663f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d(%rbp), %rdi
callq 0x16ae0
leaq -0x38(%rbp), %rdi
callq 0x3160
leaq -0x39(%rbp), %rdi
callq 0x3230
jmp 0x46693
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4668a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4667e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x3160
leaq -0x89(%rbp), %rdi
callq 0x3230
leaq -0x18(%rbp), %rdi
callq 0x152b0
movq -0x48(%rbp), %rdi
callq 0x3360
nopl (%rax)