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

// 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 0xd920
jmp 0x12f28
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 0xda50
jmp 0x12f63
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 0xda50
jmp 0x12f9e
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 0xda50
jmp 0x12fd9
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 0xda50
jmp 0x13014
leaq -0x1f8(%rbp), %rdi
callq 0x8830
movq -0x248(%rbp), %rsi
leaq -0x218(%rbp), %rdi
movq %rdi, -0x2a0(%rbp)
callq 0xdc50
movq -0x2a0(%rbp), %rsi
movq 0x9f90(%rip), %rdi      # 0x1cfd8
callq 0x41a0
movq %rax, -0x298(%rbp)
jmp 0x13056
movq -0x298(%rbp), %rdi
movq 0x9f5c(%rip), %rsi      # 0x1cfc0
callq 0x41f0
jmp 0x1306b
leaq -0x218(%rbp), %rdi
callq 0x4120
movq -0x248(%rbp), %rdi
callq 0xdbe0
movq -0x248(%rbp), %rsi
leaq -0x238(%rbp), %rdi
movq %rdi, -0x2b0(%rbp)
callq 0xdc50
movq -0x2b0(%rbp), %rsi
movq 0x9f2d(%rip), %rdi      # 0x1cfd8
callq 0x41a0
movq %rax, -0x2a8(%rbp)
jmp 0x130b9
movq -0x2a8(%rbp), %rdi
movq 0x9ef9(%rip), %rsi      # 0x1cfc0
callq 0x41f0
jmp 0x130ce
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 0x131ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x8830
jmp 0x131ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x8830
jmp 0x131ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x8830
jmp 0x131ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x8830
jmp 0x131ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x4120
jmp 0x131ce
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)