// File: BohangZhang[P]Sorcery-C-Project/player.cc
// Function: Player::testing_play(int)
void Player::testing_play(int i) { // call Game notify()
    if (getHand()->getHand().size() < i) throw 7; // Number; The card doesn't exist
    else {
        shared_ptr<Card> c = getHand()->getHand()[i - 1];
        string card_type = c->getType();
        if (card_type == "Enchantment") throw 8; // Number; Wrong command
        else if (card_type == "Spell") {
            c->action();
            getHand()->pop(i);
        } else if (card_type == "Ritual") {
            ritual = dynamic_pointer_cast<Ritual>(c);
            getHand()->pop(i);
            game->notifyRitual("REnter", ritual);
        } else {
            if (isSlotFull()) {
                throw 2;
            } else {
                shared_ptr<Minion> m = dynamic_pointer_cast<Minion>(c);
                getSlot()->push(m);
                getHand()->pop(i);
                game->notify("Enter", m);
            }
        }
        for (auto it = this->getSlot()->getSlot().begin(); it != this->getSlot()->getSlot().end(); ) {
            if ((*it)->ifDead()) {
                this->getGraveyard()->pushfirst((*it));
                this->getSlot()->pop((*it));
            } else {
                ++it;
            }
        }
        for (auto it = this->getGame()->getNoncurrent()->getSlot()->getSlot().begin(); 
             it != this->getGame()->getNoncurrent()->getSlot()->getSlot().end(); ) {
            if ((*it)->ifDead()) {
                this->getGame()->getNoncurrent()->getGraveyard()->pushfirst((*it));
                this->getGame()->getNoncurrent()->getSlot()->pop((*it));
            } else {
                ++it;
            }
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x450, %rsp            # imm = 0x450
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rsi
movq %rsi, -0x2c8(%rbp)
leaq -0x20(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0x2a770
movq -0x2c0(%rbp), %rdi
callq 0x12e10
movq %rax, %rdi
callq 0x278e0
movq %rax, -0x2b8(%rbp)
jmp 0x2c24a
movq -0x2b8(%rbp), %rdi
callq 0x1d510
movq %rax, -0x2d0(%rbp)
movslq -0xc(%rbp), %rax
movq %rax, -0x2d8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x12e30
movq -0x2d8(%rbp), %rcx
movq -0x2d0(%rbp), %rax
cmpq %rcx, %rax
jae 0x2c2c1
movl $0x4, %edi
callq 0x6160
movq %rax, %rdi
movl $0x7, (%rdi)
movq 0x27cfa(%rip), %rsi     # 0x53f98
xorl %eax, %eax
movl %eax, %edx
callq 0x6430
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x12e30
jmp 0x2cfd0
movq -0x2c8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movq %rdi, -0x2e8(%rbp)
callq 0x2a770
movq -0x2e8(%rbp), %rdi
callq 0x12e10
movq %rax, %rdi
callq 0x278e0
movq %rax, -0x2e0(%rbp)
jmp 0x2c2f5
movq -0x2e0(%rbp), %rdi
movl -0xc(%rbp), %eax
decl %eax
movslq %eax, %rsi
callq 0x287a0
movq %rax, %rsi
leaq -0x40(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x1a1f0
leaq -0x50(%rbp), %rdi
callq 0x12e30
movq -0x2f0(%rbp), %rdi
callq 0x15c20
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x19c20
jmp 0x2c33f
leaq 0x1548e(%rip), %rsi     # 0x417d4
leaq -0x70(%rbp), %rdi
callq 0x12920
movb %al, -0x2f1(%rbp)
jmp 0x2c357
movb -0x2f1(%rbp), %al
testb $0x1, %al
jne 0x2c363
jmp 0x2c3c7
movl $0x4, %edi
callq 0x6160
movq %rax, %rdi
movl $0x8, (%rdi)
movq 0x27c1b(%rip), %rsi     # 0x53f98
xorl %eax, %eax
movl %eax, %edx
callq 0x6430
jmp 0x2cfd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x12e30
jmp 0x2cfd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2cfbc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2cfb3
leaq 0x1447c(%rip), %rsi     # 0x4084a
leaq -0x70(%rbp), %rdi
callq 0x12920
movb %al, -0x2f2(%rbp)
jmp 0x2c3df
movb -0x2f2(%rbp), %al
testb $0x1, %al
jne 0x2c3eb
jmp 0x2c45a
leaq -0x40(%rbp), %rdi
callq 0x15c20
movq %rax, %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
jmp 0x2c402
movq -0x2c8(%rbp), %rsi
leaq -0x80(%rbp), %rdi
movq %rdi, -0x300(%rbp)
callq 0x2a770
movq -0x300(%rbp), %rdi
callq 0x12e10
movq %rax, %rdi
movl -0xc(%rbp), %esi
callq 0x27990
jmp 0x2c432
leaq -0x80(%rbp), %rdi
callq 0x12e30
jmp 0x2c85f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x12e30
jmp 0x2cfb3
leaq 0x143e2(%rip), %rsi     # 0x40843
leaq -0x70(%rbp), %rdi
callq 0x12920
movb %al, -0x301(%rbp)
jmp 0x2c472
movb -0x301(%rbp), %al
testb $0x1, %al
jne 0x2c481
jmp 0x2c606
leaq -0x90(%rbp), %rdi
movq %rdi, -0x318(%rbp)
leaq -0x40(%rbp), %rsi
callq 0x3ac90
movq -0x318(%rbp), %rsi
movq -0x2c8(%rbp), %rdi
addq $0x68, %rdi
callq 0x3a790
movq -0x318(%rbp), %rdi
callq 0x12e70
movq -0x2c8(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x2a770
movq -0x310(%rbp), %rdi
callq 0x12e10
movq %rax, %rdi
movl -0xc(%rbp), %esi
callq 0x27990
jmp 0x2c4ee
leaq -0xa0(%rbp), %rdi
callq 0x12e30
movq -0x2c8(%rbp), %rdi
addq $0x88, %rdi
callq 0x12a20
movq %rax, -0x328(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x6470
movq -0x320(%rbp), %rdx
leaq 0x15482(%rip), %rsi     # 0x419b7
leaq -0xc0(%rbp), %rdi
callq 0x12870
jmp 0x2c543
movq -0x2c8(%rbp), %rsi
addq $0x68, %rsi
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x25f70
movq -0x328(%rbp), %rdi
movq -0x330(%rbp), %rdx
leaq -0xc0(%rbp), %rsi
callq 0x25aa0
jmp 0x2c57d
leaq -0xd8(%rbp), %rdi
callq 0x12e70
leaq -0xc0(%rbp), %rdi
callq 0x64c8
leaq -0xc1(%rbp), %rdi
callq 0x62f0
jmp 0x2c85d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x12e30
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2c5f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x12e70
leaq -0xc0(%rbp), %rdi
callq 0x64c8
leaq -0xc1(%rbp), %rdi
callq 0x62f0
jmp 0x2cfb3
movq -0x2c8(%rbp), %rdi
callq 0x2a920
movb %al, -0x331(%rbp)
jmp 0x2c61a
movb -0x331(%rbp), %al
testb $0x1, %al
jne 0x2c626
jmp 0x2c64e
movl $0x4, %edi
callq 0x6160
movq %rax, %rdi
movl $0x2, (%rdi)
movq 0x27958(%rip), %rsi     # 0x53f98
xorl %eax, %eax
movl %eax, %edx
callq 0x6430
jmp 0x2cfd9
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x350(%rbp)
leaq -0x40(%rbp), %rsi
callq 0x3ad20
movq -0x2c8(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
movq %rdi, -0x358(%rbp)
callq 0x2a6b0
movq -0x358(%rbp), %rdi
callq 0x12af0
movq -0x350(%rbp), %rsi
movq %rax, -0x348(%rbp)
leaq -0x108(%rbp), %rdi
movq %rdi, -0x340(%rbp)
callq 0x12c10
movq -0x348(%rbp), %rdi
movq -0x340(%rbp), %rsi
callq 0x3d2b0
jmp 0x2c6c1
leaq -0x108(%rbp), %rdi
callq 0x12d50
leaq -0xf8(%rbp), %rdi
callq 0x12b30
movq -0x2c8(%rbp), %rsi
leaq -0x118(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0x2a770
movq -0x360(%rbp), %rdi
callq 0x12e10
movq %rax, %rdi
movl -0xc(%rbp), %esi
callq 0x27990
jmp 0x2c70c
leaq -0x118(%rbp), %rdi
callq 0x12e30
movq -0x2c8(%rbp), %rdi
addq $0x88, %rdi
callq 0x12a20
movq %rax, -0x370(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x368(%rbp)
callq 0x6470
movq -0x368(%rbp), %rdx
leaq 0x15257(%rip), %rsi     # 0x419aa
leaq -0x138(%rbp), %rdi
callq 0x12870
jmp 0x2c761
leaq -0x150(%rbp), %rdi
movq %rdi, -0x378(%rbp)
leaq -0xe8(%rbp), %rsi
callq 0x12c10
movq -0x370(%rbp), %rdi
movq -0x378(%rbp), %rdx
leaq -0x138(%rbp), %rsi
callq 0x22cc0
jmp 0x2c797
leaq -0x150(%rbp), %rdi
callq 0x12d50
leaq -0x138(%rbp), %rdi
callq 0x64c8
leaq -0x139(%rbp), %rdi
callq 0x62f0
leaq -0xe8(%rbp), %rdi
callq 0x12d50
jmp 0x2c85b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x12d50
leaq -0xf8(%rbp), %rdi
callq 0x12b30
jmp 0x2c84a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x12e30
jmp 0x2c84a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2c83e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x12d50
leaq -0x138(%rbp), %rdi
callq 0x64c8
leaq -0x139(%rbp), %rdi
callq 0x62f0
leaq -0xe8(%rbp), %rdi
callq 0x12d50
jmp 0x2cfb3
jmp 0x2c85d
jmp 0x2c85f
jmp 0x2c861
movq -0x2c8(%rbp), %rsi
leaq -0x168(%rbp), %rdi
movq %rdi, -0x388(%rbp)
callq 0x2a6b0
movq -0x388(%rbp), %rdi
callq 0x12af0
movq %rax, %rdi
callq 0x3d220
movq %rax, -0x380(%rbp)
jmp 0x2c898
movq -0x380(%rbp), %rdi
callq 0x12b50
movq %rax, -0x158(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x12b30
movq -0x2c8(%rbp), %rsi
leaq -0x180(%rbp), %rdi
movq %rdi, -0x398(%rbp)
callq 0x2a6b0
movq -0x398(%rbp), %rdi
callq 0x12af0
movq %rax, %rdi
callq 0x3d220
movq %rax, -0x390(%rbp)
jmp 0x2c8ee
movq -0x390(%rbp), %rdi
callq 0x12b80
movq %rax, -0x170(%rbp)
leaq -0x158(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x12bb0
movb %al, -0x399(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x12b30
movb -0x399(%rbp), %al
testb $0x1, %al
jne 0x2c935
jmp 0x2cb09
leaq -0x158(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rdi
movq (%rdi), %rax
movq 0xc0(%rax), %rax
callq *%rax
movb %al, -0x39a(%rbp)
jmp 0x2c960
movb -0x39a(%rbp), %al
testb $0x1, %al
jne 0x2c96f
jmp 0x2caf8
movq -0x2c8(%rbp), %rsi
leaq -0x190(%rbp), %rdi
movq %rdi, -0x3b8(%rbp)
callq 0x2a6e0
movq -0x3b8(%rbp), %rdi
callq 0x3ab30
movq %rax, -0x3b0(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x12bf0
movq %rax, %rsi
leaq -0x1a0(%rbp), %rdi
movq %rdi, -0x3a8(%rbp)
callq 0x12c10
movq -0x3b0(%rbp), %rdi
movq -0x3a8(%rbp), %rsi
callq 0x26f20
jmp 0x2c9d3
leaq -0x1a0(%rbp), %rdi
callq 0x12d50
leaq -0x190(%rbp), %rdi
callq 0x3a9d0
movq -0x2c8(%rbp), %rsi
leaq -0x1b0(%rbp), %rdi
movq %rdi, -0x3d0(%rbp)
callq 0x2a6b0
movq -0x3d0(%rbp), %rdi
callq 0x12af0
movq %rax, -0x3c8(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x12bf0
movq %rax, %rsi
leaq -0x1c0(%rbp), %rdi
movq %rdi, -0x3c0(%rbp)
callq 0x12c10
movq -0x3c8(%rbp), %rdi
movq -0x3c0(%rbp), %rsi
callq 0x3d2d0
jmp 0x2ca4f
leaq -0x1c0(%rbp), %rdi
callq 0x12d50
leaq -0x1b0(%rbp), %rdi
callq 0x12b30
jmp 0x2cb04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x12b30
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x12b30
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x12d50
leaq -0x190(%rbp), %rdi
callq 0x3a9d0
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x12d50
leaq -0x1b0(%rbp), %rdi
callq 0x12b30
jmp 0x2cfb3
leaq -0x158(%rbp), %rdi
callq 0x12d70
jmp 0x2c8b7
movq -0x2c8(%rbp), %rsi
leaq -0x1f8(%rbp), %rdi
movq %rdi, -0x3d8(%rbp)
callq 0x2a670
movq -0x3d8(%rbp), %rdi
callq 0x12a20
movq %rax, %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x22910
jmp 0x2cb40
leaq -0x1e8(%rbp), %rdi
callq 0x12980
movq %rax, %rsi
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
callq 0x2a6b0
movq -0x3e8(%rbp), %rdi
callq 0x12af0
movq %rax, %rdi
callq 0x3d220
movq %rax, -0x3e0(%rbp)
jmp 0x2cb7f
movq -0x3e0(%rbp), %rdi
callq 0x12b50
movq %rax, -0x1c8(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x12b30
leaq -0x1e8(%rbp), %rdi
callq 0x12a00
leaq -0x1f8(%rbp), %rdi
callq 0x12a70
movq -0x2c8(%rbp), %rsi
leaq -0x230(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
callq 0x2a670
movq -0x3f0(%rbp), %rdi
callq 0x12a20
movq %rax, %rsi
leaq -0x220(%rbp), %rdi
callq 0x22910
jmp 0x2cbed
leaq -0x220(%rbp), %rdi
callq 0x12980
movq %rax, %rsi
leaq -0x210(%rbp), %rdi
movq %rdi, -0x400(%rbp)
callq 0x2a6b0
movq -0x400(%rbp), %rdi
callq 0x12af0
movq %rax, %rdi
callq 0x3d220
movq %rax, -0x3f8(%rbp)
jmp 0x2cc2c
movq -0x3f8(%rbp), %rdi
callq 0x12b80
movq %rax, -0x200(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x12bb0
movb %al, -0x401(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x12b30
leaq -0x220(%rbp), %rdi
callq 0x12a00
leaq -0x230(%rbp), %rdi
callq 0x12a70
movb -0x401(%rbp), %al
testb $0x1, %al
jne 0x2cc8b
jmp 0x2cf9f
leaq -0x1c8(%rbp), %rdi
callq 0x12bf0
movq %rax, %rdi
callq 0x12d30
movq %rax, %rdi
movq (%rdi), %rax
movq 0xc0(%rax), %rax
callq *%rax
movb %al, -0x402(%rbp)
jmp 0x2ccb6
movb -0x402(%rbp), %al
testb $0x1, %al
jne 0x2ccc5
jmp 0x2cf8e
movq -0x2c8(%rbp), %rsi
leaq -0x260(%rbp), %rdi
movq %rdi, -0x410(%rbp)
callq 0x2a670
movq -0x410(%rbp), %rdi
callq 0x12a20
movq %rax, %rsi
leaq -0x250(%rbp), %rdi
callq 0x22910
jmp 0x2ccfc
leaq -0x250(%rbp), %rdi
callq 0x12980
movq %rax, %rsi
leaq -0x240(%rbp), %rdi
movq %rdi, -0x428(%rbp)
callq 0x2a6e0
movq -0x428(%rbp), %rdi
callq 0x3ab30
movq %rax, -0x420(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x12bf0
movq %rax, %rsi
leaq -0x270(%rbp), %rdi
movq %rdi, -0x418(%rbp)
callq 0x12c10
movq -0x420(%rbp), %rdi
movq -0x418(%rbp), %rsi
callq 0x26f20
jmp 0x2cd68
leaq -0x270(%rbp), %rdi
callq 0x12d50
leaq -0x240(%rbp), %rdi
callq 0x3a9d0
leaq -0x250(%rbp), %rdi
callq 0x12a00
leaq -0x260(%rbp), %rdi
callq 0x12a70
movq -0x2c8(%rbp), %rsi
leaq -0x2a0(%rbp), %rdi
movq %rdi, -0x430(%rbp)
callq 0x2a670
movq -0x430(%rbp), %rdi
callq 0x12a20
movq %rax, %rsi
leaq -0x290(%rbp), %rdi
callq 0x22910
jmp 0x2cdcf
leaq -0x290(%rbp), %rdi
callq 0x12980
movq %rax, %rsi
leaq -0x280(%rbp), %rdi
movq %rdi, -0x448(%rbp)
callq 0x2a6b0
movq -0x448(%rbp), %rdi
callq 0x12af0
movq %rax, -0x440(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x12bf0
movq %rax, %rsi
leaq -0x2b0(%rbp), %rdi
movq %rdi, -0x438(%rbp)
callq 0x12c10
movq -0x440(%rbp), %rdi
movq -0x438(%rbp), %rsi
callq 0x3d2d0
jmp 0x2ce3b
leaq -0x2b0(%rbp), %rdi
callq 0x12d50
leaq -0x280(%rbp), %rdi
callq 0x12b30
leaq -0x290(%rbp), %rdi
callq 0x12a00
leaq -0x2a0(%rbp), %rdi
callq 0x12a70
jmp 0x2cf9a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2cea2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x12b30
leaq -0x1e8(%rbp), %rdi
callq 0x12a00
leaq -0x1f8(%rbp), %rdi
callq 0x12a70
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2cee5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x12b30
leaq -0x220(%rbp), %rdi
callq 0x12a00
leaq -0x230(%rbp), %rdi
callq 0x12a70
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2cf34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x12d50
leaq -0x240(%rbp), %rdi
callq 0x3a9d0
leaq -0x250(%rbp), %rdi
callq 0x12a00
leaq -0x260(%rbp), %rdi
callq 0x12a70
jmp 0x2cfb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2cf80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x12d50
leaq -0x280(%rbp), %rdi
callq 0x12b30
leaq -0x290(%rbp), %rdi
callq 0x12a00
leaq -0x2a0(%rbp), %rdi
callq 0x12a70
jmp 0x2cfb3
leaq -0x1c8(%rbp), %rdi
callq 0x12d70
jmp 0x2cbb6
leaq -0x70(%rbp), %rdi
callq 0x64c8
leaq -0x40(%rbp), %rdi
callq 0x15c40
jmp 0x2cfc7
leaq -0x70(%rbp), %rdi
callq 0x64c8
leaq -0x40(%rbp), %rdi
callq 0x15c40
jmp 0x2cfd0
addq $0x450, %rsp            # imm = 0x450
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x6460
nopl (%rax)