// File: /workspace/github_cpp_makefile_star2_O1/MatthewZMD[P]TetrisDual/concreteboard.cc
// Function: ConcreteBoard::genThis()
void ConcreteBoard::genThis(){
    std::vector<Cell*> cells;
    Coordinate btmLft{3, 0};
    switch (nextType){
        case CellType::I:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 2)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 3)));
            break;
        case CellType::J:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 2)));
            break;
        case CellType::L:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 2)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 2)));
            break;
        case CellType::O:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            break;
        case CellType::S:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 2)));
            break;
        case CellType::Z:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 2)));
            break;
        case CellType::T:
            cells.emplace_back(&(allCells.at(btmLft.row).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 1)));
            cells.emplace_back(&(allCells.at(btmLft.row - 1).at(btmLft.col + 2)));
            break;
        case CellType::Star:
            break;
        case CellType::E:
            break; // Do nothing
    }
    thisBlock = std::make_shared<Block>(nextType, level->getLevel(), cells);

    nextType = CellType::E;
    notifyObservers();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movl 0x58(%rdi), %eax
cmpq $0x6, %rax
ja 0xa472
leaq 0x98c3(%rip), %rcx      # 0x13410
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r14 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa566
movq 0x48(%rax), %rcx
movq 0x50(%rax), %rax
subq %rcx, %rax
je 0xa5f4
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa673
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r15 # imm = 0x8E38E38E38E38E39
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa6e0
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa75a
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x2, %rdx
jbe 0xa7af
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa528
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x3, %rdx
jbe 0xa528
addq $0x1b0, %rax            # imm = 0x1B0
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
jmp 0xa472
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r14 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa54e
movq 0x48(%rax), %rcx
movq 0x50(%rax), %rax
subq %rcx, %rax
je 0xa58e
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa65e
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r15 # imm = 0x8E38E38E38E38E39
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa698
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x3, %rdx
jb 0xa745
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa776
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x3, %rdx
jb 0xa502
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x2, %rdx
jbe 0xa502
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
jmp 0xa472
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r14 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa555
movq 0x48(%rax), %rcx
movq 0x50(%rax), %rax
subq %rcx, %rax
je 0xa5b0
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa665
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r15 # imm = 0x8E38E38E38E38E39
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa6ab
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa74c
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x2, %rdx
jbe 0xa789
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x3, %rdx
jb 0xa515
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x2, %rdx
jbe 0xa515
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
jmp 0xa472
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r14 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa55c
movq 0x48(%rax), %rcx
movq 0x50(%rax), %rax
subq %rcx, %rax
je 0xa5d2
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x3, %rdx
jb 0xa66c
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rax
subq %rcx, %rax
je 0xa6be
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x3, %rdx
jb 0xa753
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r15 # imm = 0x8E38E38E38E38E39
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa79c
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa7fb
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa810
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
jmp 0xa472
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r14 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa570
movq 0x48(%rax), %rcx
movq 0x50(%rax), %rax
subq %rcx, %rax
je 0xa616
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x3, %rdx
jb 0xa67a
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rax
subq %rcx, %rax
je 0xa6f3
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa761
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r15 # imm = 0x8E38E38E38E38E39
imulq %r15, %rdx
cmpq $0x1, %rdx
jbe 0xa7c2
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r14, %rdx
cmpq $0x4, %rdx
jb 0xa802
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r15, %rdx
cmpq $0x2, %rdx
jbe 0xa823
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
jmp 0xa472
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r15 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r15, %rdx
cmpq $0x4, %rdx
jb 0xa57a
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r14 # imm = 0x8E38E38E38E38E39
imulq %r14, %rdx
cmpq $0x1, %rdx
jbe 0xa638
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
cmpq $0x3, %rdx
jb 0xa684
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rdx
subq %rcx, %rdx
je 0xa715
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
cmpq $0x3, %rdx
jb 0xa768
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r14, %rdx
cmpq $0x1, %rdx
jbe 0xa7d5
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
cmpq $0x4, %rdx
jb 0xa809
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r14, %rdx
cmpq $0x2, %rdx
jbe 0xa836
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
jmp 0xa472
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r15 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r15, %rdx
cmpq $0x4, %rdx
jb 0xa584
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movabsq $-0x71c71c71c71c71c7, %r14 # imm = 0x8E38E38E38E38E39
imulq %r14, %rdx
cmpq $0x1, %rdx
jbe 0xa64b
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
cmpq $0x3, %rdx
jb 0xa68e
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rdx
subq %rcx, %rdx
je 0xa72d
movq %rsp, %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
cmpq $0x3, %rdx
jb 0xa76f
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r14, %rdx
cmpq $0x1, %rdx
jbe 0xa7e8
addq $0x90, %rax
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x78(%rbx), %rcx
movq 0x80(%rbx), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
cmpq $0x3, %rdx
jb 0xa53b
movq 0x30(%rcx), %rax
movq 0x38(%rcx), %rdx
subq %rax, %rdx
sarq $0x4, %rdx
imulq %r14, %rdx
cmpq $0x2, %rdx
jbe 0xa53b
addq $0x120, %rax            # imm = 0x120
movq %rsp, %rsi
movq %rax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0xadec
movq 0x60(%rbx), %rdi
callq 0xec5c
leaq 0x58(%rbx), %rcx
leaq 0x2c(%rsp), %r8
movl %eax, (%r8)
leaq 0x8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
movq %rsp, %rsi
leaq 0x2b(%rsp), %rdx
leaq 0x10(%rsp), %r9
callq 0xbcb0
movaps (%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%rsp)
movq 0x50(%rbx), %rdi
movups %xmm0, 0x48(%rbx)
testq %rdi, %rdi
je 0xa4c3
callq 0x5f3e
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0xa4d2
callq 0x5f3e
movl $0x7, 0x58(%rbx)
movq %rbx, %rdi
callq 0xedfe
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0xa4f8
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x52e0
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x8e89(%rip), %rdi      # 0x13392
movl $0x2, %esi
xorl %eax, %eax
callq 0x5410
leaq 0x8e76(%rip), %rdi      # 0x13392
movl $0x2, %esi
xorl %eax, %eax
callq 0x5410
leaq 0x8e63(%rip), %rdi      # 0x13392
movl $0x3, %esi
xorl %eax, %eax
callq 0x5410
leaq 0x8e50(%rip), %rdi      # 0x13392
movl $0x2, %esi
xorl %eax, %eax
callq 0x5410
movl $0x3, %esi
jmp 0xa5a2
movl $0x3, %esi
jmp 0xa5c4
movl $0x3, %esi
jmp 0xa5e6
movl $0x3, %esi
jmp 0xa608
movl $0x3, %esi
jmp 0xa62a
movl $0x3, %esi
jmp 0xa63d
movl $0x3, %esi
jmp 0xa650
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8de9(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8dc7(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8da5(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8d83(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8d61(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8d4e(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8d3b(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x3, %esi
jmp 0xa69d
movl $0x3, %esi
jmp 0xa6b0
movl $0x2, %esi
jmp 0xa6d2
movl $0x3, %esi
jmp 0xa6e5
movl $0x2, %esi
jmp 0xa707
movl $0x2, %esi
jmp 0xa71f
movl $0x2, %esi
jmp 0xa737
movl $0x1, %esi
leaq 0x8cee(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8cdb(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8cb9(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8ca6(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rax
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
xorl %esi, %esi
leaq 0x8c84(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rdx
imulq %r14, %rdx
xorl %esi, %esi
leaq 0x8c6c(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
sarq $0x4, %rdx
imulq %r14, %rdx
xorl %esi, %esi
leaq 0x8c54(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x2, %esi
jmp 0xa77b
movl $0x3, %esi
jmp 0xa78e
movl $0x2, %esi
jmp 0xa7a1
movl $0x3, %esi
jmp 0xa7b4
movl $0x3, %esi
jmp 0xa7c7
movl $0x2, %esi
jmp 0xa7da
movl $0x2, %esi
jmp 0xa7ed
movl $0x1, %esi
leaq 0x8c10(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x2, %esi
leaq 0x8bfd(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8bea(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x2, %esi
leaq 0x8bd7(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8bc4(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8bb1(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x1, %esi
leaq 0x8b9e(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x3, %esi
jmp 0xa815
movl $0x3, %esi
jmp 0xa828
movl $0x3, %esi
jmp 0xa83b
movl $0x1, %esi
leaq 0x8b76(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x2, %esi
leaq 0x8b63(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
movl $0x2, %esi
leaq 0x8b50(%rip), %rdi      # 0x13392
xorl %eax, %eax
callq 0x5410
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
jmp 0xa883
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0xa89d
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x52e0
movq %rbx, %rdi
callq 0x54e0
nop