// File: whitefusion[P]Jaipur_cardgame-/AllBonus.cpp
// Function: All_Bonus::newABonus()
void All_Bonus::newABonus(){
    for (int i = 0; i < 3; ++i)
        allBonus.at(i).clear();
    allBonus.clear();

    for (int i = 0; i < 3; ++i)
        size[i] = 0;

    size[0] = 6;
    size[1] = 6;
    size[2] = 6;
    int i;
    size_t j;
    Token temp;
    vector<Token> tempvec;

    for(i = 0; i < 3 ; ++i){
        temp.setType(BonusName[i+1]);
        for( j = 0; j < Bonus.at(i).size(); ++j){
            temp.setVal(Bonus.at(i).at(j));
            tempvec.push_back(temp);
        }
        allBonus.push_back(tempvec);
        tempvec.clear();
    }

    shuffle();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jge 0xf32a
movq -0xa0(%rbp), %rdi
movslq -0xc(%rbp), %rsi
callq 0x9d60
movq %rax, %rdi
callq 0x9c80
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xf301
movq -0xa0(%rbp), %rdi
callq 0x9da0
movl $0x0, -0x10(%rbp)
cmpl $0x3, -0x10(%rbp)
jge 0xf361
movq -0xa0(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl $0x0, 0x18(%rax,%rcx,4)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xf33d
movq -0xa0(%rbp), %rax
movl $0x6, 0x18(%rax)
movl $0x6, 0x1c(%rax)
movl $0x6, 0x20(%rax)
leaq -0x48(%rbp), %rdi
callq 0x53d0
leaq -0x60(%rbp), %rdi
callq 0x9a00
movl $0x0, -0x14(%rbp)
cmpl $0x3, -0x14(%rbp)
jge 0xf4fe
movl -0x14(%rbp), %eax
incl %eax
movl %eax, -0x84(%rbp)
leaq 0x1befe(%rip), %rdi     # 0x2b2b0
leaq -0x84(%rbp), %rsi
callq 0x9a20
movq %rax, -0xa8(%rbp)
jmp 0xf3c7
movq -0xa8(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x20e0
jmp 0xf3d9
leaq -0x48(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x5460
jmp 0xf3e8
leaq -0x80(%rbp), %rdi
callq 0x2130
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xb8(%rbp)
movslq -0x14(%rbp), %rsi
leaq 0x1bed1(%rip), %rdi     # 0x2b2e0
callq 0x9b00
movq %rax, -0xb0(%rbp)
jmp 0xf41d
movq -0xb0(%rbp), %rdi
callq 0x9b40
movq %rax, %rcx
movq -0xb8(%rbp), %rax
cmpq %rcx, %rax
jae 0xf4d5
movslq -0x14(%rbp), %rsi
leaq 0x1be99(%rip), %rdi     # 0x2b2e0
callq 0x9b00
movq %rax, -0xc0(%rbp)
jmp 0xf455
movq -0xc0(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x9b60
movq %rax, -0xc8(%rbp)
jmp 0xf46e
movq -0xc8(%rbp), %rax
movl (%rax), %esi
leaq -0x48(%rbp), %rdi
callq 0x56a0
jmp 0xf482
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9ba0
jmp 0xf491
jmp 0xf493
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0xf3f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xf527
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x2130
jmp 0xf527
movq -0xa0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x9c10
jmp 0xf4e7
leaq -0x60(%rbp), %rdi
callq 0x9c80
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xf396
movq -0xa0(%rbp), %rdi
callq 0xf550
jmp 0xf50c
leaq -0x60(%rbp), %rdi
callq 0x9ca0
leaq -0x48(%rbp), %rdi
callq 0x5440
addq $0xd0, %rsp
popq %rbp
retq
leaq -0x60(%rbp), %rdi
callq 0x9ca0
leaq -0x48(%rbp), %rdi
callq 0x5440
movq -0x90(%rbp), %rdi
callq 0x2360
nopw %cs:(%rax,%rax)