// File: /workspace/github_cpp_makefile_star2_O2/Doug0855[P]TigerZone/main.cpp
// Function: main
int main(int argc, char *argv[]) {
	std::string SERVER_IP, PORT, TOURNAMENT_PASS, TEAM_ID, TEAM_PASSWORD;
	if( argc == 6 ) { //getting command line args
		SERVER_IP = argv[1];
		PORT = argv[2];
		TOURNAMENT_PASS = argv[3];
		TEAM_ID = argv[4];
		TEAM_PASSWORD = argv[5];
	}
	else if( argc > 6 ) {
		printf("Too many arguments supplied.\n");
		exit (EXIT_FAILURE);
	}
	else {
		printf("Five arguments expected.\n");
		exit (EXIT_FAILURE);
	}
	Client serverConnection(SERVER_IP, PORT);
	serverConnection.connectToServer();


	std::string message_list = "";

	//starting auth protocol...

	std::string PLAYER_ID = authenticationProtocol(serverConnection, TOURNAMENT_PASS, TEAM_ID, TEAM_PASSWORD);
	challengeProtocol(serverConnection);

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x598, %rsp            # imm = 0x598
movq %rsi, %rbx
leaq -0x98(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
leaq -0x78(%rbp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
leaq -0x58(%rbp), %rsi
movq %rsi, -0x10(%rsi)
andq $0x0, -0x8(%rsi)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq -0x18(%rbp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rsi)
movb %cl, (%rax)
movb %cl, (%rdx)
cmpl $0x6, %edi
jne 0x5fcc
movq 0x8(%rbx), %rsi
leaq -0xa8(%rbp), %rdi
callq 0x33f0
movq 0x10(%rbx), %rsi
leaq -0x88(%rbp), %rdi
callq 0x33f0
movq 0x18(%rbx), %rsi
leaq -0x68(%rbp), %rdi
callq 0x33f0
movq 0x20(%rbx), %rsi
leaq -0x48(%rbp), %rdi
callq 0x33f0
movq 0x28(%rbx), %rsi
leaq -0x28(%rbp), %rdi
callq 0x33f0
leaq -0x168(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x32c0
leaq -0x148(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x32c0
leaq -0x598(%rbp), %rdi
leaq -0x168(%rbp), %rsi
leaq -0x148(%rbp), %rdx
callq 0xae6c
leaq -0x148(%rbp), %rdi
callq 0x3120
leaq -0x168(%rbp), %rdi
callq 0x3120
leaq -0x598(%rbp), %rdi
callq 0xaf34
leaq 0xc847(%rip), %rsi      # 0x12715
leaq -0x188(%rbp), %rdi
leaq -0x128(%rbp), %rdx
callq 0x30e0
leaq -0x108(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x32c0
leaq -0xe8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x32c0
leaq -0xc8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x32c0
leaq -0x128(%rbp), %rdi
leaq -0x598(%rbp), %rsi
leaq -0x108(%rbp), %rdx
leaq -0xe8(%rbp), %rcx
leaq -0xc8(%rbp), %r8
callq 0x5804
leaq -0xc8(%rbp), %rdi
callq 0x3120
leaq -0xe8(%rbp), %rdi
callq 0x3120
leaq -0x108(%rbp), %rdi
callq 0x3120
leaq -0x598(%rbp), %rdi
callq 0x5409
leaq -0x128(%rbp), %rdi
callq 0x3120
leaq -0x188(%rbp), %rdi
callq 0x3120
leaq -0x598(%rbp), %rdi
callq 0xaf2e
leaq -0x28(%rbp), %rdi
callq 0x3120
leaq -0x48(%rbp), %rdi
callq 0x3120
leaq -0x68(%rbp), %rdi
callq 0x3120
leaq -0x88(%rbp), %rdi
callq 0x3120
leaq -0xa8(%rbp), %rdi
callq 0x3120
xorl %eax, %eax
addq $0x598, %rsp            # imm = 0x598
popq %rbx
popq %rbp
retq
jle 0x5fd7
leaq 0xc39d(%rip), %rdi      # 0x12372
jmp 0x5fde
leaq 0xc37b(%rip), %rdi      # 0x12359
callq 0x3330
pushq $0x1
popq %rdi
callq 0x3270
movq %rax, %rbx
leaq -0x128(%rbp), %rdi
jmp 0x6023
movq %rax, %rbx
leaq -0xc8(%rbp), %rdi
callq 0x3120
jmp 0x600b
movq %rax, %rbx
leaq -0xe8(%rbp), %rdi
callq 0x3120
jmp 0x601c
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
callq 0x3120
jmp 0x602d
movq %rax, %rbx
leaq -0x188(%rbp), %rdi
callq 0x3120
jmp 0x6040
jmp 0x603d
movq %rax, %rbx
leaq -0x598(%rbp), %rdi
callq 0xaf2e
jmp 0x6075
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
callq 0x3120
jmp 0x6062
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
callq 0x3120
jmp 0x6075
jmp 0x6072
movq %rax, %rbx
leaq -0x28(%rbp), %rdi
callq 0x3120
leaq -0x48(%rbp), %rdi
callq 0x3120
leaq -0x68(%rbp), %rdi
callq 0x3120
leaq -0x88(%rbp), %rdi
callq 0x3120
leaq -0xa8(%rbp), %rdi
callq 0x3120
movq %rbx, %rdi
callq 0x33c0