// File: /workspace/github_cpp_makefile_star2_O1/BohangZhang[P]Sorcery-C-Project/player.cc
// Function: Player::Player(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Player::Player(string name) : name{name} {
    hp = 20;
    magic = 3;
    ritual = shared_ptr<Ritual>(nullptr);
    deck = shared_ptr<Deck>(new Deck());
    hand = shared_ptr<Hand>(new Hand());
    slot = shared_ptr<Slot>(new Slot());
    graveyard = shared_ptr<Graveyard>(new Graveyard());
    game = shared_ptr<Game>(nullptr);
    database = shared_ptr<Database>(nullptr);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %r15
movq %r15, (%rdi)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
movq %rax, %rsi
callq 0xb6a4
xorps %xmm0, %xmm0
movups %xmm0, 0x68(%rbx)
movups %xmm0, 0x88(%rbx)
movups %xmm0, 0x78(%rbx)
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
movups %xmm0, 0x38(%rbx)
movups %xmm0, 0x28(%rbx)
movabsq $0x300000014, %rax      # imm = 0x300000014
movq %rax, 0x20(%rbx)
movq 0x70(%rbx), %rdi
movups %xmm0, 0x68(%rbx)
testq %rdi, %rdi
je 0x1788f
callq 0xb634
movl $0x20, %edi
callq 0x51e0
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
leaq 0x1b816(%rip), %rcx     # 0x330c0
addq $0x10, %rcx
movq %rcx, (%rax)
movups %xmm0, 0x8(%rax)
movq $0x0, 0x18(%rax)
leaq 0x8(%rsp), %rdi
movq %rax, -0x8(%rdi)
movq %rax, %rsi
callq 0x23bca
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x30(%rbx), %rdi
movups %xmm0, 0x28(%rbx)
testq %rdi, %rdi
je 0x178eb
callq 0xb634
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x178fa
callq 0xb634
movl $0x18, %edi
callq 0x51e0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
movq %rax, -0x8(%rdi)
movq %rax, %rsi
callq 0x23c68
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x40(%rbx), %rdi
movups %xmm0, 0x38(%rbx)
testq %rdi, %rdi
je 0x17940
callq 0xb634
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1794f
callq 0xb634
movl $0x18, %edi
callq 0x51e0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
movq %rax, -0x8(%rdi)
movq %rax, %rsi
callq 0x23d16
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x50(%rbx), %rdi
movups %xmm0, 0x48(%rbx)
testq %rdi, %rdi
je 0x17995
callq 0xb634
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x179a4
callq 0xb634
movl $0x18, %edi
callq 0x51e0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
movq %rax, -0x8(%rdi)
movq %rax, %rsi
callq 0x23dc4
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x60(%rbx), %rdi
movups %xmm0, 0x58(%rbx)
testq %rdi, %rdi
je 0x179ea
callq 0xb634
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x179f9
callq 0xb634
xorps %xmm0, %xmm0
movq 0x90(%rbx), %rdi
movups %xmm0, 0x88(%rbx)
testq %rdi, %rdi
je 0x17a17
callq 0xb634
xorps %xmm0, %xmm0
movq 0x80(%rbx), %rdi
movups %xmm0, 0x78(%rbx)
testq %rdi, %rdi
je 0x17a2c
callq 0xb634
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x17a3c
jmp 0x17a3c
jmp 0x17a3c
movq %rax, %r14
movq 0x90(%rbx), %rdi
testq %rdi, %rdi
je 0x17a50
callq 0xb634
movq 0x80(%rbx), %rdi
testq %rdi, %rdi
je 0x17a61
callq 0xb634
movq 0x70(%rbx), %rdi
testq %rdi, %rdi
je 0x17a6f
callq 0xb634
movq 0x60(%rbx), %rdi
testq %rdi, %rdi
je 0x17a7d
callq 0xb634
movq 0x50(%rbx), %rdi
testq %rdi, %rdi
je 0x17a8b
callq 0xb634
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x17a99
callq 0xb634
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x17aa7
callq 0xb634
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x17aba
movq (%r15), %rsi
incq %rsi
callq 0x51f0
movq %r14, %rdi
callq 0x5320