// File: rozpo[P]enemy/data/game/stats/Stats.cpp
// Function: Stats::print(std::shared_ptr<Player> const&)
void Stats::print(const std::shared_ptr<Player> &player)
{
    if(player != nullptr)
    {
        std::cout << '\n'
                  << " [    name    ]: " << player->name << '\n'
                  << " [   level    ]: " << player->level << '\n'
                  << " [    exp     ]: " << player->experience << "\n"
                  << " [level points]: " << player->level_points << "\n\n"

                  << " [   health   ]: " << player->hitpoints << "/" << player->max_hitpoints << '\n'
                  << " [  strength  ]: " << player->strength << '\n'
                  << " [  agility   ]: " << player->agility << "\n"
                  << " [intelligence]: " << player->intelligence << "\n\n"

                  << " [   weapon   ]: " << player->weapon_name << " (+" << player->weapon_dmg << ")\n"
                  << " [    gold    ]: " << player->gold << "\n\n"
                  << player->name << " killed " << player->win << " enemies\nAnd lost " << player->lost << " times\n";
        player->printCharacter ();
        std::cout << '\n';
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10430
testb $0x1, %al
jne 0xff89
jmp 0x102c7
movq 0x1f040(%rip), %rdi     # 0x2efd0
movl $0xa, %esi
callq 0x4240
movq %rax, %rdi
leaq 0xd758(%rip), %rsi      # 0x1d6fc
callq 0x41b0
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x88(%rbp), %rdi
movq %rax, %rsi
addq $0x40, %rsi
callq 0x4190
movq %rax, %rdi
movl $0xa, %esi
callq 0x4240
movq %rax, %rdi
leaq 0xd72b(%rip), %rsi      # 0x1d70e
callq 0x41b0
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x80(%rbp), %rdi
movl 0x88(%rax), %esi
callq 0x42d0
movq %rax, %rdi
movl $0xa, %esi
callq 0x4240
movq %rax, %rdi
leaq 0xd705(%rip), %rsi      # 0x1d720
callq 0x41b0
movq %rax, -0x78(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x78(%rbp), %rdi
movl 0x8c(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd594(%rip), %rsi      # 0x1d5da
callq 0x41b0
movq %rax, %rdi
leaq 0xd6dd(%rip), %rsi      # 0x1d732
callq 0x41b0
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x70(%rbp), %rdi
movl 0x90(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd559(%rip), %rsi      # 0x1d5d9
callq 0x41b0
movq %rax, %rdi
leaq 0xd6b5(%rip), %rsi      # 0x1d744
callq 0x41b0
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x68(%rbp), %rdi
movl 0x8(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd082(%rip), %rsi      # 0x1d139
callq 0x41b0
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x60(%rbp), %rdi
movl 0xc(%rax), %esi
callq 0x42d0
movq %rax, %rdi
movl $0xa, %esi
callq 0x4240
movq %rax, %rdi
leaq 0xd66a(%rip), %rsi      # 0x1d756
callq 0x41b0
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x58(%rbp), %rdi
movl 0x10(%rax), %esi
callq 0x42d0
movq %rax, %rdi
movl $0xa, %esi
callq 0x4240
movq %rax, %rdi
leaq 0xd647(%rip), %rsi      # 0x1d768
callq 0x41b0
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x50(%rbp), %rdi
movl 0x14(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd491(%rip), %rsi      # 0x1d5da
callq 0x41b0
movq %rax, %rdi
leaq 0xd622(%rip), %rsi      # 0x1d77a
callq 0x41b0
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x48(%rbp), %rdi
movl 0x18(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd459(%rip), %rsi      # 0x1d5d9
callq 0x41b0
movq %rax, %rdi
leaq 0xd5fd(%rip), %rsi      # 0x1d78c
callq 0x41b0
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x40(%rbp), %rdi
movq %rax, %rsi
addq $0x60, %rsi
callq 0x4190
movq %rax, %rdi
leaq 0xd335(%rip), %rsi      # 0x1d4f0
callq 0x41b0
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x38(%rbp), %rdi
movl 0x80(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd392(%rip), %rsi      # 0x1d578
callq 0x41b0
movq %rax, %rdi
leaq 0xd5a9(%rip), %rsi      # 0x1d79e
callq 0x41b0
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x30(%rbp), %rdi
movl 0x3c(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd3bc(%rip), %rsi      # 0x1d5d9
callq 0x41b0
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x28(%rbp), %rdi
movq %rax, %rsi
addq $0x40, %rsi
callq 0x4190
movq %rax, %rdi
leaq 0xd567(%rip), %rsi      # 0x1d7b0
callq 0x41b0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x20(%rbp), %rdi
movl 0x94(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd545(%rip), %rsi      # 0x1d7b9
callq 0x41b0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xaf60
movq -0x18(%rbp), %rdi
movl 0x98(%rax), %esi
callq 0x42d0
movq %rax, %rdi
leaq 0xd52d(%rip), %rsi      # 0x1d7cc
callq 0x41b0
movq -0x10(%rbp), %rdi
callq 0xaf60
movq %rax, %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq 0x1ed13(%rip), %rdi     # 0x2efd0
movl $0xa, %esi
callq 0x4240
addq $0x90, %rsp
popq %rbp
retq