// File: /workspace/github_c_makefile_star2_O3/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 %rbx
pushq %rax
movq %rdx, %r14
movl %esi, %r15d
movq %rdi, %rbx
movl $0x0, (%rdx)
callq 0x13df0
testl %eax, %eax
jle 0x5c54a
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13df0
cmpl $0x5, %eax
jne 0x5c556
leaq 0xb62a(%rip), %rsi      # 0x674ac
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
xorl %ebp, %ebp
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, (%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb5fd(%rip), %rsi      # 0x674ba
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x4(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb5d3(%rip), %rsi      # 0x674ca
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x8(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb5a7(%rip), %rsi      # 0x674d8
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0xc(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x10f81(%rip), %rsi     # 0x6ceec
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x10(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x10f53(%rip), %rsi     # 0x6cef8
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x14(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb517(%rip), %rsi      # 0x674f6
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x18(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb2b7(%rip), %rsi      # 0x672d0
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x1c(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb3de(%rip), %rsi      # 0x67431
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x20(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb22f(%rip), %rsi      # 0x672bc
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x24(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb833(%rip), %rsi      # 0x678fa
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x28(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb818(%rip), %rsi      # 0x67919
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x2c(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb555(%rip), %rsi      # 0x67690
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x30(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0xb53d(%rip), %rsi      # 0x676b2
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x34(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16380(%rip), %rsi     # 0x7252f
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x38(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16357(%rip), %rsi     # 0x72540
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x3c(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x1632f(%rip), %rsi     # 0x72552
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x40(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16305(%rip), %rsi     # 0x72562
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x44(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x162db(%rip), %rsi     # 0x72572
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x48(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x162af(%rip), %rsi     # 0x72580
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x4c(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16280(%rip), %rsi     # 0x7258b
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x50(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x1624f(%rip), %rsi     # 0x72594
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x54(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x1621f(%rip), %rsi     # 0x7259e
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x58(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x161ef(%rip), %rsi     # 0x725a8
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x5c(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x161c5(%rip), %rsi     # 0x725b8
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x60(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x1619a(%rip), %rsi     # 0x725c7
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x64(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16170(%rip), %rsi     # 0x725d7
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x68(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16143(%rip), %rsi     # 0x725e4
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x6c(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x16114(%rip), %rsi     # 0x725ef
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x70(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
leaq 0x160e6(%rip), %rsi     # 0x725fb
movq %rbx, %rdi
callq 0x13f90
movq %rbx, %rdi
movl %r15d, %esi
callq 0x13570
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13960
movl %eax, 0x74(%r14)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x12180
jmp 0x5c570
movl $0x1, %ebp
movl $0x1, %edi
jmp 0x5c560
movl $0xfffffffc, %ebp       # imm = 0xFFFFFFFC
movl $0xfffffffc, %edi       # imm = 0xFFFFFFFC
callq 0x13ac0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x13f90
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq