// File: DimitriDaSilva[P]42_ft_containers/containers/vector.hpp
// Function: ft::vector<int, std::allocator<int>>::vector<ft::random_access_iterator<int>>(ft::random_access_iterator<int>, ft::random_access_iterator<int>, std::allocator<int> const&, ft::enable_if<!ft::is_integral<ft::random_access_iterator<int>>::value, ft::random_access_iterator<int>>::type*)
vector(InputIterator first,
				InputIterator last,
				allocator_type const& alloc = allocator_type(),
				typename ft::enable_if<!ft::is_integral<InputIterator>::value,
										InputIterator>::type* = NULL) :
			_start(NULL),
			_allocator(alloc),
			_size(0),
			_capacity(0)
		{
			reserve(ft::distance(first, last));

			for (iterator it_arg = first; it_arg != last; it_arg++)
			{
				_allocator.construct(_start + _size, *it_arg);
				_size++;
			}
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rsi, -0x60(%rbp)
movq %rdx, -0x78(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x68(%rbp)
leaq 0x3ee72(%rip), %rax     # 0x98008
movq %rax, (%rdi)
movq $0x0, 0x8(%rdi)
addq $0x10, %rdi
movq %rdi, -0x70(%rbp)
movq -0x20(%rbp), %rsi
callq 0x8770
movq -0x68(%rbp), %rax
movq -0x60(%rbp), %rsi
movq $0x0, 0x18(%rax)
movq $0x0, 0x20(%rax)
leaq -0x30(%rbp), %rdi
callq 0x22310
jmp 0x591d5
movq -0x78(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x22310
jmp 0x591e4
leaq -0x30(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x58df0
movq %rax, -0x80(%rbp)
jmp 0x591f7
movq -0x80(%rbp), %rsi
movq -0x68(%rbp), %rdi
callq 0x20d50
jmp 0x59206
leaq -0x48(%rbp), %rdi
callq 0x21b80
jmp 0x59211
leaq -0x30(%rbp), %rdi
callq 0x21b80
jmp 0x5921c
movq -0x60(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x22310
jmp 0x5922b
jmp 0x5922d
movq -0x78(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x21dc0
movb %al, -0x81(%rbp)
jmp 0x59242
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x592be
jmp 0x5924e
leaq -0x50(%rbp), %rdi
callq 0x21b80
jmp 0x59340
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x5934d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x59294
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x21b80
jmp 0x59292
jmp 0x59294
leaq -0x30(%rbp), %rdi
callq 0x21b80
jmp 0x5929f
jmp 0x5934d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x21b80
jmp 0x59342
movq -0x68(%rbp), %rcx
movq %rcx, %rax
addq $0x10, %rax
movq %rax, -0xa0(%rbp)
movq 0x8(%rcx), %rax
movq 0x18(%rcx), %rcx
leaq (%rax,%rcx,4), %rax
movq %rax, -0x98(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x21ef0
movq %rax, -0x90(%rbp)
jmp 0x592f5
movq -0x90(%rbp), %rdx
movq -0x98(%rbp), %rsi
movq -0xa0(%rbp), %rdi
callq 0x7a30
movq -0x68(%rbp), %rax
movq 0x18(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rax)
leaq -0x58(%rbp), %rdi
leaq -0x50(%rbp), %rsi
xorl %edx, %edx
callq 0x21e90
jmp 0x59330
leaq -0x58(%rbp), %rdi
callq 0x21b80
jmp 0x5933b
jmp 0x5922d
jmp 0x59344
jmp 0x5934d
addq $0xa0, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x7980
movq -0x38(%rbp), %rdi
callq 0x6310
movq %rax, %rdi
callq 0x7110
nopw (%rax,%rax)