// File: /workspace/github_cpp_makefile_star2_O3/EstherJin[P]TetrisRemake/graphicsDisplay.cc
// Function: GraphicsDisplay::printNext(char)
void GraphicsDisplay::printNext (char next) {
    if (next != ' ') {
        switch (next) {
            case 'T':
                window->fillRectangle(xmar,712, cellLength, cellLength, 2);
                window->fillRectangle(xmar+cellLength,712, cellLength, cellLength, 2);
                window->fillRectangle(xmar+2*cellLength,712, cellLength, cellLength, 2);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 2);
                break;
            case 'L':
                window->fillRectangle(xmar+2*cellLength,712, cellLength, cellLength, 3);
                window->fillRectangle(xmar,712+cellLength, cellLength, cellLength, 3);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 3);
                window->fillRectangle(xmar+2*cellLength,712+cellLength, cellLength, cellLength, 3);
                break;
            case 'Z':
                window->fillRectangle(xmar,712, cellLength, cellLength, 4);
                window->fillRectangle(xmar+cellLength,712, cellLength, cellLength, 4);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 4);
                window->fillRectangle(xmar+2*cellLength,712+cellLength, cellLength, cellLength, 4);
                break;
            case 'O':
                window->fillRectangle(xmar,712, cellLength, cellLength, 5);
                window->fillRectangle(xmar+cellLength,712,cellLength, cellLength, 5);
                window->fillRectangle(xmar,712+cellLength, cellLength, cellLength, 5);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 5);
                break;
            case 'S':
                window->fillRectangle(xmar+cellLength,712, cellLength, cellLength, 6);
                window->fillRectangle(xmar+2*cellLength,712, cellLength, cellLength, 6);
                window->fillRectangle(xmar,712+cellLength, cellLength, cellLength, 6);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 6);
                break;
            case 'J':
                window->fillRectangle(xmar,712, cellLength, cellLength, 7);
                window->fillRectangle(xmar,712+cellLength, cellLength, cellLength, 7);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 7);
                window->fillRectangle(xmar+2*cellLength,712+cellLength, cellLength, cellLength, 7);
                break;
            case 'I':
                window->fillRectangle(xmar,712+cellLength, cellLength, cellLength, 8);
                window->fillRectangle(xmar+cellLength,712+cellLength, cellLength, cellLength, 8);
                window->fillRectangle(xmar+2*cellLength,712+cellLength, cellLength, cellLength, 8);
                window->fillRectangle(xmar+3*cellLength,712+cellLength, cellLength, cellLength, 8);
                break;
        }
    } else {
        window->fillRectangle(xmar, 712, 405, 150, 0);
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leal -0x49(%rsi), %eax
cmpl $0xb, %eax
ja 0x1256d
leaq 0x13ec(%rip), %rcx      # 0x138d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
movl $0x2c8, %r14d           # imm = 0x2C8
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x8, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x8, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x8, %r9d
callq 0x12b3e
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx,2), %esi
addl 0x14(%rbx), %esi
movq 0x20(%rbx), %rdi
addl %ecx, %r14d
movl %r14d, %edx
movl %ecx, %r8d
movl $0x8, %r9d
jmp 0x12899
cmpl $0x20, %esi
je 0x1287f
cmpl $0x5a, %esi
jne 0x12600
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
movl $0x2c8, %r14d           # imm = 0x2C8
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x4, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x4, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x4, %r9d
callq 0x12b3e
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
movq 0x20(%rbx), %rdi
addl %ecx, %r14d
movl %r14d, %edx
movl %ecx, %r8d
movl $0x4, %r9d
jmp 0x12899
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
movl $0x2c8, %r14d           # imm = 0x2C8
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x5, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x5, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x5, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
addl %ecx, %r14d
movl %r14d, %edx
movl %ecx, %r8d
movl $0x5, %r9d
jmp 0x12899
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
movl $0x2c8, %r14d           # imm = 0x2C8
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x7, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x7, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x7, %r9d
callq 0x12b3e
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
movq 0x20(%rbx), %rdi
addl %ecx, %r14d
movl %r14d, %edx
movl %ecx, %r8d
movl $0x7, %r9d
jmp 0x12899
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
movl $0x2c8, %r14d           # imm = 0x2C8
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x6, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x6, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x6, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
addl %ecx, %r14d
movl %r14d, %edx
movl %ecx, %r8d
movl $0x6, %r9d
jmp 0x12899
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
movl $0x2c8, %r14d           # imm = 0x2C8
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x3, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x3, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
leal (%rcx,%r14), %edx
movl %ecx, %r8d
movl $0x3, %r9d
callq 0x12b3e
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
movq 0x20(%rbx), %rdi
addl %ecx, %r14d
movl %r14d, %edx
movl %ecx, %r8d
movl $0x3, %r9d
jmp 0x12899
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x2, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x2, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
leal (%rcx,%rcx), %esi
addl 0x14(%rbx), %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl %ecx, %r8d
movl $0x2, %r9d
callq 0x12b3e
movq 0x20(%rbx), %rdi
movl 0x8(%rbx), %ecx
movl 0x14(%rbx), %esi
addl %ecx, %esi
leal 0x2c8(%rcx), %edx
movl %ecx, %r8d
movl $0x2, %r9d
jmp 0x12899
movq 0x20(%rbx), %rdi
movl 0x14(%rbx), %esi
movl $0x2c8, %edx            # imm = 0x2C8
movl $0x195, %ecx            # imm = 0x195
movl $0x96, %r8d
xorl %r9d, %r9d
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x12b3e
nop