// File: m-wiesner[P]Jotto/ScoreKeeper.cpp
// Function: ScoreKeeper::submit_score(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Guesser*)
bool ScoreKeeper::submit_score (const string& guess, Guesser *g)// submit score of string to guesser
{
    if (codewords[g->get_player()] == guess)
    {
        cout << endl;
        cout << "!!! " << g->get_player() << " GUESSED " << guess;
        cout << " AND WON !!!" << endl;
        return false;
    }
     
    int s = score(guess, codewords[g->get_player()]); 
    g->add_guess(guess, s);
    g->print_guesses();
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x40(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x7ee0
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
callq 0xad80
movq %rax, -0xe0(%rbp)
jmp 0xa942
movq -0xe0(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x98c0
movb %al, -0xf1(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3190
movb -0xf1(%rbp), %al
testb $0x1, %al
jne 0xa970
jmp 0xaa6a
movq 0x9651(%rip), %rdi      # 0x13fc8
movq %rdi, -0x118(%rbp)
movq 0x9633(%rip), %rsi      # 0x13fb8
callq 0x32f0
movq -0x118(%rbp), %rdi
leaq 0x2c78(%rip), %rsi      # 0xd610
callq 0x32a0
movq %rax, -0x110(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x70(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x7ee0
movq -0x110(%rbp), %rdi
movq -0x108(%rbp), %rsi
callq 0x3270
movq %rax, -0x100(%rbp)
jmp 0xa9d4
movq -0x100(%rbp), %rdi
leaq 0x2c33(%rip), %rsi      # 0xd615
callq 0x32a0
movq %rax, -0x120(%rbp)
jmp 0xa9f0
movq -0x120(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x3270
jmp 0xaa02
leaq -0x70(%rbp), %rdi
callq 0x3190
movq 0x95b6(%rip), %rdi      # 0x13fc8
leaq 0x2c06(%rip), %rsi      # 0xd61f
callq 0x32a0
movq %rax, %rdi
movq 0x9590(%rip), %rsi      # 0x13fb8
callq 0x32f0
movb $0x0, -0x1(%rbp)
jmp 0xab81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3190
jmp 0xab8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3190
jmp 0xab8f
movq -0x18(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x3110
movq -0xf0(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x20(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x7ee0
jmp 0xaa9a
movq -0x128(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xad80
movq %rax, -0x130(%rbp)
jmp 0xaab6
movq -0x130(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x3110
jmp 0xaacb
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x6440
movl %eax, -0x134(%rbp)
jmp 0xaae6
leaq -0xb8(%rbp), %rdi
callq 0x3190
leaq -0xd8(%rbp), %rdi
callq 0x3190
leaq -0x98(%rbp), %rdi
callq 0x3190
movl -0x134(%rbp), %eax
movl %eax, -0x74(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x74(%rbp), %rdx
callq 0x7e60
movq -0x20(%rbp), %rdi
callq 0x8140
movb $0x1, -0x1(%rbp)
jmp 0xab81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xab73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xab67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x3190
leaq -0xd8(%rbp), %rdi
callq 0x3190
leaq -0x98(%rbp), %rdi
callq 0x3190
jmp 0xab8f
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3460
nopl (%rax,%rax)