// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/structs.c
// Function: moonnuklear_echeckkeytable
int echeckkeytable(lua_State *L, int arg, int p[NK_KEY_MAX])
    {
    ECHECK_PREAMBLE;
#define GetKey(i, sname) do {                       \
    lua_pushstring(L, sname); lua_rawget(L, arg);   \
    p[i] = optboolean(L, -1, 0);                    \
    lua_pop(L, 1);                                  \
} while(0)
    GetKey(NK_KEY_NONE, "none");
    GetKey(NK_KEY_SHIFT, "shift");
    GetKey(NK_KEY_CTRL, "ctrl");
    GetKey(NK_KEY_DEL, "del");
    GetKey(NK_KEY_ENTER, "enter");
    GetKey(NK_KEY_TAB, "tab");
    GetKey(NK_KEY_BACKSPACE, "backspace");
    GetKey(NK_KEY_COPY, "copy");
    GetKey(NK_KEY_CUT, "cut");
    GetKey(NK_KEY_PASTE, "paste");
    GetKey(NK_KEY_UP, "up");
    GetKey(NK_KEY_DOWN, "down");
    GetKey(NK_KEY_LEFT, "left");
    GetKey(NK_KEY_RIGHT, "right");
    GetKey(NK_KEY_TEXT_INSERT_MODE, "text_insert_mode");
    GetKey(NK_KEY_TEXT_REPLACE_MODE, "text_replace_mode");
    GetKey(NK_KEY_TEXT_RESET_MODE, "text_reset_mode");
    GetKey(NK_KEY_TEXT_LINE_START, "text_line_start");
    GetKey(NK_KEY_TEXT_LINE_END, "text_line_end");
    GetKey(NK_KEY_TEXT_START, "text_start");
    GetKey(NK_KEY_TEXT_END, "text_end");
    GetKey(NK_KEY_TEXT_UNDO, "text_undo");
    GetKey(NK_KEY_TEXT_REDO, "text_redo");
    GetKey(NK_KEY_TEXT_SELECT_ALL, "text_select_all");
    GetKey(NK_KEY_TEXT_WORD_LEFT, "text_word_left");
    GetKey(NK_KEY_TEXT_WORD_RIGHT, "text_word_right");
    GetKey(NK_KEY_SCROLL_START, "scroll_start");
    GetKey(NK_KEY_SCROLL_END, "scroll_end");
    GetKey(NK_KEY_SCROLL_DOWN, "scroll_down");
    GetKey(NK_KEY_SCROLL_UP, "scroll_up");
#undef GetKey
    return ERR_SUCCESS;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x18(%rsp), %rdi
xorl %esi, %esi
movl $0x4, %edx
callq 0x13c40
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x15090
cmpl $0x0, %eax
jg 0x95134
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movl $0x1, %edi
callq 0x14d10
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x15240
movl $0x1, 0x34(%rsp)
jmp 0x95a46
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x15090
cmpl $0x5, %eax
je 0x95175
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0xfffffffc, %edi       # imm = 0xFFFFFFFC
callq 0x14d10
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x15240
movl $0xfffffffc, 0x34(%rsp) # imm = 0xFFFFFFFC
jmp 0x95a46
jmp 0x95177
movq 0x28(%rsp), %rdi
leaq 0x12329(%rip), %rsi     # 0xa74ac
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, (%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x951c1
movq 0x28(%rsp), %rdi
leaq 0x122ed(%rip), %rsi     # 0xa74ba
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x4(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x9520c
movq 0x28(%rsp), %rdi
leaq 0x122b2(%rip), %rsi     # 0xa74ca
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x8(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95257
movq 0x28(%rsp), %rdi
leaq 0x12275(%rip), %rsi     # 0xa74d8
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0xc(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x952a2
movq 0x28(%rsp), %rdi
leaq 0x17c3e(%rip), %rsi     # 0xaceec
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x10(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x952ed
movq 0x28(%rsp), %rdi
leaq 0x17bff(%rip), %rsi     # 0xacef8
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x14(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95338
movq 0x28(%rsp), %rdi
leaq 0x121b2(%rip), %rsi     # 0xa74f6
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x18(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95383
movq 0x28(%rsp), %rdi
leaq 0x11f41(%rip), %rsi     # 0xa72d0
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x1c(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x953ce
movq 0x28(%rsp), %rdi
leaq 0x12057(%rip), %rsi     # 0xa7431
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x20(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95419
movq 0x28(%rsp), %rdi
leaq 0x11e97(%rip), %rsi     # 0xa72bc
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x24(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95464
movq 0x28(%rsp), %rdi
leaq 0x1248a(%rip), %rsi     # 0xa78fa
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x28(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x954af
movq 0x28(%rsp), %rdi
leaq 0x1245e(%rip), %rsi     # 0xa7919
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x2c(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x954fa
movq 0x28(%rsp), %rdi
leaq 0x1218a(%rip), %rsi     # 0xa7690
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x30(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95545
movq 0x28(%rsp), %rdi
leaq 0x12161(%rip), %rsi     # 0xa76b2
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x34(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95590
movq 0x28(%rsp), %rdi
leaq 0x1ce7f(%rip), %rsi     # 0xb241b
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x38(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x955db
movq 0x28(%rsp), %rdi
leaq 0x1ce45(%rip), %rsi     # 0xb242c
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x3c(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95626
movq 0x28(%rsp), %rdi
leaq 0x1ce0c(%rip), %rsi     # 0xb243e
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x40(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95671
movq 0x28(%rsp), %rdi
leaq 0x1cdd1(%rip), %rsi     # 0xb244e
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x44(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x956bc
movq 0x28(%rsp), %rdi
leaq 0x1cd96(%rip), %rsi     # 0xb245e
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x48(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95707
movq 0x28(%rsp), %rdi
leaq 0x1cd59(%rip), %rsi     # 0xb246c
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x4c(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95752
movq 0x28(%rsp), %rdi
leaq 0x1cd19(%rip), %rsi     # 0xb2477
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x50(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x9579d
movq 0x28(%rsp), %rdi
leaq 0x1ccd7(%rip), %rsi     # 0xb2480
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x54(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x957e8
movq 0x28(%rsp), %rdi
leaq 0x1cc96(%rip), %rsi     # 0xb248a
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x58(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95833
movq 0x28(%rsp), %rdi
leaq 0x1cc55(%rip), %rsi     # 0xb2494
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x5c(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x9587e
movq 0x28(%rsp), %rdi
leaq 0x1cc1a(%rip), %rsi     # 0xb24a4
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x60(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x958c9
movq 0x28(%rsp), %rdi
leaq 0x1cbde(%rip), %rsi     # 0xb24b3
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x64(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x95914
movq 0x28(%rsp), %rdi
leaq 0x1cba3(%rip), %rsi     # 0xb24c3
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x68(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x9595f
movq 0x28(%rsp), %rdi
leaq 0x1cb65(%rip), %rsi     # 0xb24d0
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x6c(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x959aa
movq 0x28(%rsp), %rdi
leaq 0x1cb25(%rip), %rsi     # 0xb24db
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x70(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
jmp 0x959f5
movq 0x28(%rsp), %rdi
leaq 0x1cae6(%rip), %rsi     # 0xb24e7
callq 0x15240
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x14750
movq 0x28(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x14ba0
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x74(%rax)
movq 0x28(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x131a0
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nop