// File: 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 %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rsi, -0x60(%rbp)
movq %rdi, %rax
movq -0x60(%rbp), %rdi
movq %rdi, -0x58(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x2e7f(%rip), %rsi      # 0xb224
callq 0x5b10
testb $0x1, %al
jne 0x83b0
jmp 0x83be
movq -0x18(%rbp), %rdi
callq 0x5350
jmp 0x85c8
movq -0x58(%rbp), %rdi
leaq 0x2e66(%rip), %rsi      # 0xb22f
callq 0x5b10
testb $0x1, %al
jne 0x83d4
jmp 0x83e2
movq -0x18(%rbp), %rdi
callq 0x5720
jmp 0x85c6
movq -0x58(%rbp), %rdi
leaq 0x2e3d(%rip), %rsi      # 0xb22a
callq 0x5b10
testb $0x1, %al
jne 0x83f8
jmp 0x8406
movq -0x18(%rbp), %rdi
callq 0x5790
jmp 0x85c4
movq -0x58(%rbp), %rdi
leaq 0x309f(%rip), %rsi      # 0xb4b0
callq 0x5b10
testb $0x1, %al
jne 0x841c
jmp 0x842a
movq -0x18(%rbp), %rdi
callq 0x5800
jmp 0x85c2
movq -0x58(%rbp), %rdi
leaq 0x2e00(%rip), %rsi      # 0xb235
callq 0x5b10
testb $0x1, %al
jne 0x8440
jmp 0x844e
movq -0x50(%rbp), %rdi
callq 0x85e0
jmp 0x85c0
movq -0x58(%rbp), %rdi
leaq 0x2de2(%rip), %rsi      # 0xb23b
callq 0x5b10
testb $0x1, %al
jne 0x8464
jmp 0x84e3
movq -0x18(%rbp), %rdi
callq 0x58a0
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0xa870
movq -0x70(%rbp), %rsi
movq 0x8b48(%rip), %rdi      # 0x10fd0
callq 0x3180
movq %rax, -0x68(%rbp)
jmp 0x8493
movq -0x68(%rbp), %rdi
movq 0x8b22(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, -0x78(%rbp)
jmp 0x84a9
movq -0x78(%rbp), %rdi
movq 0x8b0c(%rip), %rsi      # 0x10fc0
callq 0x31d0
jmp 0x84bb
leaq -0x38(%rbp), %rdi
callq 0x3110
jmp 0x85be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x3110
jmp 0x85d1
movq -0x58(%rbp), %rdi
leaq 0x2fc7(%rip), %rsi      # 0xb4b5
callq 0x5b10
testb $0x1, %al
jne 0x84f9
jmp 0x8507
movq -0x50(%rbp), %rdi
callq 0x8700
jmp 0x85bc
movq -0x58(%rbp), %rdi
leaq 0x326f(%rip), %rsi      # 0xb781
callq 0x5b10
testb $0x1, %al
jne 0x851d
jmp 0x852b
movq -0x50(%rbp), %rdi
callq 0x8790
jmp 0x85ba
movq -0x58(%rbp), %rdi
leaq 0x3669(%rip), %rsi      # 0xbb9f
callq 0x5b10
testb $0x1, %al
jne 0x8541
jmp 0x857c
movq 0x8a88(%rip), %rdi      # 0x10fd0
leaq 0x3655(%rip), %rsi      # 0xbba4
callq 0x31a0
movq %rax, %rdi
movq 0x8a62(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0x8a53(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq -0x50(%rbp), %rax
movb $0x1, 0x23(%rax)
jmp 0x85b8
movq 0x8a4d(%rip), %rdi      # 0x10fd0
leaq 0x36e7(%rip), %rsi      # 0xbc71
callq 0x31a0
movq %rax, %rdi
movq 0x8a27(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0x8a18(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq -0x50(%rbp), %rax
movl $0x32, 0x24(%rax)
jmp 0x85ba
jmp 0x85bc
jmp 0x85be
jmp 0x85c0
jmp 0x85c2
jmp 0x85c4
jmp 0x85c6
jmp 0x85c8
addq $0x80, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x32f0
nopw (%rax,%rax)