// File: t0mm4rx[P]piscine_cpp/day03/ex04/main.cpp
// Function: main
int main(void)
{
	SuperTrap	alpha("Alpha");
	ScavTrap	lucie("Lucie");

	srand(time(0));
	alpha.meleeAttack("John");
	alpha.rangedAttack("Rose");
	alpha.vaulthunter_dot_exe("Micheal");
	alpha.ninjaShoebox(lucie);
	return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movl $0x0, -0x4(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x2230
movq -0x198(%rbp), %rdx
leaq 0x15d8(%rip), %rsi      # 0x645b
leaq -0x88(%rbp), %rdi
callq 0x5200
jmp 0x4e91
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x4460
jmp 0x4ea3
leaq -0x88(%rbp), %rdi
callq 0x20a0
leaq -0x89(%rbp), %rdi
callq 0x2170
leaq -0x111(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x2230
movq -0x1a0(%rbp), %rdx
leaq 0x1585(%rip), %rsi      # 0x6461
leaq -0x110(%rbp), %rdi
callq 0x5200
jmp 0x4eea
leaq -0xf0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x3d30
jmp 0x4eff
leaq -0x110(%rbp), %rdi
callq 0x20a0
leaq -0x111(%rbp), %rdi
callq 0x2170
xorl %eax, %eax
movl %eax, %edi
callq 0x2110
movl %eax, %edi
callq 0x2120
leaq -0x139(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x2230
movq -0x1a8(%rbp), %rdx
leaq 0x151f(%rip), %rsi      # 0x6467
leaq -0x138(%rbp), %rdi
callq 0x5200
jmp 0x4f56
leaq -0x68(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x4dd0
jmp 0x4f68
leaq -0x138(%rbp), %rdi
callq 0x20a0
leaq -0x139(%rbp), %rdi
callq 0x2170
leaq -0x161(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x2230
movq -0x1b0(%rbp), %rdx
leaq 0x14cb(%rip), %rsi      # 0x646c
leaq -0x160(%rbp), %rdi
callq 0x5200
jmp 0x4faf
leaq -0x68(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x4d50
jmp 0x4fc1
leaq -0x160(%rbp), %rdi
callq 0x20a0
leaq -0x161(%rbp), %rdi
callq 0x2170
leaq -0x60(%rbp), %rax
movq %rax, -0x1c0(%rbp)
leaq -0x189(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x2230
movq -0x1b8(%rbp), %rdx
leaq 0x146c(%rip), %rsi      # 0x6471
leaq -0x188(%rbp), %rdi
callq 0x5200
jmp 0x5013
movq -0x1c0(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x2f90
jmp 0x5028
leaq -0x188(%rbp), %rdi
callq 0x20a0
leaq -0x189(%rbp), %rdi
callq 0x2170
leaq -0x68(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x3930
jmp 0x5052
movl $0x0, -0x4(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x3f10
leaq -0x68(%rbp), %rdi
callq 0x4c60
movl -0x4(%rbp), %eax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x50ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x20a0
leaq -0x89(%rbp), %rdi
callq 0x2170
jmp 0x51ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x50ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x20a0
leaq -0x111(%rbp), %rdi
callq 0x2170
jmp 0x51e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x5132
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x20a0
leaq -0x139(%rbp), %rdi
callq 0x2170
jmp 0x51d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x5175
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x20a0
leaq -0x161(%rbp), %rdi
callq 0x2170
jmp 0x51d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x51b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x20a0
leaq -0x189(%rbp), %rdi
callq 0x2170
jmp 0x51d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x3f10
leaq -0x68(%rbp), %rdi
callq 0x4c60
movq -0x98(%rbp), %rdi
callq 0x2220
nopw %cs:(%rax,%rax)