// File: nachogoro[P]wordcrack-herminia/src/main.cpp
// Function: processNewWord(Board&, Dictionary const&, std::map<Word, int, std::less<Word>, std::allocator<std::pair<Word const, int>>>&, Coordinate const&, Word)
void processNewWord(Board& board, const Dictionary& dict, std::map<Word, int>& results, const Coordinate& coord, Word word)
{
    Coordinate next = coord.left();
    verifyWord(board, dict, results, next, word);

    next = coord.topLeft();
    verifyWord(board, dict, results, next, word);

    next = coord.up();
    verifyWord(board, dict, results, next, word);

    next = coord.topRight();
    verifyWord(board, dict, results, next, word);

    next = coord.right();
    verifyWord(board, dict, results, next, word);

    next = coord.bottomRight();
    verifyWord(board, dict, results, next, word);

    next = coord.down();
    verifyWord(board, dict, results, next, word);

    next = coord.bottomLeft();
    verifyWord(board, dict, results, next, word);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x820, %rsp            # imm = 0x820
movq %rdi, -0x740(%rbp)
movq %rsi, -0x738(%rbp)
movq %rdx, -0x730(%rbp)
movq %rcx, -0x728(%rbp)
movq %r8, -0x720(%rbp)
callq 0x31c0
movq -0x740(%rbp), %rdi
movq -0x738(%rbp), %rsi
movq -0x730(%rbp), %rdx
movq -0x728(%rbp), %rcx
movq -0x720(%rbp), %r8
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x114a0
movq -0x720(%rbp), %rsi
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x718(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x710(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x708(%rbp)
leaq -0x100(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x11100
movq -0x718(%rbp), %rdi
movq -0x710(%rbp), %rsi
movq -0x708(%rbp), %rdx
movq -0x700(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xee69
leaq -0x100(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x114e0
movq -0x720(%rbp), %rsi
movq %rax, -0x114(%rbp)
movq -0x114(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x760(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x758(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x750(%rbp)
leaq -0x1e8(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x11100
movq -0x760(%rbp), %rdi
movq -0x758(%rbp), %rsi
movq -0x750(%rbp), %rdx
movq -0x748(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xeef2
leaq -0x1e8(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x11520
movq -0x720(%rbp), %rsi
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x780(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x778(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x770(%rbp)
leaq -0x2c0(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x11100
movq -0x780(%rbp), %rdi
movq -0x778(%rbp), %rsi
movq -0x770(%rbp), %rdx
movq -0x768(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xef7b
leaq -0x2c0(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x11560
movq -0x720(%rbp), %rsi
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x798(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x790(%rbp)
leaq -0x398(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x11100
movq -0x7a0(%rbp), %rdi
movq -0x798(%rbp), %rsi
movq -0x790(%rbp), %rdx
movq -0x788(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xf004
leaq -0x398(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x115a0
movq -0x720(%rbp), %rsi
movq %rax, -0x3a0(%rbp)
movq -0x3a0(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x7c0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x7b8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x7b0(%rbp)
leaq -0x470(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x11100
movq -0x7c0(%rbp), %rdi
movq -0x7b8(%rbp), %rsi
movq -0x7b0(%rbp), %rdx
movq -0x7a8(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xf08d
leaq -0x470(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x115e0
movq -0x720(%rbp), %rsi
movq %rax, -0x478(%rbp)
movq -0x478(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x7e0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x7d8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x7d0(%rbp)
leaq -0x548(%rbp), %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x11100
movq -0x7e0(%rbp), %rdi
movq -0x7d8(%rbp), %rsi
movq -0x7d0(%rbp), %rdx
movq -0x7c8(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xf116
leaq -0x548(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x11620
movq -0x720(%rbp), %rsi
movq %rax, -0x550(%rbp)
movq -0x550(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x800(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x7f0(%rbp)
leaq -0x620(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x11100
movq -0x800(%rbp), %rdi
movq -0x7f8(%rbp), %rsi
movq -0x7f0(%rbp), %rdx
movq -0x7e8(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xf19f
leaq -0x620(%rbp), %rdi
callq 0x111d0
movq -0x20(%rbp), %rdi
callq 0x11660
movq -0x720(%rbp), %rsi
movq %rax, -0x628(%rbp)
movq -0x628(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x820(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x818(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x810(%rbp)
leaq -0x6f8(%rbp), %rdi
movq %rdi, -0x808(%rbp)
callq 0x11100
movq -0x820(%rbp), %rdi
movq -0x818(%rbp), %rsi
movq -0x810(%rbp), %rdx
movq -0x808(%rbp), %r8
leaq -0x30(%rbp), %rcx
callq 0xf5c0
jmp 0xf228
leaq -0x6f8(%rbp), %rdi
callq 0x111d0
addq $0x820, %rsp            # imm = 0x820
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x398(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x548(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x111d0
jmp 0xf344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x6f8(%rbp), %rdi
callq 0x111d0
movq -0x108(%rbp), %rdi
callq 0x33f0