// File: /workspace/github_c_makefile_star2_O2/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movl %esi, %r15d
movq %rdi, %rbx
andl $0x0, (%rdx)
callq 0x14030
testl %eax, %eax
jle 0x56ad4
movq %rbx, %rdi
movl %r15d, %esi
callq 0x14030
cmpl $0x5, %eax
jne 0x56ad8
leaq 0xa030(%rip), %rsi      # 0x604ac
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
pushq $-0x1
popq %r12
xorl %ebp, %ebp
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, (%r14)
pushq $-0x2
popq %r13
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9fff(%rip), %rsi      # 0x604ba
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x4(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9fd9(%rip), %rsi      # 0x604ca
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x8(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9fb1(%rip), %rsi      # 0x604d8
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0xc(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0xf98f(%rip), %rsi      # 0x65eec
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x10(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0xf965(%rip), %rsi      # 0x65ef8
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x14(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9f2d(%rip), %rsi      # 0x604f6
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x18(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9cd1(%rip), %rsi      # 0x602d0
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x1c(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9dfc(%rip), %rsi      # 0x60431
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x20(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9c51(%rip), %rsi      # 0x602bc
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x24(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0xa259(%rip), %rsi      # 0x608fa
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x28(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0xa242(%rip), %rsi      # 0x60919
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x2c(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9f83(%rip), %rsi      # 0x60690
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x30(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x9f6f(%rip), %rsi      # 0x606b2
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x34(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14d26(%rip), %rsi     # 0x6b49f
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x38(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14d01(%rip), %rsi     # 0x6b4b0
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x3c(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14cdd(%rip), %rsi     # 0x6b4c2
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x40(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14cb7(%rip), %rsi     # 0x6b4d2
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x44(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14c91(%rip), %rsi     # 0x6b4e2
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x48(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14c69(%rip), %rsi     # 0x6b4f0
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x4c(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14c3e(%rip), %rsi     # 0x6b4fb
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x50(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14c11(%rip), %rsi     # 0x6b504
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x54(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14be5(%rip), %rsi     # 0x6b50e
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x58(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14bb9(%rip), %rsi     # 0x6b518
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x5c(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14b93(%rip), %rsi     # 0x6b528
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x60(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14b6c(%rip), %rsi     # 0x6b537
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x64(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14b46(%rip), %rsi     # 0x6b547
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x68(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14b1d(%rip), %rsi     # 0x6b554
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x6c(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14af2(%rip), %rsi     # 0x6b55f
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x70(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
leaq 0x14ac8(%rip), %rsi     # 0x6b56b
movq %rbx, %rdi
callq 0x141d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13730
movq %rbx, %rdi
movl %r12d, %esi
xorl %edx, %edx
callq 0x13b60
movl %eax, 0x74(%r14)
movq %rbx, %rdi
movl %r13d, %esi
callq 0x12190
jmp 0x56aed
pushq $0x1
jmp 0x56ada
pushq $-0x4
popq %rbp
movl %ebp, %edi
callq 0x13cc0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x141d0
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq