// File: /workspace/github_c_makefile_star2_O0/cinemast[P]sudoku/sudoku.c
// Function: getkey
static
int
getkey (void)
{
    int ch = wgetch(stdscr);
    if (0x1b == ch) {
        ch = wgetch(stdscr);
        if ('[' == ch) {
            ch = wgetch(stdscr);
            switch (ch) {
                case 'A': ch = VKEY_UP;     break;
                case 'B': ch = VKEY_DOWN;   break;
                case 'C': ch = VKEY_RIGHT;  break;
                case 'D': ch = VKEY_LEFT;   break;
                case 'H': ch = VKEY_HOME;   break;
                case '2': ch = VKEY_INSERT; break;
                case '3': ch = VKEY_DELETE; break;
                case '4': ch = VKEY_END;    break;
                case '5': ch = VKEY_PGUP;   break;
                case '6': ch = VKEY_PGDOWN; break;
                default:  ch = VKEY_IGNORE;
            }
            if (ch == VKEY_HOME ||
                ch == VKEY_DELETE ||
                ch == VKEY_INSERT ||
                ch == VKEY_END ||
                ch == VKEY_PGUP ||
                ch == VKEY_PGDOWN) {
                int ch4 = wgetch(stdscr);
                if (ch4 != '~') {
                    ch = VKEY_IGNORE;
                }
            }
        } else {
            /* Enabling the Esc Esc sequence to produce one Esc character */
            if (0x1b != ch) {
                ch = VKEY_IGNORE;
            }
        }
    }
    return ch;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x8f89(%rip), %rax      # 0x10fd8
movq (%rax), %rdi
callq 0x2090
movl %eax, -0x4(%rbp)
movl $0x1b, %eax
cmpl -0x4(%rbp), %eax
jne 0x818e
movq 0x8f69(%rip), %rax      # 0x10fd8
movq (%rax), %rdi
callq 0x2090
movl %eax, -0x4(%rbp)
movl $0x5b, %eax
cmpl -0x4(%rbp), %eax
jne 0x8179
movq 0x8f49(%rip), %rax      # 0x10fd8
movq (%rax), %rdi
callq 0x2090
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addl $-0x32, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x16, %eax
ja 0x8119
movq -0x10(%rbp), %rax
leaq 0x3442(%rip), %rcx      # 0xb4f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x141, -0x4(%rbp)      # imm = 0x141
jmp 0x8120
movl $0x142, -0x4(%rbp)      # imm = 0x142
jmp 0x8120
movl $0x143, -0x4(%rbp)      # imm = 0x143
jmp 0x8120
movl $0x144, -0x4(%rbp)      # imm = 0x144
jmp 0x8120
movl $0x148, -0x4(%rbp)      # imm = 0x148
jmp 0x8120
movl $0x132, -0x4(%rbp)      # imm = 0x132
jmp 0x8120
movl $0x133, -0x4(%rbp)      # imm = 0x133
jmp 0x8120
movl $0x134, -0x4(%rbp)      # imm = 0x134
jmp 0x8120
movl $0x135, -0x4(%rbp)      # imm = 0x135
jmp 0x8120
movl $0x136, -0x4(%rbp)      # imm = 0x136
jmp 0x8120
movl $0x100, -0x4(%rbp)      # imm = 0x100
cmpl $0x148, -0x4(%rbp)      # imm = 0x148
je 0x8156
cmpl $0x133, -0x4(%rbp)      # imm = 0x133
je 0x8156
cmpl $0x132, -0x4(%rbp)      # imm = 0x132
je 0x8156
cmpl $0x134, -0x4(%rbp)      # imm = 0x134
je 0x8156
cmpl $0x135, -0x4(%rbp)      # imm = 0x135
je 0x8156
cmpl $0x136, -0x4(%rbp)      # imm = 0x136
jne 0x8177
movq 0x8e7b(%rip), %rax      # 0x10fd8
movq (%rax), %rdi
callq 0x2090
movl %eax, -0x8(%rbp)
cmpl $0x7e, -0x8(%rbp)
je 0x8175
movl $0x100, -0x4(%rbp)      # imm = 0x100
jmp 0x8177
jmp 0x818c
movl $0x1b, %eax
cmpl -0x4(%rbp), %eax
je 0x818a
movl $0x100, -0x4(%rbp)      # imm = 0x100
jmp 0x818c
jmp 0x818e
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)