// File: /workspace/github_cpp_makefile_star2_O3/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 0xb4e8
xorps %xmm0, %xmm0
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)
movups %xmm0, 0x68(%rbx)
movl $0x20, %edi
callq 0x51e0
leaq 0x1a956(%rip), %rcx     # 0x320c0
addq $0x10, %rcx
movq %rcx, (%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rax)
movq $0x0, 0x18(%rax)
leaq 0x8(%rsp), %rdi
movq %rax, -0x8(%rdi)
movq %rax, %rsi
callq 0x23880
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x30(%rbx), %rdi
movups %xmm0, 0x28(%rbx)
testq %rdi, %rdi
je 0x177bd
callq 0xb478
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x177bd
callq 0xb478
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 0x2391e
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x40(%rbx), %rdi
movups %xmm0, 0x38(%rbx)
testq %rdi, %rdi
je 0x17812
callq 0xb478
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17812
callq 0xb478
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 0x239d8
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x50(%rbx), %rdi
movups %xmm0, 0x48(%rbx)
testq %rdi, %rdi
je 0x17867
callq 0xb478
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17867
callq 0xb478
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 0x23a92
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x60(%rbx), %rdi
movups %xmm0, 0x58(%rbx)
testq %rdi, %rdi
je 0x178bc
callq 0xb478
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x178bc
callq 0xb478
xorps %xmm0, %xmm0
movq 0x90(%rbx), %rdi
movups %xmm0, 0x88(%rbx)
testq %rdi, %rdi
je 0x178da
callq 0xb478
xorps %xmm0, %xmm0
movq 0x80(%rbx), %rdi
movups %xmm0, 0x78(%rbx)
testq %rdi, %rdi
je 0x178ef
callq 0xb478
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x178ff
jmp 0x178ff
jmp 0x178ff
movq %rax, %r14
movq 0x90(%rbx), %rdi
testq %rdi, %rdi
je 0x17913
callq 0xb478
movq 0x80(%rbx), %rdi
testq %rdi, %rdi
je 0x17924
callq 0xb478
movq 0x70(%rbx), %rdi
testq %rdi, %rdi
je 0x17932
callq 0xb478
movq 0x60(%rbx), %rdi
testq %rdi, %rdi
je 0x17940
callq 0xb478
movq 0x50(%rbx), %rdi
testq %rdi, %rdi
je 0x1794e
callq 0xb478
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x1795c
callq 0xb478
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x1796a
callq 0xb478
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x1797d
movq (%r15), %rsi
incq %rsi
callq 0x51f0
movq %r14, %rdi
callq 0x5320
nop