// File: /workspace/github_cpp_makefile_star2_O3/MechaDragonX[P]CPPCollections/main.cpp
// Function: main
int main() {
    Student rags("Raghav", "Vivek");
    rags.addCourse("math");
    rags.addCourse("cs");
    rags.addCourse("eng");
    std::cout << rags.toString(true) << std::endl;

    Student syke1("Dylan", "Sykes");
    syke1.addCourse("math");
    syke1.addCourse("eng");
    std::cout << syke1.toString(true) << std::endl;

    Student syke2("Mason", "Sykes");
    syke2.addCourse("math");
    syke2.addCourse("cs");
    std::cout << syke2.toString(true) << std::endl;

    Student surnameLacking("Ashley", "Koch");
    surnameLacking.addCourse("math");
    surnameLacking.addCourse("eng");
    std::cout << surnameLacking.toString(true) << std::endl;

    Student knob("Jake", "Knabner");
    knob.addCourse("cs");
    knob.addCourse("eng");
    std::cout << knob.toString(true) << std::endl << std::endl;

    // DoubleLinkedList<Student> collection = doubleLinkedListStuff(rags, syke1, syke2, surnameLacking, knob);
    // LinkedList<Student> collection = linkedListStuff(rags, syke1, syke2, surnameLacking, knob);
    // Queue<Student> collection = queueStuff(rags, syke1, syke2, surnameLacking, knob);
    Stack<Student> collection = stackStuff(rags, syke1, syke2, surnameLacking, knob);

    std::cout << "Is Mason Sykes alive? ";
    bool alive = collection.exists(syke2);
    if(alive)
        std::cout << "Yes" << std::endl;
    else
        std::cout << "No" << std::endl;

    std::cout << "Is the character that didn't have a last name until today (Ashley) alive? ";
    alive = collection.exists(surnameLacking);
    if(alive)
        std::cout << "Yes" << std::endl;
    else
        std::cout << "No" << std::endl;

    // collection.~DoubleLinkedList();
    // if(collection.toString() == "")
    //     std::cout << "All values and deleted and memory deallocated successfully!" << std::endl;
    // else
    //     std::cout << "Oh no! Something bad happened! This could be a memory leak....." << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x6e8, %rsp            # imm = 0x6E8
leaq -0x438(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1d8b(%rip), %rsi      # 0x104a1
leaq 0x1d8a(%rip), %rdx      # 0x104a7
leaq -0x448(%rbp), %rdi
callq 0x5bdc
leaq -0x418(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1d6d(%rip), %rsi      # 0x104a8
leaq 0x1d6b(%rip), %rdx      # 0x104ad
leaq -0x428(%rbp), %rdi
callq 0x5bdc
leaq -0x6b0(%rbp), %rdi
leaq -0x448(%rbp), %rsi
leaq -0x428(%rbp), %rdx
callq 0xb8ba
movq -0x428(%rbp), %rdi
cmpq %r14, %rdi
je 0xe783
movq -0x418(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x448(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe79e
movq -0x438(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x3f8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1cfe(%rip), %rsi      # 0x104ae
leaq 0x1cfb(%rip), %rdx      # 0x104b2
leaq -0x408(%rbp), %rdi
callq 0x5bdc
leaq -0x6b0(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0xba4e
movq -0x408(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe7f1
movq -0x3f8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x3d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1cb0(%rip), %rsi      # 0x104b3
leaq 0x1cab(%rip), %rdx      # 0x104b5
leaq -0x3e8(%rbp), %rdi
callq 0x5bdc
leaq -0x6b0(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0xba4e
movq -0x3e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe844
movq -0x3d8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x3b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1c60(%rip), %rsi      # 0x104b6
leaq 0x1c5c(%rip), %rdx      # 0x104b9
leaq -0x3c8(%rbp), %rdi
callq 0x5bdc
leaq -0x6b0(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0xba4e
movq -0x3c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe897
movq -0x3b8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x1a8(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
movl $0x1, %edx
callq 0xbb1a
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
movq 0x8714(%rip), %rdi      # 0x16fd8
callq 0x3160
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x30d0
leaq -0x198(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe912
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x398(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1b96(%rip), %rsi      # 0x104ba
leaq 0x1b94(%rip), %rdx      # 0x104bf
leaq -0x3a8(%rbp), %rdi
callq 0x5bdc
leaq -0x378(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1b77(%rip), %rsi      # 0x104c0
leaq 0x1b75(%rip), %rdx      # 0x104c5
leaq -0x388(%rbp), %rdi
callq 0x5bdc
leaq -0x1a8(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
leaq -0x388(%rbp), %rdx
callq 0xb8ba
movq -0x388(%rbp), %rdi
cmpq %r14, %rdi
je 0xe991
movq -0x378(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x3a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe9ac
movq -0x398(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x358(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1af0(%rip), %rsi      # 0x104ae
leaq 0x1aed(%rip), %rdx      # 0x104b2
leaq -0x368(%rbp), %rdi
callq 0x5bdc
leaq -0x1a8(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0xba4e
movq -0x368(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe9ff
movq -0x358(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x338(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1aa5(%rip), %rsi      # 0x104b6
leaq 0x1aa1(%rip), %rdx      # 0x104b9
leaq -0x348(%rbp), %rdi
callq 0x5bdc
leaq -0x1a8(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0xba4e
movq -0x348(%rbp), %rdi
cmpq %rbx, %rdi
je 0xea52
movq -0x338(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0xd8(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
movl $0x1, %edx
callq 0xbb1a
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
movq 0x8559(%rip), %rdi      # 0x16fd8
callq 0x3160
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x30d0
leaq -0xc8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xeacd
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x318(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x19e7(%rip), %rsi      # 0x104c6
leaq 0x19e5(%rip), %rdx      # 0x104cb
leaq -0x328(%rbp), %rdi
callq 0x5bdc
leaq -0x2f8(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x19bc(%rip), %rsi      # 0x104c0
leaq 0x19ba(%rip), %rdx      # 0x104c5
leaq -0x308(%rbp), %rdi
callq 0x5bdc
leaq -0xd8(%rbp), %rdi
leaq -0x328(%rbp), %rsi
leaq -0x308(%rbp), %rdx
callq 0xb8ba
movq -0x308(%rbp), %rdi
cmpq %r14, %rdi
je 0xeb4c
movq -0x2f8(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x328(%rbp), %rdi
cmpq %rbx, %rdi
je 0xeb67
movq -0x318(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x2d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1935(%rip), %rsi      # 0x104ae
leaq 0x1932(%rip), %rdx      # 0x104b2
leaq -0x2e8(%rbp), %rdi
callq 0x5bdc
leaq -0xd8(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0xba4e
movq -0x2e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xebba
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x2b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x18e7(%rip), %rsi      # 0x104b3
leaq 0x18e2(%rip), %rdx      # 0x104b5
leaq -0x2c8(%rbp), %rdi
callq 0x5bdc
leaq -0xd8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0xba4e
movq -0x2c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xec0d
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x80(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
movl $0x1, %edx
callq 0xbb1a
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x83a7(%rip), %rdi      # 0x16fd8
callq 0x3160
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x30d0
leaq -0x70(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xec79
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x298(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1841(%rip), %rsi      # 0x104cc
leaq 0x1840(%rip), %rdx      # 0x104d2
leaq -0x2a8(%rbp), %rdi
callq 0x5bdc
leaq -0x278(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1823(%rip), %rsi      # 0x104d3
leaq 0x1820(%rip), %rdx      # 0x104d7
leaq -0x288(%rbp), %rdi
callq 0x5bdc
leaq -0x80(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
leaq -0x288(%rbp), %rdx
callq 0xb8ba
movq -0x288(%rbp), %rdi
cmpq %r14, %rdi
je 0xecf5
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x2a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xed10
movq -0x298(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x258(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x178c(%rip), %rsi      # 0x104ae
leaq 0x1789(%rip), %rdx      # 0x104b2
leaq -0x268(%rbp), %rdi
callq 0x5bdc
leaq -0x80(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xba4e
movq -0x268(%rbp), %rdi
cmpq %rbx, %rdi
je 0xed60
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x238(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1744(%rip), %rsi      # 0x104b6
leaq 0x1740(%rip), %rdx      # 0x104b9
leaq -0x248(%rbp), %rdi
callq 0x5bdc
leaq -0x80(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0xba4e
movq -0x248(%rbp), %rdi
cmpq %rbx, %rdi
je 0xedb0
movq -0x238(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x150(%rbp), %rdi
leaq -0x80(%rbp), %rsi
movl $0x1, %edx
callq 0xbb1a
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
movq 0x81fe(%rip), %rdi      # 0x16fd8
callq 0x3160
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x30d0
leaq -0x140(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xee28
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x218(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x169e(%rip), %rsi      # 0x104d8
leaq 0x169b(%rip), %rdx      # 0x104dc
leaq -0x228(%rbp), %rdi
callq 0x5bdc
leaq -0x1f8(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x167e(%rip), %rsi      # 0x104dd
leaq 0x167e(%rip), %rdx      # 0x104e4
leaq -0x208(%rbp), %rdi
callq 0x5bdc
leaq -0x150(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x208(%rbp), %rdx
callq 0xb8ba
movq -0x208(%rbp), %rdi
cmpq %r14, %rdi
je 0xeea7
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x228(%rbp), %rdi
cmpq %rbx, %rdi
je 0xeec2
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x1d8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x15df(%rip), %rsi      # 0x104b3
leaq 0x15da(%rip), %rdx      # 0x104b5
leaq -0x1e8(%rbp), %rdi
callq 0x5bdc
leaq -0x150(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0xba4e
movq -0x1e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xef15
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x1b8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x158f(%rip), %rsi      # 0x104b6
leaq 0x158b(%rip), %rdx      # 0x104b9
leaq -0x1c8(%rbp), %rdi
callq 0x5bdc
leaq -0x150(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xba4e
movq -0x1c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xef68
movq -0x1b8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0xf8(%rbp), %rdi
leaq -0x150(%rbp), %rsi
movl $0x1, %edx
callq 0xbb1a
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
movq 0x8043(%rip), %rdi      # 0x16fd8
callq 0x3160
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x30d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x30d0
leaq -0xe8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf00d
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x5f0(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0x6b0(%rbp), %rsi
movq -0x6a8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x600(%rbp), %rdi
callq 0x594c
leaq -0x5e0(%rbp), %rdi
leaq -0x5d0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0x690(%rbp), %rsi
movq -0x688(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x5c0(%rbp), %rdi
leaq -0x670(%rbp), %rsi
callq 0x59f8
leaq -0x4e8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f8(%rbp), %rdi
callq 0x594c
leaq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x4b8(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x59f8
leaq -0x490(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4a0(%rbp), %rdi
callq 0x594c
leaq -0x480(%rbp), %rdi
leaq -0x470(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x460(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x59f8
leaq -0x648(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
addq %rsi, %rdx
leaq -0x658(%rbp), %rdi
callq 0x594c
leaq -0x638(%rbp), %rdi
leaq -0x628(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x618(%rbp), %r15
leaq -0x40(%rbp), %rsi
movq %r15, %rdi
callq 0x59f8
leaq -0x598(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5a8(%rbp), %rdi
callq 0x594c
movq %r12, %rbx
leaq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %r13
movq %r13, -0x10(%r13)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x568(%rbp), %r12
leaq -0x110(%rbp), %rsi
movq %r12, %rdi
callq 0x59f8
leaq -0xf8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
leaq -0x4f8(%rbp), %rdx
leaq -0x4a0(%rbp), %rcx
leaq -0x658(%rbp), %r8
leaq -0x5a8(%rbp), %r9
callq 0xe0cd
movq %r12, %rdi
callq 0x5b6e
movq -0x588(%rbp), %rdi
cmpq %r13, %rdi
je 0xf249
movq -0x578(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
movq %rbx, %r12
leaq -0x4b8(%rbp), %rbx
leaq -0x460(%rbp), %r13
je 0xf27c
movq -0x598(%rbp), %rsi
incq %rsi
callq 0x3140
movq %r15, %rdi
callq 0x5b6e
movq -0x638(%rbp), %rdi
leaq -0x628(%rbp), %rax
cmpq %rax, %rdi
je 0xf2a6
movq -0x628(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x658(%rbp), %rdi
cmpq %r14, %rdi
je 0xf2c1
movq -0x648(%rbp), %rsi
incq %rsi
callq 0x3140
movq %r13, %rdi
callq 0x5b6e
movq -0x480(%rbp), %rdi
leaq -0x470(%rbp), %rax
cmpq %rax, %rdi
je 0xf2eb
movq -0x470(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x4a0(%rbp), %rdi
leaq -0x490(%rbp), %rax
cmpq %rax, %rdi
je 0xf30d
movq -0x490(%rbp), %rsi
incq %rsi
callq 0x3140
movq %rbx, %rdi
callq 0x5b6e
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0xf337
movq -0x4c8(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0xf359
movq -0x4e8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x5c0(%rbp), %rdi
callq 0x5b6e
movq -0x5e0(%rbp), %rdi
leaq -0x5d0(%rbp), %rax
cmpq %rax, %rdi
je 0xf387
movq -0x5d0(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x600(%rbp), %rdi
cmpq %r12, %rdi
je 0xf3a2
movq -0x5f0(%rbp), %rsi
incq %rsi
callq 0x3140
movq 0x7c2f(%rip), %rdi      # 0x16fd8
leaq 0x1135(%rip), %rsi      # 0x104e5
movl $0x16, %edx
callq 0x3160
leaq -0x6f8(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x708(%rbp), %rdi
callq 0x594c
leaq -0x6e8(%rbp), %rdi
leaq -0x6d8(%rbp), %r13
movq %r13, -0x10(%r13)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x6c8(%rbp), %rbx
movq %rbx, %rdi
leaq -0x98(%rbp), %rsi
callq 0x59f8
leaq -0xf8(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0xb42c
movl %eax, %r14d
movq %rbx, %rdi
callq 0x5b6e
movq -0x6e8(%rbp), %rdi
cmpq %r13, %rdi
je 0xf45a
movq -0x6d8(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x708(%rbp), %rdi
cmpq %r12, %rdi
je 0xf475
movq -0x6f8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq 0x1080(%rip), %r13      # 0x104fc
leaq 0x107d(%rip), %rbx      # 0x10500
testb %r14b, %r14b
movq %rbx, %rsi
cmovneq %r13, %rsi
movzbl %r14b, %edx
orq $0x2, %rdx
movq 0x7b3c(%rip), %r14      # 0x16fd8
movq %r14, %rdi
callq 0x3160
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq 0x7b16(%rip), %rdi      # 0x16fd8
callq 0x3030
movq %rax, %rdi
callq 0x30d0
movq 0x7b02(%rip), %rdi      # 0x16fd8
leaq 0x1026(%rip), %rsi      # 0x10503
movl $0x4a, %edx
callq 0x3160
leaq -0x540(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
addq %rsi, %rdx
leaq -0x550(%rbp), %rdi
callq 0x594c
leaq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
addq %rsi, %rdx
callq 0x594c
leaq -0x510(%rbp), %r15
movq %r15, %rdi
leaq -0x40(%rbp), %rsi
callq 0x59f8
leaq -0xf8(%rbp), %rdi
leaq -0x550(%rbp), %rsi
callq 0xb42c
movl %eax, %r14d
movq %r15, %rdi
callq 0x5b6e
movq -0x530(%rbp), %rdi
cmpq %r12, %rdi
je 0xf578
movq -0x520(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0xf59a
movq -0x540(%rbp), %rsi
incq %rsi
callq 0x3140
testb %r14b, %r14b
cmovneq %r13, %rbx
movzbl %r14b, %edx
orq $0x2, %rdx
movq 0x7a28(%rip), %r14      # 0x16fd8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3160
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x3120
movsbl %al, %esi
movq 0x79ff(%rip), %rdi      # 0x16fd8
callq 0x3030
movq %rax, %rdi
callq 0x30d0
leaq -0x110(%rbp), %rdi
callq 0x5b6e
leaq -0x120(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf611
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
leaq -0x198(%rbp), %rbx
leaq -0xc8(%rbp), %r14
leaq -0x70(%rbp), %r15
leaq -0x670(%rbp), %r12
je 0xf64c
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x40(%rbp), %rdi
callq 0x5b6e
leaq -0x50(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf66e
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x80(%rbp), %rdi
cmpq %r15, %rdi
je 0xf683
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x98(%rbp), %rdi
callq 0x5b6e
leaq -0xa8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf6ae
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0xd8(%rbp), %rdi
cmpq %r14, %rdi
je 0xf6c9
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x168(%rbp), %rdi
callq 0x5b6e
leaq -0x178(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf6f4
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x3140
movq -0x1a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xf70f
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x3140
movq %r12, %rdi
callq 0x5b6e
leaq -0x680(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf736
movq -0x680(%rbp), %rsi
incq %rsi
callq 0x3140
leaq -0x6a0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xf755
movq -0x6a0(%rbp), %rsi
incq %rsi
callq 0x3140
xorl %eax, %eax
addq $0x6e8, %rsp            # imm = 0x6E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq -0x550(%rbp), %rdi
jmp 0xf8d7
movq %rax, %r15
movq -0x530(%rbp), %rdi
cmpq %r12, %rdi
je 0xf79b
movq -0x520(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf79b
movq %rax, %r15
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0xfd59
movq -0x540(%rbp), %rsi
jmp 0xfd4c
movq %rax, %r15
leaq -0x708(%rbp), %rdi
jmp 0xf8d7
movq %rax, %r15
movq -0x6e8(%rbp), %rdi
cmpq %r13, %rdi
je 0xf7f0
movq -0x6d8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf7f0
movq %rax, %r15
movq -0x708(%rbp), %rdi
cmpq %r12, %rdi
je 0xfd59
movq -0x6f8(%rbp), %rsi
jmp 0xfd4c
movq %rax, %r15
leaq -0x5a8(%rbp), %rdi
callq 0xfd9a
jmp 0xf867
movq %rax, %r15
movq -0x588(%rbp), %rdi
cmpq %r13, %rdi
je 0xf840
movq -0x578(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf840
movq %rax, %r15
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0xf867
movq -0x598(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf867
movq %rax, %r15
leaq -0x658(%rbp), %rdi
callq 0xfd9a
jmp 0xf8b8
movq %rax, %r15
movq -0x638(%rbp), %rdi
cmpq %rbx, %rdi
je 0xf898
movq -0x628(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf898
movq %rax, %r15
movq -0x658(%rbp), %rdi
cmpq %r14, %rdi
je 0xf8b8
movq -0x648(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf8b8
movq %rax, %r15
leaq -0x4a0(%rbp), %rdi
callq 0xfd9a
leaq -0x4f8(%rbp), %rdi
callq 0xfd9a
leaq -0x600(%rbp), %rdi
callq 0xfd9a
jmp 0xfd59
movq %rax, %r15
movq -0x480(%rbp), %rdi
cmpq %r14, %rdi
je 0xf904
movq -0x470(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf904
movq %rax, %r15
movq -0x4a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0xf8c4
movq -0x490(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf8c4
movq %rax, %r15
jmp 0xf8c4
movq %rax, %r15
movq -0x4d8(%rbp), %rdi
cmpq %r14, %rdi
je 0xf949
movq -0x4c8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf949
movq %rax, %r15
movq -0x4f8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xf8d0
movq -0x4e8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf8d0
movq %rax, %r15
jmp 0xf8d0
movq %rax, %r15
movq -0x5e0(%rbp), %rdi
cmpq %rbx, %rdi
je 0xf998
movq -0x5d0(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xf998
movq %rax, %r15
movq -0x600(%rbp), %rdi
cmpq %r12, %rdi
je 0xfd59
movq -0x5f0(%rbp), %rsi
jmp 0xfd4c
jmp 0xfd56
movq %rax, %r15
movq -0x1c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd59
movq -0x1b8(%rbp), %rsi
jmp 0xfd4c
jmp 0xfd56
movq %rax, %r15
movq -0x1e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd59
movq -0x1d8(%rbp), %rsi
jmp 0xfd4c
jmp 0xfd56
movq %rax, %r15
movq -0x208(%rbp), %rdi
cmpq %r14, %rdi
je 0xfa24
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfa24
movq %rax, %r15
movq -0x228(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd65
movq -0x218(%rbp), %rsi
jmp 0xfcb8
jmp 0xfa84
jmp 0xfa84
movq %rax, %r15
movq -0x248(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd65
movq -0x238(%rbp), %rsi
jmp 0xfcb8
jmp 0xfa84
movq %rax, %r15
movq -0x268(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd65
movq -0x258(%rbp), %rsi
jmp 0xfcb8
movq %rax, %r15
jmp 0xfd65
movq %rax, %r15
movq -0x288(%rbp), %rdi
cmpq %r14, %rdi
je 0xfaaf
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfaaf
movq %rax, %r15
movq -0x2a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd6e
movq -0x298(%rbp), %rsi
jmp 0xfcdd
jmp 0xfb0f
jmp 0xfb0f
movq %rax, %r15
movq -0x2c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd6e
movq -0x2b8(%rbp), %rsi
jmp 0xfcdd
jmp 0xfb0f
movq %rax, %r15
movq -0x2e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd6e
movq -0x2d8(%rbp), %rsi
jmp 0xfcdd
movq %rax, %r15
jmp 0xfd6e
movq %rax, %r15
movq -0x308(%rbp), %rdi
cmpq %r14, %rdi
je 0xfb3a
movq -0x2f8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfb3a
movq %rax, %r15
movq -0x328(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd7a
movq -0x318(%rbp), %rsi
jmp 0xfd04
jmp 0xfb9a
jmp 0xfb9a
movq %rax, %r15
movq -0x348(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd7a
movq -0x338(%rbp), %rsi
jmp 0xfd04
jmp 0xfb9a
movq %rax, %r15
movq -0x368(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd7a
movq -0x358(%rbp), %rsi
jmp 0xfd04
movq %rax, %r15
jmp 0xfd7a
movq %rax, %r15
movq -0x388(%rbp), %rdi
cmpq %r14, %rdi
je 0xfbc5
movq -0x378(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfbc5
movq %rax, %r15
movq -0x3a8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd86
movq -0x398(%rbp), %rsi
jmp 0xfd28
jmp 0xfc46
jmp 0xfc46
movq %rax, %r15
movq -0x3c8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd86
movq -0x3b8(%rbp), %rsi
jmp 0xfd28
jmp 0xfc46
movq %rax, %r15
movq -0x3e8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd86
movq -0x3d8(%rbp), %rsi
jmp 0xfd28
jmp 0xfc46
movq %rax, %r15
movq -0x408(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd86
movq -0x3f8(%rbp), %rsi
jmp 0xfd28
movq %rax, %r15
jmp 0xfd86
movq %rax, %r15
movq -0x428(%rbp), %rdi
cmpq %r14, %rdi
je 0xfc71
movq -0x418(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfc71
movq %rax, %r15
movq -0x448(%rbp), %rdi
cmpq %rbx, %rdi
je 0xfd92
movq -0x438(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfd92
jmp 0xfd56
movq %rax, %r15
leaq -0x140(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xfd65
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfd65
movq %rax, %r15
leaq -0x70(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xfd6e
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfd6e
movq %rax, %r15
leaq -0xc8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xfd7a
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfd7a
movq %rax, %r15
leaq -0x198(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xfd86
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfd86
movq %rax, %r15
leaq -0xe8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xfd59
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x3140
jmp 0xfd59
movq %rax, %r15
leaq -0x150(%rbp), %rdi
callq 0xfd9a
leaq -0x80(%rbp), %rdi
callq 0xfd9a
leaq -0xd8(%rbp), %rdi
callq 0xfd9a
leaq -0x1a8(%rbp), %rdi
callq 0xfd9a
leaq -0x6b0(%rbp), %rdi
callq 0xfd9a
movq %r15, %rdi
callq 0x31e0