// File: /workspace/github_cpp_makefile_star2_O1/muzuka[P]Cards-Against-Humanity-Online/Client.cpp
// Function: getInput()
void getInput() {
	switch (blackCard.numOfAnswers) {
		case 1:
			printf("This black card requires one  white card.\n");
			printf("Please enter your answer in this form:\na # to send answer.\nt # to test the answer.\n");
			printf("s to see score.\nb to see black card\nh to see hand.\nq to quit.\n");
			cin >> answer;
			if (answer == 'q') {
				note = composeNOTIFYMessage('q', self.getName());
				bytesSent = send(self.getSocket(), (char*)note.c_str(), 100, 0);
				if (bytesSent <= 0) {
					printf("Couldn't send quit.\n");
				}
				exit(EXIT_FAILURE);
			}
			else if(answer == 'h') {
				printHand(self.getHand());
			}
			else if(answer == 's') {
				printf("You have won %d rounds.\n", self.getScore());
			}
			else if(answer == 'b') {
				printf("%s\n", blackCard.content.c_str());
			}
			else {
				cin >> num[0];
			}
			break;
		case 2:
			printf("This black card requires two white cards.\n");
			printf("Please enter your answer in this form:\na # # to send answer.\nt # # to test the answer");
			printf("s to see score.\nb to see black card\nh to see hand.\nq to quit.\n");
			cin >> answer;
			if (answer == 'q') {
				note = composeNOTIFYMessage('q', self.getName());
				bytesSent = send(self.getSocket(), (char*)note.c_str(), 100, 0);
				if (bytesSent <= 0) {
					printf("Couldn't send quit.\n");
					exit(EXIT_FAILURE);
				}
				exit(EXIT_FAILURE);
			}
			else if(answer == 'h') {
				printHand(self.getHand());
			}
			else if(answer == 's') {
				printf("You have won %d rounds.\n", self.getScore());
			}
			else if(answer == 'b') {
				printf("%s\n", blackCard.content.c_str());
			}
			else {
				cin >> num[0];
				cin >> num[1];
			}
			break;
		case 3:
			printf("This black card requires three white cards.\n");
			printf("Please enter your answer in this form:\na # # # to send answer.\nt # # # to test the answer");
			printf("s to see score.\nb to see black card\nh to see hand.\nq to quit.\n");
			cin >> answer;
			if (answer == 'q') {
				note = composeNOTIFYMessage('q', self.getName());
				bytesSent = send(self.getSocket(), (char*)note.c_str(), 100, 0);
				if (bytesSent <= 0) {
					printf("Couldn't send quit.\n");
					exit(EXIT_FAILURE);
				}
				exit(EXIT_FAILURE);
			}
			else if(answer == 'h') {
				printHand(self.getHand());
			}
			else if(answer == 's') {
				printf("You have won %d rounds.\n", self.getScore());
			}
			else if(answer == 'b') {
				printf("%s\n", blackCard.content.c_str());
			}
			else {
				cin >> num[0];
				cin >> num[1];
				cin >> num[2];
			}
			break;
		default:
			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0xc8, %rsp
movl 0x4b4b(%rip), %eax      # 0xa37c
cmpl $0x3, %eax
je 0x591f
cmpl $0x2, %eax
je 0x58b4
cmpl $0x1, %eax
jne 0x599c
leaq 0x1ea1(%rip), %rdi      # 0x76f0
callq 0x2220
leaq 0x1ebf(%rip), %rdi      # 0x771a
callq 0x2220
leaq 0x1f06(%rip), %rdi      # 0x776d
callq 0x2220
movq 0x476d(%rip), %rdi      # 0x9fe0
leaq 0x4c82(%rip), %rsi      # 0xa4fc
callq 0x21e0
movzbl 0x4c76(%rip), %eax      # 0xa4fc
cmpl $0x70, %eax
jg 0x5a27
cmpl $0x62, %eax
je 0x59a6
cmpl $0x68, %eax
jne 0x5a5a
leaq 0x4af8(%rip), %rsi      # 0xa3a0
leaq -0xd0(%rbp), %rbx
jmp 0x5984
leaq 0x1e0b(%rip), %rdi      # 0x76c6
callq 0x2220
leaq 0x18a2(%rip), %rdi      # 0x7169
xorl %eax, %eax
callq 0x2040
leaq 0x1e98(%rip), %rdi      # 0x776d
callq 0x2220
movq 0x46ff(%rip), %rdi      # 0x9fe0
leaq 0x4c14(%rip), %rsi      # 0xa4fc
callq 0x21e0
movzbl 0x4c08(%rip), %eax      # 0xa4fc
cmpl $0x70, %eax
jg 0x59bb
cmpl $0x62, %eax
je 0x59a6
cmpl $0x68, %eax
jne 0x59c9
leaq 0x4a8a(%rip), %rsi      # 0xa3a0
leaq -0xb8(%rbp), %rbx
jmp 0x5984
leaq 0x1d74(%rip), %rdi      # 0x769a
callq 0x2220
leaq 0x188d(%rip), %rdi      # 0x71bf
xorl %eax, %eax
callq 0x2040
leaq 0x1e2d(%rip), %rdi      # 0x776d
callq 0x2220
movq 0x4694(%rip), %rdi      # 0x9fe0
leaq 0x4ba9(%rip), %rsi      # 0xa4fc
callq 0x21e0
movzbl 0x4b9d(%rip), %eax      # 0xa4fc
cmpl $0x70, %eax
jg 0x59e8
cmpl $0x62, %eax
je 0x59a6
cmpl $0x68, %eax
jne 0x59f6
leaq 0x4a23(%rip), %rsi      # 0xa3a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f3e
movq %rbx, %rdi
callq 0x5056
movq %rbx, %rdi
callq 0x2f76
addq $0xc8, %rsp
popq %rbx
popq %rbp
retq
movq 0x49ab(%rip), %rdi      # 0xa358
addq $0xc8, %rsp
popq %rbx
popq %rbp
jmp 0x2220
cmpl $0x73, %eax
je 0x5a2c
cmpl $0x71, %eax
je 0x5a76
movq 0x4610(%rip), %rbx      # 0x9fe0
leaq 0x4b19(%rip), %rsi      # 0xa4f0
movq %rbx, %rdi
callq 0x2100
leaq 0x4b0e(%rip), %rsi      # 0xa4f4
jmp 0x5a22
cmpl $0x73, %eax
je 0x5a2c
cmpl $0x71, %eax
je 0x5adf
movq 0x45e3(%rip), %rbx      # 0x9fe0
leaq 0x4aec(%rip), %rsi      # 0xa4f0
movq %rbx, %rdi
callq 0x2100
leaq 0x4ae1(%rip), %rsi      # 0xa4f4
movq %rbx, %rdi
callq 0x2100
leaq 0x4ad6(%rip), %rsi      # 0xa4f8
movq %rbx, %rdi
jmp 0x5a68
cmpl $0x73, %eax
jne 0x5a51
leaq 0x496d(%rip), %rdi      # 0xa3a0
callq 0x2ab8
leaq 0x16ee(%rip), %rdi      # 0x712d
movl %eax, %esi
xorl %eax, %eax
addq $0xc8, %rsp
popq %rbx
popq %rbp
jmp 0x2040
cmpl $0x71, %eax
je 0x5b41
movq 0x457f(%rip), %rdi      # 0x9fe0
leaq 0x4a88(%rip), %rsi      # 0xa4f0
addq $0xc8, %rsp
popq %rbx
popq %rbp
jmp 0x2100
leaq 0x4923(%rip), %rsi      # 0xa3a0
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a6e
leaq -0x28(%rbp), %rdi
movl $0x71, %esi
movq %rbx, %rdx
callq 0x5176
leaq 0x4a9f(%rip), %rdi      # 0xa540
leaq -0x28(%rbp), %rbx
movq %rbx, %rsi
callq 0x21c0
movq (%rbx), %rdi
leaq -0x18(%rbp), %rax
cmpq %rax, %rdi
je 0x5ac5
movq -0x18(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5bac
movq -0x58(%rbp), %rsi
jmp 0x5ba4
leaq 0x48ba(%rip), %rsi      # 0xa3a0
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a6e
leaq -0x28(%rbp), %rdi
movl $0x71, %esi
movq %rbx, %rdx
callq 0x5176
leaq 0x4a36(%rip), %rdi      # 0xa540
leaq -0x28(%rbp), %rbx
movq %rbx, %rsi
callq 0x21c0
movq (%rbx), %rdi
leaq -0x18(%rbp), %rax
cmpq %rax, %rdi
je 0x5b2e
movq -0x18(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5bac
movq -0x38(%rbp), %rsi
jmp 0x5ba4
leaq 0x4858(%rip), %rsi      # 0xa3a0
leaq -0x88(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a6e
leaq -0x28(%rbp), %rdi
movl $0x71, %esi
movq %rbx, %rdx
callq 0x5176
leaq 0x49d1(%rip), %rdi      # 0xa540
leaq -0x28(%rbp), %rbx
movq %rbx, %rsi
callq 0x21c0
movq (%rbx), %rdi
leaq -0x18(%rbp), %rax
cmpq %rax, %rdi
je 0x5b93
movq -0x18(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5bac
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2180
leaq 0x47ed(%rip), %rdi      # 0xa3a0
callq 0x2aa4
movq 0x4981(%rip), %rsi      # 0xa540
movl $0x64, %edx
movl %eax, %edi
xorl %ecx, %ecx
callq 0x20c0
movl %eax, 0x45cd(%rip)      # 0xa1a0
testl %eax, %eax
jg 0x5be3
leaq 0x1bcd(%rip), %rdi      # 0x77ab
callq 0x2220
movl $0x1, %edi
callq 0x21b0
movq %rax, %rbx
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5c35
movq -0x78(%rbp), %rsi
jmp 0x5c2d
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5c35
movq -0x38(%rbp), %rsi
jmp 0x5c2d
movq %rax, %rbx
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5c35
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2180
movq %rbx, %rdi
callq 0x2270