// File: venGaza[P]starwars/src/Armory.cpp
// Function: Armory::getChoice[abi:cxx11]()
string Armory::getChoice() {
    if (codeAvail) {
        cout << "Please select a choice (enter integer): ";
        int choice = getInteger();
        validate(choice, 1, 7);
        cout << endl;
        
        if (choice == 1) {
            return "north";
        } else if (choice == 2) {
            return "east";
        } else if (choice == 3) {
            return "south";
        } else if (choice == 4) {
            return "west";
        } else if (choice == 5) {
            return "items";
        } else if (choice == 6) {
            return "look";
        } else {
            codeAvail = false;
            return "paper";
        }
    } else {
        cout << "Please select a choice (enter integer): ";
        int choice = getInteger();
        validate(choice, 1, 6);
        cout << endl;
        
        if (choice == 1) {
            return "north";
        } else if (choice == 2) {
            return "east";
        } else if (choice == 3) {
            return "south";
        } else if (choice == 4) {
            return "west";
        } else if (choice == 5) {
            return "items";
        } else {
            return "look";
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x50(%rbp)
movq %rdi, %rax
movq %rax, -0x48(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
testb $0x1, 0x68(%rax)
je 0x7420
movq 0x9e29(%rip), %rdi      # 0x10fd0
leaq 0x404d(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x1, %esi
movl $0x7, %edx
callq 0x5b40
movq 0x9dfb(%rip), %rdi      # 0x10fd0
movq 0x9de4(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x14(%rbp)
jne 0x7232
leaq -0x15(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x4021(%rip), %rsi      # 0xb224
callq 0x3f00
jmp 0x720a
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x2, -0x14(%rbp)
jne 0x7283
leaq -0x25(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x3fd6(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x725b
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x3, -0x14(%rbp)
jne 0x72d4
leaq -0x26(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x3f8a(%rip), %rsi      # 0xb22f
callq 0x3f00
jmp 0x72ac
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x4, -0x14(%rbp)
jne 0x7325
leaq -0x27(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x41ba(%rip), %rsi      # 0xb4b0
callq 0x3f00
jmp 0x72fd
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x5, -0x14(%rbp)
jne 0x7376
leaq -0x28(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x3eee(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x734e
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x6, -0x14(%rbp)
jne 0x73c7
leaq -0x29(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x3ea3(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x739f
leaq -0x29(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x31f0
jmp 0x7666
movq -0x40(%rbp), %rax
movb $0x0, 0x68(%rax)
leaq -0x2a(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x4390(%rip), %rsi      # 0xb781
callq 0x3f00
jmp 0x73f8
leaq -0x2a(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2a(%rbp), %rdi
callq 0x31f0
jmp 0x7666
movq 0x9ba9(%rip), %rdi      # 0x10fd0
leaq 0x3dcd(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x30(%rbp)
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
movl $0x6, %edx
callq 0x5b40
movq 0x9b7b(%rip), %rdi      # 0x10fd0
movq 0x9b64(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x30(%rbp)
jne 0x74b8
leaq -0x31(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x3d9b(%rip), %rsi      # 0xb224
callq 0x3f00
jmp 0x7490
leaq -0x31(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x2, -0x30(%rbp)
jne 0x750f
leaq -0x32(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x3d4a(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x74e7
leaq -0x32(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x32(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x3, -0x30(%rbp)
jne 0x7566
leaq -0x33(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0x3cf8(%rip), %rsi      # 0xb22f
callq 0x3f00
jmp 0x753e
leaq -0x33(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x33(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x4, -0x30(%rbp)
jne 0x75bd
leaq -0x34(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x3f22(%rip), %rsi      # 0xb4b0
callq 0x3f00
jmp 0x7595
leaq -0x34(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x34(%rbp), %rdi
callq 0x31f0
jmp 0x7666
cmpl $0x5, -0x30(%rbp)
jne 0x760e
leaq -0x35(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xb0(%rbp), %rdx
leaq 0x3c50(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x75ec
leaq -0x35(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x35(%rbp), %rdi
callq 0x31f0
jmp 0x7666
leaq -0x36(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xb8(%rbp), %rdx
leaq 0x3c0b(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x7637
leaq -0x36(%rbp), %rdi
callq 0x31f0
jmp 0x7659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x36(%rbp), %rdi
callq 0x31f0
jmp 0x7666
movq -0x48(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x32f0
nop