LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/StartSpace.cpp
// Function: StartSpace::getChoice[abi:cxx11]()
string StartSpace::getChoice() {
    cout << "Please select a choice (enter integer): ";
    int choice = getInteger();
    validate(choice, 1, 5);
    cout << endl;
    
    if (choice == 1) {
        return "north";
    } else if (choice == 2) {
        return "east";
    } else if (choice == 3) {
        return "south";
    } else if (choice == 4) {
        return "items";
    } else {
        return "look";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x9719(%rip), %r14      # 0xbfd0
leaq 0x395c(%rip), %rsi      # 0x621a
movq %r14, %rdi
callq 0x2150
callq 0x50e8
leaq 0xc(%rsp), %r15
movl %eax, (%r15)
pushq $0x1
popq %rsi
pushq $0x5
popq %rdx
movq %r15, %rdi
callq 0x3650
movq %r14, %rdi
callq 0x20b0
movl (%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x293b
leaq 0x383a(%rip), %rcx      # 0x6134
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x3939(%rip), %rsi      # 0x6243
leaq 0xb(%rsp), %rdx
jmp 0x2947
leaq 0x3936(%rip), %rsi      # 0x624e
leaq 0x9(%rsp), %rdx
jmp 0x2947
leaq 0x392e(%rip), %rsi      # 0x6254
leaq 0x8(%rsp), %rdx
jmp 0x2947
leaq 0x3915(%rip), %rsi      # 0x6249
leaq 0xa(%rsp), %rdx
jmp 0x2947
leaq 0x3918(%rip), %rsi      # 0x625a
leaq 0x7(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/SnokeSpace.cpp
// Function: SnokeSpace::SnokeSpace()
SnokeSpace::SnokeSpace() {
    Space::roomName = "Supreme Leader Snoke";
    Space::roomDescription= "A figure emerges from the back of the room. The dark side emanates greatly. ";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x59f8
leaq 0x90a9(%rip), %rax      # 0xbaf8
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x384c(%rip), %rsi      # 0x62a9
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x3851(%rip), %rsi      # 0x62be
callq 0x2250
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/LaunchBay.cpp
// Function: LaunchBay::LaunchBay()
LaunchBay::LaunchBay() {
    Space::roomName = "Launch Bay";
    Space::roomDescription= "The heart of the Starship. A towering plasma cylinder glow ahead lighting the entire room.";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x59f8
leaq 0x8f7d(%rip), %rax      # 0xbb40
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x5228(%rip), %rsi      # 0x7df9
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x372a(%rip), %rsi      # 0x630b
callq 0x2250
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/LaunchBay.cpp
// Function: LaunchBay::LaunchBay(Space*, Space*, Space*, Space*)
LaunchBay::LaunchBay(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x59f8
leaq 0x8f10(%rip), %rax      # 0xbb40
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/LaunchBay.cpp
// Function: LaunchBay::getChoice[abi:cxx11]()
string LaunchBay::getChoice() {
    cout << "Please select a choice (enter integer): ";
    int choice = getInteger();
    validate(choice, 1, 3);
    cout << endl;
    
    if (choice == 1) {
        return "east";
    } else if (choice == 2) {
        return "items";
    } else {
        return "look";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x92ff(%rip), %r14      # 0xbfd0
leaq 0x3542(%rip), %rsi      # 0x621a
movq %r14, %rdi
callq 0x2150
callq 0x50e8
leaq 0xc(%rsp), %r15
movl %eax, (%r15)
pushq $0x1
popq %rsi
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x3650
movq %r14, %rdi
callq 0x20b0
movl (%r15), %eax
cmpl $0x2, %eax
je 0x2d1e
cmpl $0x1, %eax
jne 0x2d2c
leaq 0x3532(%rip), %rsi      # 0x6249
leaq 0xb(%rsp), %rdx
jmp 0x2d38
leaq 0x352f(%rip), %rsi      # 0x6254
leaq 0xa(%rsp), %rdx
jmp 0x2d38
leaq 0x3527(%rip), %rsi      # 0x625a
leaq 0x9(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/CoreReactor.cpp
// Function: CoreReactor::CoreReactor()
CoreReactor::CoreReactor() {
    Space::roomName = "Core Reactor";
    Space::roomDescription= "The heart of the Starship. A towering plasma cylinder glows ahead lighting the entire room. Maybe there is something useful in here...";
    
    Space::top = new Corridor;
    Space::top->setBottom(this);
    Space::bottom = new DetentionBlock;
    Space::bottom->setTop(this);
    Space::left = nullptr;
    Space::right = new Infirmary;
    Space::right->setLeft(this);
    
    lightsaberAvail = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x59f8
leaq 0x8e24(%rip), %rax      # 0xbb88
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x4f6b(%rip), %rsi      # 0x7cdd
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x3654(%rip), %rsi      # 0x63d6
callq 0x2250
pushq $0x68
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x3ab8
movq %r15, 0x48(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5afc
pushq $0x70
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x547c
movq %r15, 0x50(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5af6
andq $0x0, 0x60(%rbx)
pushq $0x70
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x36a4
movq %r15, 0x58(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5b02
movb $0x1, 0x68(%rbx)
popq %rbx
popq %r14
popq %r15
retq
jmp 0x2dfe
movq %rax, %r14
pushq $0x70
jmp 0x2e0a
movq %rax, %r14
pushq $0x68
popq %rsi
movq %r15, %rdi
callq 0x2170
jmp 0x2e18
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/CoreReactor.cpp
// Function: CoreReactor::printChoices()
void CoreReactor::printChoices() {
    if (lightsaberAvail) {
        cout << "1) North - Mysterious Room" << endl
        << "2) East - Infirmary" << endl
        << "3) South - Detention Center " << endl
        << "4) West - Blast Site " << endl
        << "5) Item Inventory " << endl
        << "6) Look around" << endl
        << "7) Pick up light saber " << endl << endl;
    } else {
        cout << "1) North - Mysterious Room" << endl
        << "2) East - Infirmary" << endl
        << "3) South - Detention Center" << endl
        << "4) West - Blast Site" << endl
        << "5) Item Inventory " << endl
        << "6) Look around" << endl << endl;
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movb 0x68(%rdi), %bl
movq 0x90e3(%rip), %rdi      # 0xbfd0
leaq 0x32b7(%rip), %rsi      # 0x61ab
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x3555(%rip), %rsi      # 0x645d
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
cmpb $0x1, %bl
jne 0x2f5a
leaq 0x354d(%rip), %rsi      # 0x6471
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x3553(%rip), %rsi      # 0x648e
movq %rax, %rdi
callq 0x2150
leaq 0x357c(%rip), %rbx      # 0x64c6
leaq 0x3566(%rip), %r14      # 0x64b7
leaq 0x354c(%rip), %r15      # 0x64a4
jmp 0x2f7e
leaq 0x357d(%rip), %rsi      # 0x64de
movq %rax, %rdi
callq 0x2150
leaq 0x3547(%rip), %rbx      # 0x64b7
leaq 0x352d(%rip), %r14      # 0x64a4
leaq 0x357c(%rip), %r15      # 0x64fa
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
movq %r15, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
movq %r14, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveNorth()
void Map::moveNorth() {
    if (location->getTop() != nullptr) {
        location = location->getTop();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
    
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x5aca
testq %rax, %rax
je 0x3268
movq 0x10(%rbx), %rdi
callq 0x5aca
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3284
movq 0x8d61(%rip), %rdi      # 0xbfd0
leaq 0x32a9(%rip), %rsi      # 0x651f
callq 0x2150
movq %rax, %rdi
popq %rbx
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::printLocation()
void Map::printLocation() {
    if (location->getRoomName() != "Supreme Leader Snoke" && location->getRoomName() != "Door") {
        cout << "You are in the " << location->getRoomName() << endl << endl;
    } else if (location->getRoomName() != "Supreme Leader Snoke" &&
               location->getRoomName() == "Door") {
        cout << "Hmmm, it seems we have a problem..." << endl << endl;
    } else {
        cout << "You probably should not have come in here..." << endl << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movq 0x10(%rdi), %rsi
movq %rsp, %r14
movq %r14, %rdi
callq 0x5aa6
leaq 0x3004(%rip), %rsi      # 0x62a9
movq %r14, %rdi
callq 0x3639
testb %al, %al
je 0x333a
movq 0x10(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x5aa6
leaq 0x4a2d(%rip), %rsi      # 0x7cf7
leaq 0x20(%rsp), %rdi
callq 0x3639
movl %eax, %ebp
leaq 0x20(%rsp), %rdi
callq 0x2090
movq %rsp, %rdi
callq 0x2090
testb %bpl, %bpl
je 0x3342
movq 0x8cdc(%rip), %rdi      # 0xbfd0
leaq 0x3243(%rip), %rsi      # 0x653e
callq 0x2150
movq %rax, %r14
movq 0x10(%rbx), %rsi
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x5aa6
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2130
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movq %rsp, %rdi
callq 0x2090
jmp 0x33d8
movq %rsp, %rdi
callq 0x2090
movq 0x10(%rbx), %rsi
movq %rsp, %r14
movq %r14, %rdi
callq 0x5aa6
leaq 0x2f51(%rip), %rsi      # 0x62a9
movq %r14, %rdi
callq 0x3639
testb %al, %al
je 0x33ad
movq 0x10(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x5aa6
leaq 0x497e(%rip), %rsi      # 0x7cf7
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0x3643
movl %eax, %ebp
movq %rbx, %rdi
callq 0x2090
movq %rsp, %rdi
callq 0x2090
testb %bpl, %bpl
je 0x33b5
movq 0x8c2c(%rip), %rdi      # 0xbfd0
leaq 0x31a3(%rip), %rsi      # 0x654e
jmp 0x33c3
movq %rsp, %rdi
callq 0x2090
movq 0x8c14(%rip), %rdi      # 0xbfd0
leaq 0x31af(%rip), %rsi      # 0x6572
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x33f8
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x2090
jmp 0x33fb
jmp 0x33f8
jmp 0x33f8
jmp 0x33f8
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveSouth()
void Map::moveSouth() {
    if (location->getBottom() != nullptr) {
        location = location->getBottom();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x5ad0
testq %rax, %rax
je 0x3434
movq 0x10(%rbx), %rdi
callq 0x5ad0
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3284
movq 0x8b95(%rip), %rdi      # 0xbfd0
leaq 0x30dd(%rip), %rsi      # 0x651f
callq 0x2150
movq %rax, %rdi
popq %rbx
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveEast()
void Map::moveEast() {
    if (location->getRight() != nullptr) {
        location = location->getRight();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x5adc
testq %rax, %rax
je 0x3478
movq 0x10(%rbx), %rdi
callq 0x5adc
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3284
movq 0x8b51(%rip), %rdi      # 0xbfd0
leaq 0x3099(%rip), %rsi      # 0x651f
callq 0x2150
movq %rax, %rdi
popq %rbx
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveWest()
void Map::moveWest() {
    if (location->getLeft() != nullptr) {
        location = location->getLeft();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x5ad6
testq %rax, %rax
je 0x34bc
movq 0x10(%rbx), %rdi
callq 0x5ad6
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3284
movq 0x8b0d(%rip), %rdi      # 0xbfd0
leaq 0x3055(%rip), %rsi      # 0x651f
callq 0x2150
movq %rax, %rdi
popq %rbx
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::addSpace(Space*&, Space*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Map::addSpace(Space*& location, Space*& newSpace, string side) {
    if (side == "right") {
        location->setRight(newSpace);
        newSpace->setLeft(location);
        newSpace = nullptr;
    } else if (side == "left") {
        location->setLeft(newSpace);
        newSpace->setRight(location);
        newSpace = nullptr;
    } else if (side == "top") {
        location->setTop(newSpace);
        newSpace->setBottom(location);
        newSpace = nullptr;
    } else {
        location->setBottom(newSpace);
        newSpace->setTop(location);
        newSpace = nullptr;
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rcx, %r15
movq %rdx, %rbx
movq %rsi, %r14
leaq 0x309a(%rip), %rsi      # 0x659f
movq %rcx, %rdi
callq 0x3643
testb %al, %al
je 0x3529
movq (%r14), %rdi
movq (%rbx), %rsi
callq 0x5b08
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x5b02
jmp 0x358f
leaq 0x3075(%rip), %rsi      # 0x65a5
movq %r15, %rdi
callq 0x3643
testb %al, %al
je 0x3554
movq (%r14), %rdi
movq (%rbx), %rsi
callq 0x5b02
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x5b08
jmp 0x358f
leaq 0x304f(%rip), %rsi      # 0x65aa
movq %r15, %rdi
callq 0x3643
movq (%r14), %rdi
movq (%rbx), %rsi
testb %al, %al
je 0x357f
callq 0x5af6
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x5afc
jmp 0x358f
callq 0x5afc
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x5af6
andq $0x0, (%rbx)
popq %rbx
popq %r14
popq %r15
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Map.cpp
// Function: Map::connectSpace(Space*, Space*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Map::connectSpace(Space* location, Space* connection, string side) {
    if (side == "right") {
        location->setRight(connection);
        connection->setLeft(location);
    } else if (side == "left") {
        location->setLeft(connection);
        connection->setRight(location);
    } else if (side == "top") {
        location->setTop(connection);
        connection->setRight(location);
    } else {
        location->setBottom(connection);
        connection->setTop(location);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rcx, %r15
movq %rdx, %r14
movq %rsi, %rbx
leaq 0x2ff0(%rip), %rsi      # 0x659f
movq %rcx, %rdi
callq 0x3643
testb %al, %al
je 0x35d6
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5b08
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x5b02
leaq 0x2fc8(%rip), %rsi      # 0x65a5
movq %r15, %rdi
callq 0x3643
testb %al, %al
je 0x35f6
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5b02
jmp 0x3614
leaq 0x2fad(%rip), %rsi      # 0x65aa
movq %r15, %rdi
callq 0x3643
movq %rbx, %rdi
movq %r14, %rsi
testb %al, %al
je 0x3624
callq 0x5af6
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x5b08
callq 0x5afc
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x5af6
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/validate.cpp
// Function: validate(int&, int, int)
void validate(int& selection, int min, int max) {
    while(selection < min || selection > max) {
        cout << "The number you input is invalid. Please enter a new number: ";
        selection = getInteger();
        cout << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edx, %ebx
movl %esi, %ebp
movq %rdi, %r14
movq 0x896a(%rip), %r15      # 0xbfd0
leaq 0x2f41(%rip), %r12      # 0x65ae
movl (%r14), %eax
cmpl %ebp, %eax
setge %cl
cmpl %ebx, %eax
setle %al
testb %al, %cl
jne 0x369b
movq %r15, %rdi
movq %r12, %rsi
callq 0x2150
callq 0x50e8
movl %eax, (%r14)
movq %r15, %rdi
callq 0x20b0
jmp 0x366d
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Infirmary.cpp
// Function: Infirmary::Infirmary()
Infirmary::Infirmary() {
    Space::roomName = "Infirmary";
    Space::roomDescription= "There are a few med pods in here... a 20 min nap sounds in order.";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = new Armory;
    Space::right->setLeft(this);
    
    medPodAvail = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x59f8
leaq 0x8518(%rip), %rax      # 0xbbd0
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x2da1(%rip), %rsi      # 0x6467
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x2f31(%rip), %rsi      # 0x6607
callq 0x2250
andq $0x0, 0x60(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rbx)
pushq $0x70
popq %rdi
callq 0x2160
movq %rax, %r14
movq %rax, %rdi
callq 0x3e50
movq %r14, 0x58(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x5b02
movb $0x1, 0x68(%rbx)
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %r15
pushq $0x70
popq %rsi
movq %r14, %rdi
callq 0x2170
jmp 0x3726
movq %rax, %r15
movq %rbx, %rdi
callq 0x5a80
movq %r15, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Infirmary.cpp
// Function: Infirmary::printChoices()
void Infirmary::printChoices() {
    if (medPodAvail) {
        cout << "1) East - Armory" << endl
             << "2) West - Core Reactor" << endl
             << "3) Item Inventory " << endl
             << "4) Look around" << endl
             << "5) Use Med Pod Bay" << endl << endl;
    } else {
        cout << "1) East - Armory" << endl
        << "2) West - Core Reactor" << endl
        << "3) Item Inventory " << endl
        << "4) Look around" << endl << endl;
    }
}

// Assembly:
pushq %rbx
movb 0x68(%rdi), %bl
movq 0x8805(%rip), %rdi      # 0xbfd0
leaq 0x2e77(%rip), %rsi      # 0x6649
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x2e74(%rip), %rsi      # 0x665a
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x2e74(%rip), %rsi      # 0x6671
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x2e70(%rip), %rsi      # 0x6684
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
cmpb $0x1, %bl
jne 0x3840
leaq 0x2e63(%rip), %rsi      # 0x6693
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
popq %rbx
jmp 0x20b0
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Infirmary.cpp
// Function: Infirmary::getChoice[abi:cxx11]()
string Infirmary::getChoice() {
    if (medPodAvail){
        cout << "Please select a choice (enter integer): ";
        int choice = getInteger();
        validate(choice, 1, 5);
        cout << endl;
        
        if (choice == 1) {
            return "east";
        } else if (choice == 2) {
            return "west";
        } else if (choice == 3) {
            return "items";
        } else if (choice == 4) {
            return "look";
        } else {
            medPodAvail = false;
            return "medpod";
        }
    } else {
        cout << "Please select a choice (enter integer): ";
        int choice = getInteger();
        validate(choice, 1, 4);
        cout << endl;
        
        if (choice == 1) {
            return "east";
        } else if (choice == 2) {
            return "west";
        } else if (choice == 3) {
            return "items";
        } else {
            return "look";
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movb 0x68(%rsi), %bpl
movq 0x876e(%rip), %rdi      # 0xbfd0
leaq 0x29b1(%rip), %rsi      # 0x621a
callq 0x2150
cmpb $0x1, %bpl
jne 0x38d2
callq 0x50e8
leaq 0x4(%rsp), %r15
movl %eax, (%r15)
pushq $0x1
popq %rsi
pushq $0x5
popq %rdx
movq %r15, %rdi
callq 0x3650
movq 0x873a(%rip), %rdi      # 0xbfd0
callq 0x20b0
movl (%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x39ab
leaq 0x2d3c(%rip), %rcx      # 0x65ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2989(%rip), %rsi      # 0x6249
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
callq 0x50e8
leaq 0x4(%rsp), %r14
movl %eax, (%r14)
pushq $0x1
popq %rsi
pushq $0x4
popq %rdx
movq %r14, %rdi
callq 0x3650
movq 0x86dc(%rip), %rdi      # 0xbfd0
callq 0x20b0
movl (%r14), %eax
cmpl $0x3, %eax
je 0x393d
cmpl $0x2, %eax
je 0x3924
cmpl $0x1, %eax
jne 0x3953
leaq 0x2937(%rip), %rsi      # 0x6249
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
leaq 0x2be4(%rip), %rsi      # 0x650f
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
leaq 0x2910(%rip), %rsi      # 0x6254
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
leaq 0x2900(%rip), %rsi      # 0x625a
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
leaq 0x28e4(%rip), %rsi      # 0x6254
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
leaq 0x28d4(%rip), %rsi      # 0x625a
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
leaq 0x2b73(%rip), %rsi      # 0x650f
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
jmp 0x39c4
movb $0x0, 0x68(%r14)
leaq 0x2cef(%rip), %rsi      # 0x66a6
leaq 0x3(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x39e2
jmp 0x39e2
jmp 0x39e2
jmp 0x39e2
jmp 0x39e2
jmp 0x39e2
jmp 0x39e2
jmp 0x39e2
movq %rax, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Corridor.cpp
// Function: Corridor::Corridor()
Corridor::Corridor() {
    Space::roomName = "Corridor";
    Space::roomDescription= "A long hallway on the Starship with locked doors lining the walls. This seems to be a dead end.";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x59f8
leaq 0x814d(%rip), %rax      # 0xbc18
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x2bd4(%rip), %rsi      # 0x66ad
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x2bcd(%rip), %rsi      # 0x66b6
callq 0x2250
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Corridor.cpp
// Function: Corridor::Corridor(Space*, Space*, Space*, Space*)
Corridor::Corridor(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x59f8
leaq 0x80e0(%rip), %rax      # 0xbc18
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Corridor.cpp
// Function: Corridor::getChoice[abi:cxx11]()
string Corridor::getChoice() {
    cout << "Please select a choice (enter integer): ";
    int choice = getInteger();
    validate(choice, 1, 3);
    cout << endl;
    
    if (choice == 1) {
        return "south";
    } else if (choice == 2) {
        return "items";
    } else {
        return "look";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x83f7(%rip), %r14      # 0xbfd0
leaq 0x263a(%rip), %rsi      # 0x621a
movq %r14, %rdi
callq 0x2150
callq 0x50e8
leaq 0xc(%rsp), %r15
movl %eax, (%r15)
pushq $0x1
popq %rsi
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x3650
movq %r14, %rdi
callq 0x20b0
movl (%r15), %eax
cmpl $0x2, %eax
je 0x3c26
cmpl $0x1, %eax
jne 0x3c34
leaq 0x262f(%rip), %rsi      # 0x624e
leaq 0xb(%rsp), %rdx
jmp 0x3c40
leaq 0x2627(%rip), %rsi      # 0x6254
leaq 0xa(%rsp), %rdx
jmp 0x3c40
leaq 0x261f(%rip), %rsi      # 0x625a
leaq 0x9(%rsp), %rdx
movq %rbx, %rdi
callq 0x2968
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/randomNumber.cpp
// Function: randomNumber(int, int)
int randomNumber(int min, int max) {
    std::random_device rd;                             //Create seed object
    std::minstd_rand0 engine(rd());                    //Seed the engine
    std::uniform_int_distribution<int> work(min, max); //Set range for distribution
    int randomNumber = work(engine);
    
    return randomNumber;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x13a0, %rsp           # imm = 0x13A0
movl %esi, %ebx
movl %edi, %ebp
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x3cd4
movq %r14, %rdi
callq 0x21b0
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
xorl %edx, %edx
divl %ecx
cmpl $0x1, %edx
adcl $0x0, %edx
leaq 0x8(%rsp), %rsi
movq %rdx, (%rsi)
leaq 0x10(%rsp), %rdi
movl %ebp, (%rdi)
movl %ebx, 0x4(%rdi)
callq 0x3d2a
movl %eax, %ebx
leaq 0x18(%rsp), %rdi
callq 0x3d32
movl %ebx, %eax
addq $0x13a0, %rsp           # imm = 0x13A0
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x3cbe
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3d32
movq %rbx, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Armory.cpp
// Function: Armory::Armory()
Armory::Armory() {
    Space::roomName = "Armory";
    Space::roomDescription= "The space where all the weapons are stored on the ship. Mostly plasma blasters but you are too cool for those.";
    
    Space::top = new Corridor;
    Space::top->setBottom(this);
    Space::bottom = new Corridor;
    Space::top->setTop(this);
    Space::left = nullptr;
    Space::right = new Door;
    Space::right->setLeft(this);
    
    codeAvail = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x59f8
leaq 0x7dfc(%rip), %rax      # 0xbc60
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x27e1(%rip), %rsi      # 0x6653
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x28e6(%rip), %rsi      # 0x6768
callq 0x2250
pushq $0x68
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x3ab8
movq %r15, 0x48(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5afc
pushq $0x68
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x3ab8
movq %r15, 0x50(%rbx)
movq 0x48(%rbx), %rdi
movq %rbx, %rsi
callq 0x5af6
andq $0x0, 0x60(%rbx)
pushq $0x68
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x51f4
movq %r15, 0x58(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5b02
movb $0x1, 0x68(%rbx)
popq %rbx
popq %r14
popq %r15
retq
jmp 0x3f01
jmp 0x3f01
movq %rax, %r14
pushq $0x68
popq %rsi
movq %r15, %rdi
callq 0x2170
jmp 0x3f14
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Armory.cpp
// Function: Armory::printChoices()
void Armory::printChoices() {
    if (codeAvail) {
        cout << "1) North - Mysterious Room" << endl
             << "2) East - Startanium Door" << endl
             << "3) South - Mysterious Room" << endl
             << "4) West - Infirmary" << endl
             << "5) Item Inventory " << endl
             << "6) Look around" << endl
             << "7) Pick up crumpled paper" << endl << endl;
    } else {
        cout << "1) North - Mysterious Room" << endl
        << "2) East - Startanium Door" << endl
        << "3) South - Mysterious Room" << endl
        << "4) West - Infirmary" << endl
        << "5) Item Inventory " << endl
        << "6) Look around" << endl << endl;
    }
}

// Assembly:
pushq %rbx
movb 0x68(%rdi), %bl
movq 0x7feb(%rip), %rdi      # 0xbfd0
leaq 0x21bf(%rip), %rsi      # 0x61ab
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x27d7(%rip), %rsi      # 0x67d7
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x21c6(%rip), %rsi      # 0x61dd
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x27c3(%rip), %rsi      # 0x67f1
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x245f(%rip), %rsi      # 0x64a4
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x245b(%rip), %rsi      # 0x64b7
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
cmpb $0x1, %bl
jne 0x4088
leaq 0x278d(%rip), %rsi      # 0x6805
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
popq %rbx
jmp 0x20b0
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::Game()
Game::Game() {
    playerName = "Luke";
    exitGame = false;
    gameOver = false;
    playerHealth = 10;
    doorCode = 1225;
    kyloWinGame = true;
    chewbaccaFree = false;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
leaq 0x30(%rdi), %r14
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rdi)
andq $0x0, 0x40(%rdi)
leaq 0x2544(%rip), %rsi      # 0x681f
callq 0x2250
movl $0x100, 0x20(%rbx)      # imm = 0x100
movabsq $0x4c90000000a, %rax    # imm = 0x4C90000000A
movq %rax, 0x24(%rbx)
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %r15
movq %r14, %rdi
callq 0x4dea
movq %rbx, %rdi
callq 0x2090
movq %r15, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::doorInteraction(Map&)
void Game::doorInteraction(Map& map) {
    cout << map.getLocation()->getRoomDescription() << endl << endl;
    
    cout << "Please enter an access code: ";
    int userInput = getInteger();
    cout << endl;
    if (userInput == doorCode) {   //Door code is 1225 and found on paper description
        cout << "Access GRANTED (The door whirs open with a whoosh)" << endl << endl;
        map.moveSouth();
        pause();
    } else {
        cout << "Access DENIED (I guess you will be admiring the blasters a little longer)"       << endl << endl;
        map.moveWest();
        pause();
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x34ea
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x5ab8
movq 0x789f(%rip), %rdi      # 0xbfd0
movq %r15, %rsi
callq 0x2130
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x7876(%rip), %r15      # 0xbfd0
leaq 0x26a1(%rip), %rsi      # 0x6e02
movq %r15, %rdi
callq 0x2150
callq 0x50e8
movl %eax, %ebp
movq %r15, %rdi
callq 0x20b0
cmpl 0x28(%r14), %ebp
jne 0x47ab
movq 0x784b(%rip), %rdi      # 0xbfd0
leaq 0x2694(%rip), %rsi      # 0x6e20
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movq %rbx, %rdi
callq 0x340c
jmp 0x47d6
movq 0x781e(%rip), %rdi      # 0xbfd0
leaq 0x269a(%rip), %rsi      # 0x6e53
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movq %rbx, %rdi
callq 0x3494
callq 0x4a22
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::advance(Map&)
void Game::advance(Map& map) {
    cout << setw(9) << map.currentRoom() << " | Health: " << playerHealth << endl  //Header
    << "---------------------------------" << endl;
    
    map.getLocation()->printChoices();
    
    string choice = map.getLocation()->getChoice();
    doAction(choice, map);          //If not execute player choice
    
    //Update player health after turn
    playerHealth--;
    if (playerHealth == 0) {
        cout << "The combined effects of the blast and adventure have taken its toll... the galaxy starts to slip into darkness as you lose consciousness." << endl << endl;
        gameOver = true;
    }
    pause();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x7738(%rip), %r15      # 0xbfd0
movq (%r15), %rax
movq -0x18(%rax), %rax
movq $0x9, 0x10(%r15,%rax)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x34d8
movq %r15, %rdi
movq %r12, %rsi
callq 0x2130
leaq 0x25d6(%rip), %rsi      # 0x6e9d
movq %rax, %rdi
callq 0x2150
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20b0
leaq 0x2475(%rip), %rsi      # 0x6d5e
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x8(%rsp), %rdi
callq 0x2090
movq %r14, %rdi
callq 0x34ea
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq %r14, %rdi
callq 0x34ea
movq (%rax), %rcx
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq *0x18(%rcx)
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x21a0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x4a66
leaq 0x28(%rsp), %rdi
callq 0x2090
decl 0x24(%rbx)
jne 0x4980
movq 0x7670(%rip), %rdi      # 0xbfd0
leaq 0x2542(%rip), %rsi      # 0x6ea9
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movb $0x1, 0x22(%rbx)
callq 0x4a22
leaq 0x8(%rsp), %rdi
callq 0x2090
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2090
jmp 0x49af
jmp 0x49ac
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::winMessage()
void Game::winMessage() {
    if (chewbaccaFree) {
    cout << "You quickly glance around the Launch Bay. Luckily, there is one star ship available for you to commandeer and escape the ship. As you board the ship, Poe and Chewbacca run up the ramp to give you a high five for defeating Kylo Ren. The action music again starts to blare as alarms go off in the launch bay. You fire up the engines and take off from the ship knowing that Supreme Leader Snoke still needs to be found and dealt with. After a long deliberation with Poe and Chewbacca, you all decide to stop at the Mos Eisley cantina for a well deserved break! As you engage the light drive, the ship you left behind disintegrates into billions of pieces... Chewy must have made some modifications in the core reactor." << endl << endl;
    } else {
        cout << "You quickly glance around the Launch Bay. Luckily, there is one star ship available for you to commandeer and escape the ship. As you board the ship, Poe runs up the ramp to give you a high five for defeating Kylo Ren. The action music again starts to blare as alarms go off in the launch bay. You fire up the engines and take off from the ship knowing that Supreme Leader Snoke still needs to be found and dealt with. After a long deliberation with Poe, you all decide to stop at the Mos Eisley cantina for a well deserved break! As you engage the light drive, you hear a faint grrrwaaaaaarggggh and can't help but to think that someone was left in the detention block. Oh well... " << endl << endl;
    }
    
    cout << "Congratulation you have COMPLETED this Star Wars adventure!" << endl << endl;
}

// Assembly:
pushq %rbx
leaq 0x2b85(%rip), %rax      # 0x754f
leaq 0x2e4a(%rip), %rsi      # 0x781b
cmpb $0x0, 0x23(%rdi)
cmovneq %rax, %rsi
movq 0x75f0(%rip), %rbx      # 0xbfd0
movq %rbx, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
leaq 0x30c7(%rip), %rsi      # 0x7ac6
movq %rbx, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
popq %rbx
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::pause()
void Game::pause() {
    cout << "Press enter to continue" << endl;
    char ch  = cin.get();   //PAUSE
    while (ch != '\n') {
        cin.clear();
        ch = cin.get();
    }
}

// Assembly:
pushq %rbx
movq 0x75a6(%rip), %rdi      # 0xbfd0
leaq 0x30d1(%rip), %rsi      # 0x7b02
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq 0x759b(%rip), %rbx      # 0xbfe0
movq %rbx, %rdi
callq 0x2180
cmpb $0xa, %al
je 0x4a64
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
xorl %esi, %esi
callq 0x2210
jmp 0x4a45
popq %rbx
retq
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::printItems()
void Game::printItems() {
    cout << setw(18) << "Inventory" << endl  //Header
    << "---------------------------------" << endl;
    for (int i = 0; i < inventory.size(); i++) {
        cout << inventory[i].itemName << ": " << inventory[i].itemDescription << endl;
    }
    cout << endl;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq 0x7375(%rip), %r14      # 0xbfd0
movq (%r14), %rax
movq -0x18(%rax), %rax
movq $0x12, 0x10(%r14,%rax)
leaq 0x20e2(%rip), %rsi      # 0x6d54
movq %r14, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x20d5(%rip), %rsi      # 0x6d5e
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
xorl %r12d, %r12d
leaq 0x159d(%rip), %r15      # 0x6240
xorl %r13d, %r13d
movq 0x30(%rbx), %rsi
movq 0x38(%rbx), %rax
subq %rsi, %rax
sarq $0x6, %rax
cmpq %r13, %rax
jbe 0x4cf5
addq %r12, %rsi
movq %r14, %rdi
callq 0x2130
movq %rax, %rdi
movq %r15, %rsi
callq 0x2150
movq 0x30(%rbx), %rcx
leaq (%rcx,%r12), %rsi
addq $0x20, %rsi
movq %rax, %rdi
callq 0x2130
movq %rax, %rdi
callq 0x20b0
incq %r13
addq $0x40, %r12
jmp 0x4ca6
movq 0x72d4(%rip), %rdi      # 0xbfd0
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x20b0
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::addLightsaber()
void Game::addLightsaber() {
    Items lightsaber;
    lightsaber.itemName = "GREEN LIGHT SABER: ";
    lightsaber.itemDescription = "The weapon of choice for a jedi.";
    inventory.push_back(lightsaber);
    kyloWinGame = false;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x39ec
leaq 0x2058(%rip), %rsi      # 0x6d80
movq %r14, %rdi
callq 0x2250
leaq 0x28(%rsp), %rdi
leaq 0x2058(%rip), %rsi      # 0x6d94
callq 0x2250
leaq 0x30(%rbx), %rdi
leaq 0x8(%rsp), %rsi
callq 0x4e0c
movb $0x0, 0x21(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x4e38
addq $0x48, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4e38
movq %rbx, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::addPaper()
void Game::addPaper() {
    Items accessCode;
    accessCode.itemName = "CRUMPLED PAPER: ";
    accessCode.itemDescription = "There is some writing in Ewokese: 1225... how mysterious...";
    inventory.push_back(accessCode);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x39ec
leaq 0x201d(%rip), %rsi      # 0x6db5
movq %r14, %rdi
callq 0x2250
leaq 0x28(%rsp), %rdi
leaq 0x201a(%rip), %rsi      # 0x6dc6
callq 0x2250
addq $0x30, %rbx
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x4e0c
leaq 0x8(%rsp), %rdi
callq 0x4e38
addq $0x48, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4e38
movq %rbx, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/getInteger.cpp
// Function: getInteger()
int getInteger() {                      //See code citation in comment at top of page
    int integer;
    while (true) {
        string line;
        getline(cin, line);
        
        istringstream stream(line);
        stream >> integer;
        if (!stream.fail() && stream.eof() && integer >= 0) { //Num Validation & Pos Number Validation
            break;
        } else {
            cout << "The value you entered is not a valid integer. Please \n"
                    << "enter another integer: ";
        }
    }
    
    return integer;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
leaq 0x8(%rsp), %r14
leaq 0x28(%rsp), %r15
leaq 0x4(%rsp), %r12
movq 0x6ec1(%rip), %r13      # 0xbfd0
leaq 0x2a1e(%rip), %rbx      # 0x7b34
leaq 0x2a4e(%rip), %rbp      # 0x7b6b
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
andq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
movq 0x6ea7(%rip), %rdi      # 0xbfe0
movq %r14, %rsi
callq 0x2030
movq %r15, %rdi
movq %r14, %rsi
pushq $0x8
popq %rdx
callq 0x21f0
movq %r15, %rdi
movq %r12, %rsi
callq 0x20e0
movq 0x28(%rsp), %rax
movq -0x18(%rax), %rax
movl 0x48(%rsp,%rax), %eax
testb $0x5, %al
jne 0x5176
testb $0x2, %al
je 0x5176
cmpl $0x0, 0x4(%rsp)
jns 0x51a1
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2150
movq %rax, %rdi
movq %rbp, %rsi
callq 0x2150
movq %r15, %rdi
callq 0x20a0
movq %r14, %rdi
callq 0x2090
jmp 0x511d
leaq 0x28(%rsp), %rdi
callq 0x20a0
leaq 0x8(%rsp), %rdi
callq 0x2090
movl 0x4(%rsp), %eax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x51cd
movq %rax, %rbx
jmp 0x51df
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x20a0
leaq 0x8(%rsp), %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x2230
nopl (%rax)
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Door.cpp
// Function: Door::Door()
Door::Door() {
    Space::roomName = "Door";
    Space::roomDescription= "There appears to be a big startanium door impeding the way. It looks like some access code needs to be entered.";
    
    Space::top = new Corridor;
    Space::top->setBottom(this);
    Space::bottom = new KyloSpace;
    Space::bottom->setTop(this);
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x59f8
leaq 0x6aa0(%rip), %rax      # 0xbca8
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x2ae1(%rip), %rsi      # 0x7cf7
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x2974(%rip), %rsi      # 0x7b9a
callq 0x2250
pushq $0x68
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x3ab8
movq %r15, 0x48(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5afc
pushq $0x68
popq %rdi
callq 0x2160
movq %rax, %r15
movq %rax, %rdi
callq 0x5738
movq %r15, 0x50(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x5af6
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
popq %rbx
popq %r14
popq %r15
retq
jmp 0x527e
movq %rax, %r14
pushq $0x68
popq %rsi
movq %r15, %rdi
callq 0x2170
jmp 0x5291
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Door.cpp
// Function: Door::printChoices()
void Door::printChoices() {
    cout << "1) North - Mysterious Room" << endl
         << "2) South - Command Center" << endl
         << "3) West - Armory" << endl
         << "4) Item Inventory " << endl
         << "5) Look around" << endl << endl;
}

// Assembly:
pushq %rax
movq 0x6c86(%rip), %rdi      # 0xbfd0
leaq 0xe5a(%rip), %rsi       # 0x61ab
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x28a5(%rip), %rsi      # 0x7c0a
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0x28a8(%rip), %rsi      # 0x7c24
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0xe65(%rip), %rsi       # 0x61f8
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0xe61(%rip), %rsi       # 0x620b
movq %rax, %rdi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
popq %rax
jmp 0x20b0
nop
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/DetentionBlock.cpp
// Function: DetentionBlock::DetentionBlock()
DetentionBlock::DetentionBlock() {
    Space::roomName = "Detention Block";
    Space::roomDescription= "A bunch of cells line the wall of the room. It appears there is only one prisoner currently in the First Order's captivity. Who could it be?";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
    
    doorOpen = false;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x59f8
leaq 0x6861(%rip), %rax      # 0xbcf0
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x2798(%rip), %rsi      # 0x7c35
callq 0x2250
leaq 0x28(%rbx), %rdi
leaq 0x2798(%rip), %rsi      # 0x7c45
callq 0x2250
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
movb $0x0, 0x68(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x5a80
movq %r14, %rdi
callq 0x2230
// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/DetentionBlock.cpp
// Function: DetentionBlock::printChoices()
void DetentionBlock::printChoices() {
    if (!doorOpen) {
        cout << "1) North - Core Reactor" << endl
             << "2) Item Inventory " << endl
             << "3) Look around" << endl
             << "4) Open Cell Door" << endl << endl;
    } else {
        cout << "1) North " << endl
        << "2) Item Inventory " << endl
        << "3) Look around" << endl << endl;
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
cmpb $0x0, 0x68(%rdi)
je 0x5567
movq 0x6a85(%rip), %rdi      # 0xbfd0
leaq 0x27aa(%rip), %rsi      # 0x7cfc
callq 0x2150
leaq 0xe24(%rip), %rbx       # 0x6382
leaq 0xe0a(%rip), %r14       # 0x636f
jmp 0x559f
movq 0x6a62(%rip), %rdi      # 0xbfd0
leaq 0x275d(%rip), %rsi      # 0x7cd2
callq 0x2150
movq %rax, %rdi
callq 0x20b0
leaq 0xde6(%rip), %rsi       # 0x636f
movq %rax, %rdi
callq 0x2150
leaq 0x2752(%rip), %rbx      # 0x7cea
leaq 0xde3(%rip), %r14       # 0x6382
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
movq %r14, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x20b0