// File: 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
subq $0x170, %rsp            # imm = 0x170
movl 0x751b(%rip), %eax      # 0xe40c
movl %eax, -0x11c(%rbp)
subl $0x1, %eax
je 0x6f23
jmp 0x6efe
movl -0x11c(%rbp), %eax
subl $0x2, %eax
je 0x7102
jmp 0x6f0f
movl -0x11c(%rbp), %eax
subl $0x3, %eax
je 0x731b
jmp 0x7548
leaq 0x3621(%rip), %rdi      # 0xa54b
movb $0x0, %al
callq 0x2060
leaq 0x363e(%rip), %rdi      # 0xa576
movb $0x0, %al
callq 0x2060
leaq 0x3684(%rip), %rdi      # 0xa5ca
movb $0x0, %al
callq 0x2060
movq 0x708c(%rip), %rdi      # 0xdfe0
leaq 0x7631(%rip), %rsi      # 0xe58c
callq 0x22b0
movsbl 0x7625(%rip), %eax      # 0xe58c
cmpl $0x71, %eax
jne 0x7036
leaq 0x74b9(%rip), %rsi      # 0xe430
leaq -0x40(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x2c30
movq -0x128(%rbp), %rdx
leaq -0x20(%rbp), %rdi
movl $0x71, %esi
callq 0x6950
jmp 0x6f9e
leaq 0x762b(%rip), %rdi      # 0xe5d0
leaq -0x20(%rbp), %rsi
callq 0x2280
leaq -0x20(%rbp), %rdi
callq 0x23e8
leaq -0x40(%rbp), %rdi
callq 0x23e8
leaq 0x7469(%rip), %rdi      # 0xe430
callq 0x2c80
movl %eax, -0x12c(%rbp)
leaq 0x75f7(%rip), %rdi      # 0xe5d0
callq 0x20f0
movl -0x12c(%rbp), %edi
movq %rax, %rsi
movl $0x64, %edx
xorl %ecx, %ecx
callq 0x2120
movl %eax, 0x7237(%rip)      # 0xe230
cmpl $0x0, 0x7230(%rip)      # 0xe230
jg 0x702c
leaq 0x33fa(%rip), %rdi      # 0xa403
movb $0x0, %al
callq 0x2060
jmp 0x702c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x23e8
jmp 0x7553
movl $0x1, %edi
callq 0x2270
movsbl 0x754f(%rip), %eax      # 0xe58c
cmpl $0x68, %eax
jne 0x708f
leaq 0x73e7(%rip), %rsi      # 0xe430
leaq -0x68(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x3130
movq -0x138(%rbp), %rdi
callq 0x6820
jmp 0x7067
leaq -0x68(%rbp), %rdi
callq 0x31b0
jmp 0x70fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x31b0
jmp 0x7553
movsbl 0x74f6(%rip), %eax      # 0xe58c
cmpl $0x73, %eax
jne 0x70b9
leaq 0x738e(%rip), %rdi      # 0xe430
callq 0x2cc0
movl %eax, %esi
leaq 0x3368(%rip), %rdi      # 0xa418
movb $0x0, %al
callq 0x2060
jmp 0x70f9
movsbl 0x74cc(%rip), %eax      # 0xe58c
cmpl $0x62, %eax
jne 0x70e4
leaq 0x731c(%rip), %rdi      # 0xe3e8
callq 0x20f0
movq %rax, %rsi
leaq 0x3217(%rip), %rdi      # 0xa2f2
movb $0x0, %al
callq 0x2060
jmp 0x70f7
movq 0x6ef5(%rip), %rdi      # 0xdfe0
leaq 0x748e(%rip), %rsi      # 0xe580
callq 0x2160
jmp 0x70f9
jmp 0x70fb
jmp 0x70fd
jmp 0x754a
leaq 0x3500(%rip), %rdi      # 0xa609
movb $0x0, %al
callq 0x2060
leaq 0x351d(%rip), %rdi      # 0xa634
movb $0x0, %al
callq 0x2060
leaq 0x34a5(%rip), %rdi      # 0xa5ca
movb $0x0, %al
callq 0x2060
movq 0x6ead(%rip), %rdi      # 0xdfe0
leaq 0x7452(%rip), %rsi      # 0xe58c
callq 0x22b0
movsbl 0x7446(%rip), %eax      # 0xe58c
cmpl $0x71, %eax
jne 0x722f
leaq 0x72da(%rip), %rsi      # 0xe430
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x2c30
movq -0x140(%rbp), %rdx
leaq -0x88(%rbp), %rdi
movl $0x71, %esi
callq 0x6950
jmp 0x7183
leaq 0x7446(%rip), %rdi      # 0xe5d0
leaq -0x88(%rbp), %rsi
callq 0x2280
leaq -0x88(%rbp), %rdi
callq 0x23e8
leaq -0xa8(%rbp), %rdi
callq 0x23e8
leaq 0x727b(%rip), %rdi      # 0xe430
callq 0x2c80
movl %eax, -0x144(%rbp)
leaq 0x7409(%rip), %rdi      # 0xe5d0
callq 0x20f0
movl -0x144(%rbp), %edi
movq %rax, %rsi
movl $0x64, %edx
xorl %ecx, %ecx
callq 0x2120
movl %eax, 0x7049(%rip)      # 0xe230
cmpl $0x0, 0x7042(%rip)      # 0xe230
jg 0x7225
leaq 0x320c(%rip), %rdi      # 0xa403
movb $0x0, %al
callq 0x2060
movl $0x1, %edi
callq 0x2270
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x23e8
jmp 0x7553
movl $0x1, %edi
callq 0x2270
movsbl 0x7356(%rip), %eax      # 0xe58c
cmpl $0x68, %eax
jne 0x7291
leaq 0x71ee(%rip), %rsi      # 0xe430
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x150(%rbp)
callq 0x3130
movq -0x150(%rbp), %rdi
callq 0x6820
jmp 0x7263
leaq -0xc0(%rbp), %rdi
callq 0x31b0
jmp 0x7314
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x31b0
jmp 0x7553
movsbl 0x72f4(%rip), %eax      # 0xe58c
cmpl $0x73, %eax
jne 0x72bb
leaq 0x718c(%rip), %rdi      # 0xe430
callq 0x2cc0
movl %eax, %esi
leaq 0x3166(%rip), %rdi      # 0xa418
movb $0x0, %al
callq 0x2060
jmp 0x7312
movsbl 0x72ca(%rip), %eax      # 0xe58c
cmpl $0x62, %eax
jne 0x72e6
leaq 0x711a(%rip), %rdi      # 0xe3e8
callq 0x20f0
movq %rax, %rsi
leaq 0x3015(%rip), %rdi      # 0xa2f2
movb $0x0, %al
callq 0x2060
jmp 0x7310
movq 0x6cf3(%rip), %rdi      # 0xdfe0
leaq 0x728c(%rip), %rsi      # 0xe580
callq 0x2160
movq 0x6ce0(%rip), %rdi      # 0xdfe0
leaq 0x7279(%rip), %rsi      # 0xe580
addq $0x4, %rsi
callq 0x2160
jmp 0x7312
jmp 0x7314
jmp 0x7316
jmp 0x754a
leaq 0x3368(%rip), %rdi      # 0xa68a
movb $0x0, %al
callq 0x2060
leaq 0x3387(%rip), %rdi      # 0xa6b7
movb $0x0, %al
callq 0x2060
leaq 0x328c(%rip), %rdi      # 0xa5ca
movb $0x0, %al
callq 0x2060
movq 0x6c94(%rip), %rdi      # 0xdfe0
leaq 0x7239(%rip), %rsi      # 0xe58c
callq 0x22b0
movsbl 0x722d(%rip), %eax      # 0xe58c
cmpl $0x71, %eax
jne 0x7448
leaq 0x70c1(%rip), %rsi      # 0xe430
leaq -0x100(%rbp), %rdi
movq %rdi, -0x158(%rbp)
callq 0x2c30
movq -0x158(%rbp), %rdx
leaq -0xe0(%rbp), %rdi
movl $0x71, %esi
callq 0x6950
jmp 0x739c
leaq 0x722d(%rip), %rdi      # 0xe5d0
leaq -0xe0(%rbp), %rsi
callq 0x2280
leaq -0xe0(%rbp), %rdi
callq 0x23e8
leaq -0x100(%rbp), %rdi
callq 0x23e8
leaq 0x7062(%rip), %rdi      # 0xe430
callq 0x2c80
movl %eax, -0x15c(%rbp)
leaq 0x71f0(%rip), %rdi      # 0xe5d0
callq 0x20f0
movl -0x15c(%rbp), %edi
movq %rax, %rsi
movl $0x64, %edx
xorl %ecx, %ecx
callq 0x2120
movl %eax, 0x6e30(%rip)      # 0xe230
cmpl $0x0, 0x6e29(%rip)      # 0xe230
jg 0x743e
leaq 0x2ff3(%rip), %rdi      # 0xa403
movb $0x0, %al
callq 0x2060
movl $0x1, %edi
callq 0x2270
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x23e8
jmp 0x7553
movl $0x1, %edi
callq 0x2270
movsbl 0x713d(%rip), %eax      # 0xe58c
cmpl $0x68, %eax
jne 0x74aa
leaq 0x6fd5(%rip), %rsi      # 0xe430
leaq -0x118(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x3130
movq -0x168(%rbp), %rdi
callq 0x6820
jmp 0x747c
leaq -0x118(%rbp), %rdi
callq 0x31b0
jmp 0x7544
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x31b0
jmp 0x7553
movsbl 0x70db(%rip), %eax      # 0xe58c
cmpl $0x73, %eax
jne 0x74d4
leaq 0x6f73(%rip), %rdi      # 0xe430
callq 0x2cc0
movl %eax, %esi
leaq 0x2f4d(%rip), %rdi      # 0xa418
movb $0x0, %al
callq 0x2060
jmp 0x7542
movsbl 0x70b1(%rip), %eax      # 0xe58c
cmpl $0x62, %eax
jne 0x74ff
leaq 0x6f01(%rip), %rdi      # 0xe3e8
callq 0x20f0
movq %rax, %rsi
leaq 0x2dfc(%rip), %rdi      # 0xa2f2
movb $0x0, %al
callq 0x2060
jmp 0x7540
movq 0x6ada(%rip), %rdi      # 0xdfe0
leaq 0x7073(%rip), %rsi      # 0xe580
callq 0x2160
movq 0x6ac7(%rip), %rdi      # 0xdfe0
leaq 0x7060(%rip), %rsi      # 0xe580
addq $0x4, %rsi
callq 0x2160
movq 0x6ab0(%rip), %rdi      # 0xdfe0
leaq 0x7049(%rip), %rsi      # 0xe580
addq $0x8, %rsi
callq 0x2160
jmp 0x7542
jmp 0x7544
jmp 0x7546
jmp 0x754a
jmp 0x754a
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x2360
nopl (%rax)