// File: janthonyo[P]Redes-Practicas/./domino.cc
// Function: domino::partidaCerrada()
void partidaCerrada()
	{
		int total1 = 0;
		int total2 = 0;

		char mensaje[250];

		for (int i = 0; i < (int) player1.hand.size(); i++)
		{
			total1 += player1.hand[i].left;
			total1 += player1.hand[i].right;
		}

		for (int i = 0; i < (int) player2.hand.size(); i++)
		{
			total2 += player2.hand[i].left;
			total2 += player2.hand[i].right;
		}

		if (total1 < total2) {
			strcpy(mensaje, "+Ok. Partida cerrada.\n");
			send(getSocketP1(), mensaje, strlen(mensaje), 0);
			send(getSocketP2(), mensaje, strlen(mensaje), 0);
			strcpy(mensaje, "+Ok. Partida Finalizada. Jugador1 ha ganado la partida.\n\n");
			send(getSocketP1(), mensaje, strlen(mensaje), 0);
			send(getSocketP2(), mensaje, strlen(mensaje), 0);
		}
		else if (total2 < total1) {
			strcpy(mensaje, "+Ok. Partida cerrada.\n");
			send(getSocketP1(), mensaje, strlen(mensaje), 0);
			send(getSocketP2(), mensaje, strlen(mensaje), 0);
			strcpy(mensaje, "+Ok. Partida Finalizada. Jugador2 ha ganado la partida.\n\n");
			send(getSocketP1(), mensaje, strlen(mensaje), 0);
			send(getSocketP2(), mensaje, strlen(mensaje), 0);
		}
		else{
			strcpy(mensaje, "+Ok. Partida cerrada.\n");
			send(getSocketP1(), mensaje, strlen(mensaje), 0);
			send(getSocketP2(), mensaje, strlen(mensaje), 0);
			strcpy(mensaje, "+Ok. Partida Finalizada. Ambos jugadores tienen la misma cantidad de puntos. Es un empate.\n\n");
			send(getSocketP1(), mensaje, strlen(mensaje), 0);
			send(getSocketP2(), mensaje, strlen(mensaje), 0);
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x120(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl $0x0, -0x114(%rbp)
movq -0x120(%rbp), %rdi
movl -0x114(%rbp), %eax
movl %eax, -0x124(%rbp)
addq $0x30, %rdi
addq $0x68, %rdi
callq 0x8bc0
movq %rax, %rcx
movl -0x124(%rbp), %eax
cmpl %ecx, %eax
jge 0x829a
movq -0x120(%rbp), %rdi
addq $0x30, %rdi
addq $0x68, %rdi
movslq -0x114(%rbp), %rsi
callq 0x9750
movq -0x120(%rbp), %rdi
movl (%rax), %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
addq $0x30, %rdi
addq $0x68, %rdi
movslq -0x114(%rbp), %rsi
callq 0x9750
movl 0x4(%rax), %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x114(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x114(%rbp)
jmp 0x8212
movl $0x0, -0x118(%rbp)
movq -0x120(%rbp), %rdi
movl -0x118(%rbp), %eax
movl %eax, -0x128(%rbp)
addq $0xb0, %rdi
addq $0x68, %rdi
callq 0x8bc0
movq %rax, %rcx
movl -0x128(%rbp), %eax
cmpl %ecx, %eax
jge 0x8335
movq -0x120(%rbp), %rdi
addq $0xb0, %rdi
addq $0x68, %rdi
movslq -0x118(%rbp), %rsi
callq 0x9750
movq -0x120(%rbp), %rdi
movl (%rax), %eax
addl -0x10(%rbp), %eax
movl %eax, -0x10(%rbp)
addq $0xb0, %rdi
addq $0x68, %rdi
movslq -0x118(%rbp), %rsi
callq 0x9750
movl 0x4(%rax), %eax
addl -0x10(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x118(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x118(%rbp)
jmp 0x82a4
movl -0xc(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x8478
leaq -0x110(%rbp), %rdi
leaq 0xa304(%rip), %rsi      # 0x12653
callq 0x3260
movq -0x120(%rbp), %rdi
callq 0x7b30
movl %eax, -0x164(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x164(%rbp), %edi
movq -0x160(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
movq -0x120(%rbp), %rdi
callq 0x7b50
movl %eax, -0x154(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x150(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x154(%rbp), %edi
movq -0x150(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
leaq -0x110(%rbp), %rdi
leaq 0xa06a(%rip), %rsi      # 0x12452
callq 0x3260
movq -0x120(%rbp), %rdi
callq 0x7b30
movl %eax, -0x144(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x140(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x144(%rbp), %edi
movq -0x140(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
movq -0x120(%rbp), %rdi
callq 0x7b50
movl %eax, -0x134(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x134(%rbp), %edi
movq -0x130(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
jmp 0x86ef
movl -0x10(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x85bb
leaq -0x110(%rbp), %rdi
leaq 0xa1c1(%rip), %rsi      # 0x12653
callq 0x3260
movq -0x120(%rbp), %rdi
callq 0x7b30
movl %eax, -0x1a4(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x1a4(%rbp), %edi
movq -0x1a0(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
movq -0x120(%rbp), %rdi
callq 0x7b50
movl %eax, -0x194(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x190(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x194(%rbp), %edi
movq -0x190(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
leaq -0x110(%rbp), %rdi
leaq 0x9f61(%rip), %rsi      # 0x1248c
callq 0x3260
movq -0x120(%rbp), %rdi
callq 0x7b30
movl %eax, -0x184(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x180(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x184(%rbp), %edi
movq -0x180(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
movq -0x120(%rbp), %rdi
callq 0x7b50
movl %eax, -0x174(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x170(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x174(%rbp), %edi
movq -0x170(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
jmp 0x86ed
leaq -0x110(%rbp), %rdi
leaq 0xa08a(%rip), %rsi      # 0x12653
callq 0x3260
movq -0x120(%rbp), %rdi
callq 0x7b30
movl %eax, -0x1e4(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1e0(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x1e4(%rbp), %edi
movq -0x1e0(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
movq -0x120(%rbp), %rdi
callq 0x7b50
movl %eax, -0x1d4(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1d0(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x1d4(%rbp), %edi
movq -0x1d0(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
leaq -0x110(%rbp), %rdi
leaq 0xa008(%rip), %rsi      # 0x1266a
callq 0x3260
movq -0x120(%rbp), %rdi
callq 0x7b30
movl %eax, -0x1c4(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1c0(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x1c4(%rbp), %edi
movq -0x1c0(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
movq -0x120(%rbp), %rdi
callq 0x7b50
movl %eax, -0x1b4(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
movl -0x1b4(%rbp), %edi
movq -0x1b0(%rbp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x3150
jmp 0x86ef
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
nopl (%rax,%rax)