// File: /workspace/github_cpp_makefile_star2_O3/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 0x4b72(%rip), %eax      # 0xa37c
cmpl $0x3, %eax
je 0x58f8
cmpl $0x2, %eax
je 0x588d
cmpl $0x1, %eax
jne 0x5975
leaq 0x1ec8(%rip), %rdi      # 0x76f0
callq 0x2220
leaq 0x1ee6(%rip), %rdi      # 0x771a
callq 0x2220
leaq 0x1f2d(%rip), %rdi      # 0x776d
callq 0x2220
movq 0x4794(%rip), %rdi      # 0x9fe0
leaq 0x4ca9(%rip), %rsi      # 0xa4fc
callq 0x21e0
movzbl 0x4c9d(%rip), %eax      # 0xa4fc
cmpl $0x70, %eax
jg 0x5a00
cmpl $0x62, %eax
je 0x597f
cmpl $0x68, %eax
jne 0x5a33
leaq 0x4b1f(%rip), %rsi      # 0xa3a0
leaq -0xd0(%rbp), %rbx
jmp 0x595d
leaq 0x1e32(%rip), %rdi      # 0x76c6
callq 0x2220
leaq 0x18c9(%rip), %rdi      # 0x7169
xorl %eax, %eax
callq 0x2040
leaq 0x1ebf(%rip), %rdi      # 0x776d
callq 0x2220
movq 0x4726(%rip), %rdi      # 0x9fe0
leaq 0x4c3b(%rip), %rsi      # 0xa4fc
callq 0x21e0
movzbl 0x4c2f(%rip), %eax      # 0xa4fc
cmpl $0x70, %eax
jg 0x5994
cmpl $0x62, %eax
je 0x597f
cmpl $0x68, %eax
jne 0x59a2
leaq 0x4ab1(%rip), %rsi      # 0xa3a0
leaq -0xb8(%rbp), %rbx
jmp 0x595d
leaq 0x1d9b(%rip), %rdi      # 0x769a
callq 0x2220
leaq 0x18b4(%rip), %rdi      # 0x71bf
xorl %eax, %eax
callq 0x2040
leaq 0x1e54(%rip), %rdi      # 0x776d
callq 0x2220
movq 0x46bb(%rip), %rdi      # 0x9fe0
leaq 0x4bd0(%rip), %rsi      # 0xa4fc
callq 0x21e0
movzbl 0x4bc4(%rip), %eax      # 0xa4fc
cmpl $0x70, %eax
jg 0x59c1
cmpl $0x62, %eax
je 0x597f
cmpl $0x68, %eax
jne 0x59cf
leaq 0x4a4a(%rip), %rsi      # 0xa3a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2efc
movq %rbx, %rdi
callq 0x5010
movq %rbx, %rdi
callq 0x2f34
addq $0xc8, %rsp
popq %rbx
popq %rbp
retq
movq 0x49d2(%rip), %rdi      # 0xa358
addq $0xc8, %rsp
popq %rbx
popq %rbp
jmp 0x2220
cmpl $0x73, %eax
je 0x5a05
cmpl $0x71, %eax
je 0x5a4f
movq 0x4637(%rip), %rbx      # 0x9fe0
leaq 0x4b40(%rip), %rsi      # 0xa4f0
movq %rbx, %rdi
callq 0x2100
leaq 0x4b35(%rip), %rsi      # 0xa4f4
jmp 0x59fb
cmpl $0x73, %eax
je 0x5a05
cmpl $0x71, %eax
je 0x5ab8
movq 0x460a(%rip), %rbx      # 0x9fe0
leaq 0x4b13(%rip), %rsi      # 0xa4f0
movq %rbx, %rdi
callq 0x2100
leaq 0x4b08(%rip), %rsi      # 0xa4f4
movq %rbx, %rdi
callq 0x2100
leaq 0x4afd(%rip), %rsi      # 0xa4f8
movq %rbx, %rdi
jmp 0x5a41
cmpl $0x73, %eax
jne 0x5a2a
leaq 0x4994(%rip), %rdi      # 0xa3a0
callq 0x2ab8
leaq 0x1715(%rip), %rdi      # 0x712d
movl %eax, %esi
xorl %eax, %eax
addq $0xc8, %rsp
popq %rbx
popq %rbp
jmp 0x2040
cmpl $0x71, %eax
je 0x5b1a
movq 0x45a6(%rip), %rdi      # 0x9fe0
leaq 0x4aaf(%rip), %rsi      # 0xa4f0
addq $0xc8, %rsp
popq %rbx
popq %rbp
jmp 0x2100
leaq 0x494a(%rip), %rsi      # 0xa3a0
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a6e
leaq -0x28(%rbp), %rdi
movl $0x71, %esi
movq %rbx, %rdx
callq 0x513c
leaq 0x4ac6(%rip), %rdi      # 0xa540
leaq -0x28(%rbp), %rbx
movq %rbx, %rsi
callq 0x21c0
movq (%rbx), %rdi
leaq -0x18(%rbp), %rax
cmpq %rax, %rdi
je 0x5a9e
movq -0x18(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b85
movq -0x58(%rbp), %rsi
jmp 0x5b7d
leaq 0x48e1(%rip), %rsi      # 0xa3a0
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a6e
leaq -0x28(%rbp), %rdi
movl $0x71, %esi
movq %rbx, %rdx
callq 0x513c
leaq 0x4a5d(%rip), %rdi      # 0xa540
leaq -0x28(%rbp), %rbx
movq %rbx, %rsi
callq 0x21c0
movq (%rbx), %rdi
leaq -0x18(%rbp), %rax
cmpq %rax, %rdi
je 0x5b07
movq -0x18(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b85
movq -0x38(%rbp), %rsi
jmp 0x5b7d
leaq 0x487f(%rip), %rsi      # 0xa3a0
leaq -0x88(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a6e
leaq -0x28(%rbp), %rdi
movl $0x71, %esi
movq %rbx, %rdx
callq 0x513c
leaq 0x49f8(%rip), %rdi      # 0xa540
leaq -0x28(%rbp), %rbx
movq %rbx, %rsi
callq 0x21c0
movq (%rbx), %rdi
leaq -0x18(%rbp), %rax
cmpq %rax, %rdi
je 0x5b6c
movq -0x18(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b85
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2180
leaq 0x4814(%rip), %rdi      # 0xa3a0
callq 0x2aa4
movq 0x49a8(%rip), %rsi      # 0xa540
movl $0x64, %edx
movl %eax, %edi
xorl %ecx, %ecx
callq 0x20c0
movl %eax, 0x45f4(%rip)      # 0xa1a0
testl %eax, %eax
jg 0x5bbc
leaq 0x1bf4(%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 0x5c0e
movq -0x78(%rbp), %rsi
jmp 0x5c06
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5c0e
movq -0x38(%rbp), %rsi
jmp 0x5c06
movq %rax, %rbx
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5c0e
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2180
movq %rbx, %rdi
callq 0x2270