// File: venGaza[P]starwars/src/CoreReactor.cpp
// Function: CoreReactor::getChoice[abi:cxx11]()
string CoreReactor::getChoice() {
    if (lightsaberAvail) {
        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 {
            lightsaberAvail = false;
            return "lightsaber";
        }
    } 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 0x5030
movq 0xc219(%rip), %rdi      # 0x10fd0
leaq 0x643d(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x1, %esi
movl $0x7, %edx
callq 0x5b40
movq 0xc1eb(%rip), %rdi      # 0x10fd0
movq 0xc1d4(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x14(%rbp)
jne 0x4e42
leaq -0x15(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x6411(%rip), %rsi      # 0xb224
callq 0x3f00
jmp 0x4e1a
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x2, -0x14(%rbp)
jne 0x4e93
leaq -0x25(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x63c6(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x4e6b
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x3, -0x14(%rbp)
jne 0x4ee4
leaq -0x26(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x637a(%rip), %rsi      # 0xb22f
callq 0x3f00
jmp 0x4ebc
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x4, -0x14(%rbp)
jne 0x4f35
leaq -0x27(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x65aa(%rip), %rsi      # 0xb4b0
callq 0x3f00
jmp 0x4f0d
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x5, -0x14(%rbp)
jne 0x4f86
leaq -0x28(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x62de(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x4f5e
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x6, -0x14(%rbp)
jne 0x4fd7
leaq -0x29(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x6293(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x4faf
leaq -0x29(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x31f0
jmp 0x5276
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 0x64b4(%rip), %rsi      # 0xb4b5
callq 0x3f00
jmp 0x5008
leaq -0x2a(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2a(%rbp), %rdi
callq 0x31f0
jmp 0x5276
movq 0xbf99(%rip), %rdi      # 0x10fd0
leaq 0x61bd(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x30(%rbp)
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
movl $0x6, %edx
callq 0x5b40
movq 0xbf6b(%rip), %rdi      # 0x10fd0
movq 0xbf54(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x30(%rbp)
jne 0x50c8
leaq -0x31(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x618b(%rip), %rsi      # 0xb224
callq 0x3f00
jmp 0x50a0
leaq -0x31(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x2, -0x30(%rbp)
jne 0x511f
leaq -0x32(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x613a(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x50f7
leaq -0x32(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x32(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x3, -0x30(%rbp)
jne 0x5176
leaq -0x33(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0x60e8(%rip), %rsi      # 0xb22f
callq 0x3f00
jmp 0x514e
leaq -0x33(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x33(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x4, -0x30(%rbp)
jne 0x51cd
leaq -0x34(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x6312(%rip), %rsi      # 0xb4b0
callq 0x3f00
jmp 0x51a5
leaq -0x34(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x34(%rbp), %rdi
callq 0x31f0
jmp 0x5276
cmpl $0x5, -0x30(%rbp)
jne 0x521e
leaq -0x35(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xb0(%rbp), %rdx
leaq 0x6040(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x51fc
leaq -0x35(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x35(%rbp), %rdi
callq 0x31f0
jmp 0x5276
leaq -0x36(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x3300
movq -0x50(%rbp), %rdi
movq -0xb8(%rbp), %rdx
leaq 0x5ffb(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x5247
leaq -0x36(%rbp), %rdi
callq 0x31f0
jmp 0x5269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x36(%rbp), %rdi
callq 0x31f0
jmp 0x5276
movq -0x48(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x32f0
nop