// File: 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
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
testb $0x1, 0x68(%rax)
je 0x6118
movq 0xb089(%rip), %rdi      # 0x10fd0
leaq 0x52ad(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x1, %esi
movl $0x5, %edx
callq 0x5b40
movq 0xb05b(%rip), %rdi      # 0x10fd0
movq 0xb044(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x14(%rbp)
jne 0x5fd2
leaq -0x15(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x5287(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x5faa
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
cmpl $0x2, -0x14(%rbp)
jne 0x6023
leaq -0x25(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x54bc(%rip), %rsi      # 0xb4b0
callq 0x3f00
jmp 0x5ffb
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
cmpl $0x3, -0x14(%rbp)
jne 0x6074
leaq -0x26(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x51f0(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x604c
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
cmpl $0x4, -0x14(%rbp)
jne 0x60c5
leaq -0x27(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x51a5(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x609d
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
movq -0x38(%rbp), %rax
movb $0x0, 0x68(%rax)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x5550(%rip), %rsi      # 0xb639
callq 0x3f00
jmp 0x60f0
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
movq 0xaeb1(%rip), %rdi      # 0x10fd0
leaq 0x50d5(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x2c(%rbp)
leaq -0x2c(%rbp), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x5b40
movq 0xae83(%rip), %rdi      # 0x10fd0
movq 0xae6c(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x2c(%rbp)
jne 0x61aa
leaq -0x2d(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x50af(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x6182
leaq -0x2d(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2d(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
cmpl $0x2, -0x2c(%rbp)
jne 0x61fb
leaq -0x2e(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x52e4(%rip), %rsi      # 0xb4b0
callq 0x3f00
jmp 0x61d3
leaq -0x2e(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2e(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
cmpl $0x3, -0x2c(%rbp)
jne 0x624c
leaq -0x2f(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x5012(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x622a
leaq -0x2f(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2f(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
leaq -0x30(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3300
movq -0x48(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x4fcd(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x6275
leaq -0x30(%rbp), %rdi
callq 0x31f0
jmp 0x6297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x31f0
jmp 0x62a4
movq -0x40(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x32f0
nopl (%rax)