// File: /workspace/github_cpp_makefile_star2_O2/AngelPn[P]L5R-card_game/src/Player.cpp
// Function: Player::Player(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
Player::Player(const std::string &name){
	this->name = name;
	list<GreenCard*>* ptr = deck.createFateDeck();
	fateDeck= new list<GreenCard*>(*ptr);  //fateDeck is pointer to a new list of pointers which refer to the green cards in deck
	deck.deckShuffler(fateDeck);

	list<BlackCard*>* ptr1 = deck.createDynastyDeck();
	dynastyDeck = new list<BlackCard*>(*ptr1); //dynastyDeck is pointer to a new list of pointers which refer to the black cards in deck
	deck.deckShuffler(dynastyDeck);

	for(int i=0; i< NO_HAND; i++){
		hand.push_back(fateDeck->front());
		fateDeck->pop_front();
  }

	holdings.push_back(new Stronghold);
	money = holdings[0]->initialMoney();
	roundMoney = money;
	numberOfProvinces= NO_PROVINCES;

	for(int i=0; i< numberOfProvinces; i++){
		provinces.push_back(dynastyDeck->front());
	    dynastyDeck->pop_front();
	}

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r13
movq %rdi, %rbx
callq 0x3520
leaq 0x20(%rbx), %r14
leaq 0x38(%rbx), %r15
leaq 0x88(%rbx), %r12
xorps %xmm0, %xmm0
movups %xmm0, 0x88(%rbx)
andq $0x0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
leaq 0xb8(%rbx), %rax
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x30(%rbx)
movups %xmm0, 0x40(%rbx)
movups %xmm0, 0x50(%rbx)
movups %xmm0, 0x60(%rbx)
movups %xmm0, 0x70(%rbx)
movq %rax, 0xa8(%rbx)
andq $0x0, 0xb0(%rbx)
movb $0x0, 0xb8(%rbx)
movq %rdi, 0x8(%rsp)
movq %r13, %rsi
callq 0x3100
movq %rbx, %rdi
callq 0x3638
movq %rax, %r13
pushq $0x18
popq %rdi
callq 0x31b0
movq %rax, %rbp
movq %rax, %rdi
movq %r13, %rsi
callq 0x8e92
movq %rbp, 0x10(%rbx)
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x4316
movq %rbx, %rdi
callq 0x3c0c
movq %rax, %r13
pushq $0x18
popq %rdi
callq 0x31b0
movq %rax, %rbp
movq %rax, %rdi
movq %r13, %rsi
callq 0x8ecc
movq %rbp, 0x18(%rbx)
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x4286
pushq $0x6
popq %rbp
subl $0x1, %ebp
jb 0x6df5
movq 0x10(%rbx), %rax
movq (%rax), %rsi
addq $0x10, %rsi
movq %r14, %rdi
callq 0x4cb8
movq 0x10(%rbx), %rdi
callq 0x8f06
jmp 0x6dd2
pushq $0x50
popq %rdi
callq 0x31b0
movq %rax, %rbp
movq %rax, %rdi
callq 0x8f0e
leaq 0x10(%rsp), %rsi
movq %rbp, (%rsi)
movq %r15, %rdi
callq 0x9300
movq (%r15), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x20(%rax)
movl %eax, 0xa0(%rbx)
movl %eax, 0xa4(%rbx)
movl $0x4, 0x80(%rbx)
xorl %ebp, %ebp
pushq $0x4
popq %rax
cmpl %eax, %ebp
jge 0x6e69
movq 0x18(%rbx), %rax
movq (%rax), %rsi
addq $0x10, %rsi
movq %r12, %rdi
callq 0x4c18
movq 0x18(%rbx), %rdi
callq 0x8f86
incl %ebp
movl 0x80(%rbx), %eax
jmp 0x6e3f
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, (%rsp)
pushq $0x50
jmp 0x6e88
jmp 0x6e82
movq %rax, (%rsp)
pushq $0x18
popq %rsi
movq %rbp, %rdi
callq 0x31c0
jmp 0x6ea1
jmp 0x6e9d
jmp 0x6e9d
jmp 0x6e9d
jmp 0x6e9d
jmp 0x6e9d
movq %rax, (%rsp)
leaq 0x68(%rbx), %r13
leaq 0x50(%rbx), %rbp
movq 0x8(%rsp), %rdi
callq 0x30c0
movq %r12, %rdi
callq 0x5a90
movq %r13, %rdi
callq 0x9228
movq %rbp, %rdi
callq 0x91f4
movq %r15, %rdi
callq 0x91c0
movq %r14, %rdi
callq 0x5c6e
movq %rbx, %rdi
callq 0x3570
movq (%rsp), %rdi
callq 0x3260