// File: MechaDragonX[P]CPPCollections/main.cpp
// Function: stackStuff(Student, Student, Student, Student, Student)
Stack<Student> stackStuff(Student rags, Student syke1, Student syke2, Student surnameLacking, Student knob) {
    Stack<Student> stack = Stack<Student>(rags);
    stack.add(syke1);
    stack.add(syke2);
    stack.add(surnameLacking);
    stack.add(knob);
    std::cout << stack.toString() << std::endl;
    stack.remove();
    std::cout << stack.toString() << std::endl;
    return stack;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %r9, -0x270(%rbp)
movq %r8, -0x268(%rbp)
movq %rcx, -0x260(%rbp)
movq %rdx, -0x258(%rbp)
movq %rdi, -0x248(%rbp)
movq %rdi, %rax
movq %rax, -0x250(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
leaq -0x88(%rbp), %rdi
movq %rdi, -0x240(%rbp)
callq 0x73b0
movq -0x248(%rbp), %rdi
movq -0x240(%rbp), %rsi
callq 0xfa20
jmp 0x13258
leaq -0x88(%rbp), %rdi
callq 0x8830
movq -0x258(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x278(%rbp)
callq 0x73b0
movq -0x248(%rbp), %rdi
movq -0x278(%rbp), %rsi
callq 0xfb50
jmp 0x13293
leaq -0xf0(%rbp), %rdi
callq 0x8830
movq -0x260(%rbp), %rsi
leaq -0x148(%rbp), %rdi
movq %rdi, -0x280(%rbp)
callq 0x73b0
movq -0x248(%rbp), %rdi
movq -0x280(%rbp), %rsi
callq 0xfb50
jmp 0x132ce
leaq -0x148(%rbp), %rdi
callq 0x8830
movq -0x268(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x73b0
movq -0x248(%rbp), %rdi
movq -0x288(%rbp), %rsi
callq 0xfb50
jmp 0x13309
leaq -0x1a0(%rbp), %rdi
callq 0x8830
movq -0x270(%rbp), %rsi
leaq -0x1f8(%rbp), %rdi
movq %rdi, -0x290(%rbp)
callq 0x73b0
movq -0x248(%rbp), %rdi
movq -0x290(%rbp), %rsi
callq 0xfb50
jmp 0x13344
leaq -0x1f8(%rbp), %rdi
callq 0x8830
movq -0x248(%rbp), %rsi
leaq -0x218(%rbp), %rdi
movq %rdi, -0x2a0(%rbp)
callq 0xfd50
movq -0x2a0(%rbp), %rsi
movq 0x9c60(%rip), %rdi      # 0x1cfd8
callq 0x41a0
movq %rax, -0x298(%rbp)
jmp 0x13386
movq -0x298(%rbp), %rdi
movq 0x9c2c(%rip), %rsi      # 0x1cfc0
callq 0x41f0
jmp 0x1339b
leaq -0x218(%rbp), %rdi
callq 0x4120
movq -0x248(%rbp), %rdi
callq 0xfce0
movq -0x248(%rbp), %rsi
leaq -0x238(%rbp), %rdi
movq %rdi, -0x2b0(%rbp)
callq 0xfd50
movq -0x2b0(%rbp), %rsi
movq 0x9bfd(%rip), %rdi      # 0x1cfd8
callq 0x41a0
movq %rax, -0x2a8(%rbp)
jmp 0x133e9
movq -0x2a8(%rbp), %rdi
movq 0x9bc9(%rip), %rsi      # 0x1cfc0
callq 0x41f0
jmp 0x133fe
leaq -0x238(%rbp), %rdi
callq 0x4120
movq -0x250(%rbp), %rax
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x8830
jmp 0x134fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x8830
jmp 0x134fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x8830
jmp 0x134fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x8830
jmp 0x134fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x8830
jmp 0x134fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x4120
jmp 0x134fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x4120
movq -0x90(%rbp), %rdi
callq 0x4300
nopw (%rax,%rax)