// File: BohangZhang[P]Sorcery-C-Project/player.cc
// Function: Player::notifyRitual(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::shared_ptr<Ritual>)
void Player::notifyRitual(string t, shared_ptr<Ritual> r) {
    shared_ptr<Slot> s = this->slot;
    for (auto it = s->getSlot().begin(); it != s->getSlot().end(); ++it) {
        if ((*it)->getType() == "Enchantment") {
            if (((*it)->getOriginType() == "Tri_Minion") && ((*it)->getTriggerType() == t) && ((*it)->getSilent() == 0)) {
                (*it)->actionRitual(r);
                continue;
            }
        } else {
            if (((*it)->getType() == "Tri_Minion") && ((*it)->getTrigger() == t) && ((*it)->getSilent() == 0)) {
                (*it)->actionRitual(r);
                continue;
            }
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rsi, -0x138(%rbp)
movq %rdx, -0x130(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rsi
addq $0x48, %rsi
leaq -0x28(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x3aa70
movq -0x128(%rbp), %rdi
callq 0x12af0
movq %rax, %rdi
callq 0x3d220
movq %rax, -0x120(%rbp)
jmp 0x30f8a
movq -0x120(%rbp), %rdi
callq 0x12b50
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x12af0
movq %rax, %rdi
callq 0x3d220
movq %rax, -0x140(%rbp)
jmp 0x30fb4
movq -0x140(%rbp), %rdi
callq 0x12b80
movq %rax, -0x48(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x12bb0
testb $0x1, %al
jne 0x30fda
jmp 0x3143a
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rsi
leaq -0x68(%rbp), %rdi
callq 0x19c20
jmp 0x30ff9
leaq 0x107d4(%rip), %rsi     # 0x417d4
leaq -0x68(%rbp), %rdi
callq 0x12920
movb %al, -0x141(%rbp)
jmp 0x31011
leaq -0x68(%rbp), %rdi
callq 0x64c8
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x31029
jmp 0x3124a
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rsi
movq (%rsi), %rax
movq 0x88(%rax), %rax
movb $0x0, -0xa9(%rbp)
leaq -0x88(%rbp), %rdi
callq *%rax
jmp 0x31059
leaq 0x107c9(%rip), %rsi     # 0x41829
leaq -0x88(%rbp), %rdi
callq 0x12920
movb %al, -0x142(%rbp)
jmp 0x31074
movb -0x142(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x143(%rbp)
jne 0x3108c
jmp 0x3111c
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rsi
movq (%rsi), %rax
movq 0x98(%rax), %rax
leaq -0xa8(%rbp), %rdi
callq *%rax
jmp 0x310b5
movq -0x138(%rbp), %rsi
movb $0x1, -0xa9(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x12ca0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x143(%rbp)
jne 0x310e0
jmp 0x3111c
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rdi
movq (%rdi), %rax
movq 0x60(%rax), %rax
callq *%rax
movb %al, -0x144(%rbp)
jmp 0x31105
movb -0x144(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x143(%rbp)
movb -0x143(%rbp), %al
movb %al, -0x145(%rbp)
testb $0x1, -0xa9(%rbp)
jne 0x31133
jmp 0x3113f
leaq -0xa8(%rbp), %rdi
callq 0x64c8
leaq -0x88(%rbp), %rdi
callq 0x64c8
movb -0x145(%rbp), %al
testb $0x1, %al
jne 0x3115a
jmp 0x31245
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq -0x130(%rbp), %rsi
movq %rax, -0x158(%rbp)
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x150(%rbp)
callq 0x25f70
movq -0x158(%rbp), %rdi
movq -0x150(%rbp), %rsi
movq (%rdi), %rax
movq 0xf0(%rax), %rax
callq *%rax
jmp 0x311a8
leaq -0xc0(%rbp), %rdi
callq 0x12e70
jmp 0x3142c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3144c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x64c8
jmp 0x3144c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x31217
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
testb $0x1, -0xa9(%rbp)
jne 0x31209
jmp 0x31215
leaq -0xa8(%rbp), %rdi
callq 0x64c8
jmp 0x31217
leaq -0x88(%rbp), %rdi
callq 0x64c8
jmp 0x3144c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x12e70
jmp 0x3144c
jmp 0x3142a
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rsi
movb $0x0, -0x101(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x19c20
jmp 0x31273
leaq 0x105af(%rip), %rsi     # 0x41829
leaq -0xe0(%rbp), %rdi
callq 0x12920
movb %al, -0x159(%rbp)
jmp 0x3128e
movb -0x159(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x15a(%rbp)
jne 0x312a6
jmp 0x31333
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rsi
movq (%rsi), %rax
movq 0x30(%rax), %rax
leaq -0x100(%rbp), %rdi
callq *%rax
jmp 0x312cc
movq -0x138(%rbp), %rsi
movb $0x1, -0x101(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x12ca0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x15a(%rbp)
jne 0x312f7
jmp 0x31333
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rdi
movq (%rdi), %rax
movq 0x60(%rax), %rax
callq *%rax
movb %al, -0x15b(%rbp)
jmp 0x3131c
movb -0x15b(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x15a(%rbp)
movb -0x15a(%rbp), %al
movb %al, -0x15c(%rbp)
testb $0x1, -0x101(%rbp)
jne 0x3134a
jmp 0x31356
leaq -0x100(%rbp), %rdi
callq 0x64c8
leaq -0xe0(%rbp), %rdi
callq 0x64c8
movb -0x15c(%rbp), %al
testb $0x1, %al
jne 0x31371
jmp 0x31428
leaq -0x30(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq -0x130(%rbp), %rsi
movq %rax, -0x170(%rbp)
leaq -0x118(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x25f70
movq -0x170(%rbp), %rdi
movq -0x168(%rbp), %rsi
movq (%rdi), %rax
movq 0xf0(%rax), %rax
callq *%rax
jmp 0x313bf
leaq -0x118(%rbp), %rdi
callq 0x12e70
jmp 0x3142c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x31400
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
testb $0x1, -0x101(%rbp)
jne 0x313f2
jmp 0x313fe
leaq -0x100(%rbp), %rdi
callq 0x64c8
jmp 0x31400
leaq -0xe0(%rbp), %rdi
callq 0x64c8
jmp 0x3144c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x12e70
jmp 0x3144c
jmp 0x3142a
jmp 0x3142c
leaq -0x30(%rbp), %rdi
callq 0x12d70
jmp 0x30f9a
leaq -0x28(%rbp), %rdi
callq 0x12b30
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x12b30
movq -0x38(%rbp), %rdi
callq 0x6460
nop