// File: DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_modifiers.cpp
// Function: test_map_modifiers_insert_single_element_string()
void
test_map_modifiers_insert_single_element_string()
{
	ft::map<int, std::string> map;
	ft::pair<ft::map<int, std::string>::iterator, bool> ret;

	print_map_info(map);

	ret = map.insert(ft::make_pair(42, "hello world"));
	std::cout << "Return: "
		<< "[" << ret.first->first << "] = " << ret.first->second
		<< " " << ret.second << std::endl;

	ret = map.insert(ft::make_pair(42, "hello world"));
	std::cout << "Return: "
		<< "[" << ret.first->first << "] = " << ret.first->second
		<< " " << ret.second << std::endl;

	ret = map.insert(ft::make_pair(60, "hello world"));
	std::cout << "Return: "
		<< "[" << ret.first->first << "] = " << ret.first->second
		<< " " << ret.second << std::endl;

	ret = map.insert(ft::make_pair(-42, "test"));
	std::cout << "Return: "
		<< "[" << ret.first->first << "] = " << ret.first->second
		<< " " << ret.second << std::endl;

	print_map_info(map);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
leaq -0x30(%rbp), %rdi
callq 0x2ad60
leaq -0x40(%rbp), %rdi
callq 0x2ad80
jmp 0x27dff
leaq -0x30(%rbp), %rdi
callq 0x2adb0
jmp 0x27e0a
movl $0x2a, -0x74(%rbp)
leaq 0x2f9b0(%rip), %rsi     # 0x577c8
leaq -0x74(%rbp), %rdi
callq 0x2af40
movq %rdx, -0x140(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x27e30
movq -0x140(%rbp), %rax
movl -0x134(%rbp), %ecx
movl %ecx, -0x70(%rbp)
movq %rax, -0x68(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x2af00
movb %dl, -0x149(%rbp)
movq %rax, -0x148(%rbp)
jmp 0x27e60
movb -0x149(%rbp), %al
movq -0x148(%rbp), %rcx
movq %rcx, -0x88(%rbp)
movb %al, -0x80(%rbp)
movb -0x80(%rbp), %al
movb %al, -0x58(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2af80
movq 0x5311c(%rip), %rdi     # 0x7afb8
leaq 0x2f239(%rip), %rsi     # 0x570dc
callq 0x31e0
movq %rax, -0x158(%rbp)
jmp 0x27eb1
movq -0x158(%rbp), %rdi
leaq 0x2f759(%rip), %rsi     # 0x57618
callq 0x31e0
movq %rax, -0x160(%rbp)
jmp 0x27ecd
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x160(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
movq %rax, -0x168(%rbp)
jmp 0x27eed
movq -0x168(%rbp), %rdi
leaq 0x2f71f(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x170(%rbp)
jmp 0x27f09
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x170(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0x31b0
movq %rax, -0x178(%rbp)
jmp 0x27f2e
movq -0x178(%rbp), %rdi
leaq 0x303ae(%rip), %rsi     # 0x582ea
callq 0x31e0
movq %rax, -0x180(%rbp)
jmp 0x27f4a
movq -0x180(%rbp), %rdi
movzbl -0x38(%rbp), %esi
andl $0x1, %esi
callq 0x3380
movq %rax, -0x188(%rbp)
jmp 0x27f66
movq -0x188(%rbp), %rdi
movq 0x53024(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x27f7b
movl $0x2a, -0xac(%rbp)
leaq 0x2f83c(%rip), %rsi     # 0x577c8
leaq -0xac(%rbp), %rdi
callq 0x2af40
movq %rdx, -0x198(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x27fa7
movq -0x198(%rbp), %rax
movl -0x18c(%rbp), %ecx
movl %ecx, -0xa8(%rbp)
movq %rax, -0xa0(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x2af00
movb %dl, -0x1a1(%rbp)
movq %rax, -0x1a0(%rbp)
jmp 0x27fe0
movb -0x1a1(%rbp), %al
movq -0x1a0(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
movb %al, -0xb8(%rbp)
movb -0xb8(%rbp), %al
movb %al, -0x90(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x2af80
movq 0x52f8d(%rip), %rdi     # 0x7afb8
leaq 0x2f0aa(%rip), %rsi     # 0x570dc
callq 0x31e0
movq %rax, -0x1b0(%rbp)
jmp 0x28040
movq -0x1b0(%rbp), %rdi
leaq 0x2f5ca(%rip), %rsi     # 0x57618
callq 0x31e0
movq %rax, -0x1b8(%rbp)
jmp 0x2805c
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x1b8(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
movq %rax, -0x1c0(%rbp)
jmp 0x2807c
movq -0x1c0(%rbp), %rdi
leaq 0x2f590(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x1c8(%rbp)
jmp 0x28098
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x1c8(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0x31b0
movq %rax, -0x1d0(%rbp)
jmp 0x280bd
movq -0x1d0(%rbp), %rdi
leaq 0x3021f(%rip), %rsi     # 0x582ea
callq 0x31e0
movq %rax, -0x1d8(%rbp)
jmp 0x280d9
movq -0x1d8(%rbp), %rdi
movzbl -0x38(%rbp), %esi
andl $0x1, %esi
callq 0x3380
movq %rax, -0x1e0(%rbp)
jmp 0x280f5
movq -0x1e0(%rbp), %rdi
movq 0x52e95(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x2810a
movl $0x3c, -0xe4(%rbp)
leaq 0x2f6ad(%rip), %rsi     # 0x577c8
leaq -0xe4(%rbp), %rdi
callq 0x2af40
movq %rdx, -0x1f0(%rbp)
movl %eax, -0x1e4(%rbp)
jmp 0x28136
movq -0x1f0(%rbp), %rax
movl -0x1e4(%rbp), %ecx
movl %ecx, -0xe0(%rbp)
movq %rax, -0xd8(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x2af00
movb %dl, -0x1f9(%rbp)
movq %rax, -0x1f8(%rbp)
jmp 0x2816f
movb -0x1f9(%rbp), %al
movq -0x1f8(%rbp), %rcx
movq %rcx, -0xf8(%rbp)
movb %al, -0xf0(%rbp)
movb -0xf0(%rbp), %al
movb %al, -0xc8(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x2af80
movq 0x52dfe(%rip), %rdi     # 0x7afb8
leaq 0x2ef1b(%rip), %rsi     # 0x570dc
callq 0x31e0
movq %rax, -0x208(%rbp)
jmp 0x281cf
movq -0x208(%rbp), %rdi
leaq 0x2f43b(%rip), %rsi     # 0x57618
callq 0x31e0
movq %rax, -0x210(%rbp)
jmp 0x281eb
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x210(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
movq %rax, -0x218(%rbp)
jmp 0x2820b
movq -0x218(%rbp), %rdi
leaq 0x2f401(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x220(%rbp)
jmp 0x28227
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x220(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0x31b0
movq %rax, -0x228(%rbp)
jmp 0x2824c
movq -0x228(%rbp), %rdi
leaq 0x30090(%rip), %rsi     # 0x582ea
callq 0x31e0
movq %rax, -0x230(%rbp)
jmp 0x28268
movq -0x230(%rbp), %rdi
movzbl -0x38(%rbp), %esi
andl $0x1, %esi
callq 0x3380
movq %rax, -0x238(%rbp)
jmp 0x28284
movq -0x238(%rbp), %rdi
movq 0x52d06(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x28299
movl $0xffffffd6, -0x11c(%rbp) # imm = 0xFFFFFFD6
leaq 0x2ee65(%rip), %rsi     # 0x5710f
leaq -0x11c(%rbp), %rdi
callq 0x2afd0
movq %rdx, -0x248(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x282c5
movq -0x248(%rbp), %rax
movl -0x23c(%rbp), %ecx
movl %ecx, -0x118(%rbp)
movq %rax, -0x110(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x2af00
movb %dl, -0x251(%rbp)
movq %rax, -0x250(%rbp)
jmp 0x282fe
movb -0x251(%rbp), %al
movq -0x250(%rbp), %rcx
movq %rcx, -0x130(%rbp)
movb %al, -0x128(%rbp)
movb -0x128(%rbp), %al
movb %al, -0x100(%rbp)
movq -0x130(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x2af80
movq 0x52c6f(%rip), %rdi     # 0x7afb8
leaq 0x2ed8c(%rip), %rsi     # 0x570dc
callq 0x31e0
movq %rax, -0x260(%rbp)
jmp 0x2835e
movq -0x260(%rbp), %rdi
leaq 0x2f2ac(%rip), %rsi     # 0x57618
callq 0x31e0
movq %rax, -0x268(%rbp)
jmp 0x2837a
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x268(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
movq %rax, -0x270(%rbp)
jmp 0x2839a
movq -0x270(%rbp), %rdi
leaq 0x2f272(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x278(%rbp)
jmp 0x283b6
leaq -0x40(%rbp), %rdi
callq 0x2afb0
movq -0x278(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0x31b0
movq %rax, -0x280(%rbp)
jmp 0x283db
movq -0x280(%rbp), %rdi
leaq 0x2ff01(%rip), %rsi     # 0x582ea
callq 0x31e0
movq %rax, -0x288(%rbp)
jmp 0x283f7
movq -0x288(%rbp), %rdi
movzbl -0x38(%rbp), %esi
andl $0x1, %esi
callq 0x3380
movq %rax, -0x290(%rbp)
jmp 0x28413
movq -0x290(%rbp), %rdi
movq 0x52b77(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x28428
leaq -0x30(%rbp), %rdi
callq 0x2adb0
jmp 0x28433
leaq -0x30(%rbp), %rdi
callq 0x2b010
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x2b010
movq -0x48(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)