// File: /workspace/github_cpp_makefile_star2_O1/muzuka[P]Cards-Against-Humanity-Online/Client.cpp
// Function: parseMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
int parseMessage(string message) {
	char* notifyMessage[2]; // [0] has option, [1] has name
	char* messageDiv[2]; // [0] has type and source, [1] has content
	char* getCommand[2]; // [0] has command, [1] has source
	splitString(messageDiv, (char*)message.c_str(), "\n");
	splitString(getCommand, messageDiv[0], " ");
	
	if(strcmp((const char*)getCommand[0], "ADD") == 0) {
		self.addCard(Card(string(messageDiv[1]), self.getName()));
		//printf("Got a new card.\n");
		return 1;
	}
	else if(strcmp((const char*)getCommand[0], "POST") == 0) {
		blackCard = Card(string(messageDiv[1]), 'b', countChars(messageDiv[1], '_'));
		printf("Received a new black card:\n\"%s\"\n", messageDiv[1]);
		return 1;
	}
	else if(strcmp((const char*)getCommand[0], "ANSWER") == 0) {
		printf("New answer:\n");
		printf("%s\n", messageDiv[1]);
		answers.push_back(Card(string(messageDiv[1]), string(getCommand[1])));
		return 1;
	}
	else if(strcmp((const char*)getCommand[0], "NOTIFY") == 0) {
		splitString(notifyMessage, messageDiv[1], " ");
		return parseNotify(notifyMessage);
	}
	else {
		return -1;
	}
	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x1a0, %rsp            # imm = 0x1A0
movq (%rdi), %rsi
leaq 0x2699(%rip), %rdx      # 0x7248
leaq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x654d
movq (%rbx), %rsi
leaq 0x26ef(%rip), %rdx      # 0x72b4
leaq -0x150(%rbp), %rbx
movq %rbx, %rdi
callq 0x654d
movq (%rbx), %rbx
leaq 0x2642(%rip), %rsi      # 0x7220
movq %rbx, %rdi
callq 0x21f0
testl %eax, %eax
je 0x4c5d
leaq 0x2633(%rip), %rsi      # 0x7224
movq %rbx, %rdi
callq 0x21f0
testl %eax, %eax
je 0x4d31
leaq 0x2642(%rip), %rsi      # 0x724a
movq %rbx, %rdi
callq 0x21f0
testl %eax, %eax
je 0x4d86
leaq 0x2632(%rip), %rsi      # 0x7251
movq %rbx, %rdi
callq 0x21f0
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jne 0x4f4d
movq -0x28(%rbp), %rsi
leaq 0x2673(%rip), %rdx      # 0x72b4
leaq -0x1b0(%rbp), %rbx
movq %rbx, %rdi
callq 0x654d
movq %rbx, %rdi
callq 0x65c3
jmp 0x4f4d
movq -0x28(%rbp), %rsi
leaq -0x138(%rbp), %rdi
leaq -0x98(%rbp), %rdx
callq 0x6910
leaq 0x5725(%rip), %rsi      # 0xa3a0
leaq -0x118(%rbp), %rdi
callq 0x2a6e
leaq -0x198(%rbp), %rdi
leaq -0x138(%rbp), %rsi
leaq -0x118(%rbp), %rdx
callq 0x283c
leaq 0x56f8(%rip), %rdi      # 0xa3a0
leaq -0x198(%rbp), %rsi
callq 0x2ada
leaq -0x160(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4cd3
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x188(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4cf2
movq -0x188(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x108(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4d11
movq -0x108(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x128(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4f48
movq -0x128(%rbp), %rsi
jmp 0x4e67
movq -0x28(%rbp), %rbx
leaq -0xf8(%rbp), %rdi
leaq -0x12(%rbp), %rdx
movq %rbx, %rsi
callq 0x6910
leaq -0x50(%rbp), %rdi
leaq -0x11(%rbp), %rdx
movq %rbx, %rsi
callq 0x6910
movq -0x48(%rbp), %rax
testq %rax, %rax
je 0x4e74
xorl %edx, %edx
movq -0x50(%rbp), %rsi
xorl %ecx, %ecx
xorl %edi, %edi
cmpb $0x5f, (%rsi,%rdx)
sete %dil
addl %edi, %ecx
incq %rdx
cmpq %rdx, %rax
jne 0x4d6d
jmp 0x4e76
leaq 0x2901(%rip), %rdi      # 0x768e
callq 0x2220
movq -0x28(%rbp), %rbx
movq %rbx, %rdi
callq 0x2220
leaq -0xd8(%rbp), %rdi
leaq -0x12(%rbp), %rdx
movq %rbx, %rsi
callq 0x6910
movq -0x148(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x6910
leaq -0x98(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0x283c
leaq 0x5687(%rip), %rdi      # 0xa470
leaq -0x98(%rbp), %rsi
callq 0x6d56
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4e0e
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4e2d
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0xa8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4e4c
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0xc8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4f48
movq -0xc8(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x4f48
xorl %ecx, %ecx
cmpl $0x1, %ecx
adcl $0x0, %ecx
leaq -0x98(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
movl $0x62, %edx
callq 0x27a0
leaq 0x54bd(%rip), %rdi      # 0xa358
leaq -0x98(%rbp), %r14
movq %r14, %rsi
callq 0x21c0
movq 0x20(%r14), %rax
movq %rax, 0x54c3(%rip)      # 0xa378
leaq -0x70(%rbp), %r14
leaq 0x54c0(%rip), %rdi      # 0xa380
movq %r14, %rsi
callq 0x21c0
movq (%r14), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x4ee0
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4eff
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4f18
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2180
leaq -0xe8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4f37
movq -0xe8(%rbp), %rsi
incq %rsi
callq 0x2180
leaq 0x22eb(%rip), %rdi      # 0x7229
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2040
movl $0x1, %eax
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x3090
jmp 0x4f6d
movq %rax, %rbx
leaq -0xa8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4f91
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x4f91
movq %rax, %rbx
leaq -0xc8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x504e
movq -0xc8(%rbp), %rsi
jmp 0x5041
jmp 0x504b
movq %rax, %rbx
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4fd7
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x4fd7
movq %rax, %rbx
leaq -0xe8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x504e
movq -0xe8(%rbp), %rsi
jmp 0x5041
jmp 0x504b
movq %rax, %rbx
leaq -0x198(%rbp), %rdi
callq 0x3090
jmp 0x5006
movq %rax, %rbx
leaq -0x108(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x502a
movq -0x108(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x502a
movq %rax, %rbx
leaq -0x128(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x504e
movq -0x128(%rbp), %rsi
incq %rsi
callq 0x2180
jmp 0x504e
movq %rax, %rbx
movq %rbx, %rdi
callq 0x2270