// File: /workspace/github_cpp_makefile_star2_O2/venGaza[P]starwars/src/Game.cpp
// Function: Game::doAction(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Map&)
void Game::doAction(string choice, Map& map) {
    if (choice == "north") {
        map.moveNorth();
    } else if (choice == "south") {
        map.moveSouth();
    } else if (choice == "east") {
        map.moveEast();
    } else if (choice == "west") {
        map.moveWest();
    } else if (choice == "items") {
        printItems();
    } else if (choice == "look") {
        cout << map.getLocation()->getRoomDescription() << endl << endl;
    } else if (choice == "lightsaber") {
        addLightsaber();
    } else if (choice == "paper") {
        addPaper();
    } else if (choice == "open") {
        cout << "You open the cell door and discover that the prisoner being held is the most famous wookie in the galaxy, Chewbacca! He lets out a thunderous grrrwaaaaaarggggh and heads off to kick some First Order butt!" << endl << endl;
        chewbaccaFree = true;
    } else {
        cout << "You decide to enter the med pod bay for a few minutes and your health is restored."
             << endl << endl;
        playerHealth = 50;
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x17c4(%rip), %rsi      # 0x6243
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4a9c
movq %r15, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x3240
leaq 0x17ab(%rip), %rsi      # 0x624e
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4ac0
movq %r15, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x340c
leaq 0x1782(%rip), %rsi      # 0x6249
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4ae4
movq %r15, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x3450
leaq 0x1a24(%rip), %rsi      # 0x650f
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4b08
movq %r15, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x3494
leaq 0x1745(%rip), %rsi      # 0x6254
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4b2c
movq %rbx, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x4c48
leaq 0x1727(%rip), %rsi      # 0x625a
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4b86
movq %r15, %rdi
callq 0x34ea
movq %rsp, %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x5ab8
movq 0x7474(%rip), %rdi      # 0xbfd0
movq %rbx, %rsi
callq 0x2130
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movq %rsp, %rdi
callq 0x2090
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x1987(%rip), %rsi      # 0x6514
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4baa
movq %rbx, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x4d0a
leaq 0x1c68(%rip), %rsi      # 0x6819
movq %r14, %rdi
callq 0x3643
testb %al, %al
je 0x4bce
movq %rbx, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x4d7a
leaq 0x205a(%rip), %rsi      # 0x6c2f
movq %r14, %rdi
callq 0x3643
movq 0x73ec(%rip), %rdi      # 0xbfd0
testb %al, %al
je 0x4c0d
leaq 0x2045(%rip), %rsi      # 0x6c34
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movb $0x1, 0x23(%rbx)
jmp 0x4b7c
leaq 0x20ed(%rip), %rsi      # 0x6d01
callq 0x2150
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
callq 0x20b0
movl $0x32, 0x24(%rbx)
jmp 0x4b7c
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x2230