// File: rozpo[P]enemy/data/game/battle/Battle.cpp
// Function: Battle::printMoves(std::shared_ptr<Player> const&, std::vector<std::shared_ptr<Skill>, std::allocator<std::shared_ptr<Skill>>> const&)
void Battle::printMoves(const std::shared_ptr<Player> &player, const std::vector<std::shared_ptr<Skill>> &skills)
{
    int n = 4;
    for(int i = 0; i < n; i++)
    {
        std::cout << "[" <<i+1<<"]: ("
                  << std::setw(2)
                  << player->uses[i]
                  << "/10) ";
        for(int j = 0; j < skills.size (); j++)
        {
            if (player->skills[ i ] == skills[ j ]->id)
            {
                std::cout << skills[ j ]->name << " ";
                if (! skills[ j ]->target)
                {
                    std::cout << "enemy (-";
                    std::cout << skills[j]->damage << "hp)\n";
                }
                else
                {
                    std::cout << "yourself (+";
                    std::cout << skills[j]->damage << "hp)\n";
                }
            }
        }
    }
    std::cout << "\n[>]: ";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x4, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xae89
movq 0x2432f(%rip), %rdi     # 0x2efd0
leaq 0x12c17(%rip), %rsi     # 0x1d8bf
callq 0x41b0
movq %rax, %rdi
movl -0x18(%rbp), %esi
addl $0x1, %esi
callq 0x42d0
movq %rax, %rdi
leaq 0x1280a(%rip), %rsi     # 0x1d4cf
callq 0x41b0
movq %rax, -0x30(%rbp)
movl $0x2, %edi
callq 0xb850
movq -0x30(%rbp), %rdi
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %esi
callq 0x4230
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
callq 0xaf60
movq %rax, %rdi
addq $0x2c, %rdi
movslq -0x18(%rbp), %rsi
callq 0xafa0
movq -0x28(%rbp), %rdi
movl (%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0x127bb(%rip), %rsi     # 0x1d4d4
callq 0x41b0
movl $0x0, -0x20(%rbp)
movslq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0xb870
movq %rax, %rcx
movq -0x38(%rbp), %rax
cmpq %rcx, %rax
jae 0xae79
movq -0x8(%rbp), %rdi
callq 0xaf60
movq %rax, %rdi
addq $0x1c, %rdi
movslq -0x18(%rbp), %rsi
callq 0x5000
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x20(%rbp), %rsi
callq 0xb890
movq %rax, %rdi
callq 0xb8b0
movq %rax, %rcx
movl -0x3c(%rbp), %eax
cmpl (%rcx), %eax
jne 0xae69
movq -0x10(%rbp), %rdi
movslq -0x20(%rbp), %rsi
callq 0xb890
movq %rax, %rdi
callq 0xb8b0
movq %rax, %rsi
addq $0x8, %rsi
movq 0x24226(%rip), %rdi     # 0x2efd0
callq 0x4190
movq %rax, %rdi
leaq 0x12764(%rip), %rsi     # 0x1d51d
callq 0x41b0
movq -0x10(%rbp), %rdi
movslq -0x20(%rbp), %rsi
callq 0xb890
movq %rax, %rdi
callq 0xb8b0
testb $0x1, 0x2c(%rax)
jne 0xae21
movq 0x241f0(%rip), %rdi     # 0x2efd0
leaq 0x126f3(%rip), %rsi     # 0x1d4da
callq 0x41b0
movq -0x10(%rbp), %rdi
movslq -0x20(%rbp), %rsi
callq 0xb890
movq %rax, %rdi
callq 0xb8b0
movl 0x28(%rax), %esi
movq 0x241c5(%rip), %rdi     # 0x2efd0
callq 0x42d0
movq %rax, %rdi
leaq 0x126c9(%rip), %rsi     # 0x1d4e3
callq 0x41b0
jmp 0xae67
movq 0x241a8(%rip), %rdi     # 0x2efd0
leaq 0x126b9(%rip), %rsi     # 0x1d4e8
callq 0x41b0
movq -0x10(%rbp), %rdi
movslq -0x20(%rbp), %rsi
callq 0xb890
movq %rax, %rdi
callq 0xb8b0
movl 0x28(%rax), %esi
movq 0x2417d(%rip), %rdi     # 0x2efd0
callq 0x42d0
movq %rax, %rdi
leaq 0x12681(%rip), %rsi     # 0x1d4e3
callq 0x41b0
jmp 0xae69
jmp 0xae6b
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xad25
jmp 0xae7b
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xac8e
movq 0x24140(%rip), %rdi     # 0x2efd0
leaq 0x1265d(%rip), %rsi     # 0x1d4f4
callq 0x41b0
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)