// File: /workspace/github_c_makefile_star2_O2/stetre[P]moonnuklear/src/structs.c
// Function: moonnuklear_pushcommand
int pushcommand(lua_State *L, nk_command_t *p)
    {
    lua_newtable(L);
    SetEnum(type, "type", pushcommandtype);
    switch(p->type)
        {
        case NK_COMMAND_NOP: return 1;
        case NK_COMMAND_SCISSOR: return command_scissor(L, p);
        case NK_COMMAND_LINE: return command_line(L, p);
        case NK_COMMAND_CURVE: return command_curve(L, p);
        case NK_COMMAND_RECT: return command_rect(L, p);
        case NK_COMMAND_RECT_FILLED: return command_rect_filled(L, p);
        case NK_COMMAND_RECT_MULTI_COLOR: return command_rect_multi_color(L, p);
        case NK_COMMAND_TRIANGLE: return command_triangle(L, p);
        case NK_COMMAND_TRIANGLE_FILLED: return command_triangle_filled(L, p);
        case NK_COMMAND_CIRCLE: return command_circle(L, p);
        case NK_COMMAND_CIRCLE_FILLED: return command_circle_filled(L, p);
        case NK_COMMAND_ARC: return command_arc(L, p);
        case NK_COMMAND_ARC_FILLED: return command_arc_filled(L, p);
        case NK_COMMAND_POLYGON: return command_polygon(L, p);
        case NK_COMMAND_POLYGON_FILLED: return command_polygon_filled(L, p);
        case NK_COMMAND_POLYLINE: return command_polyline(L, p);
        case NK_COMMAND_TEXT: return command_text(L, p);
        case NK_COMMAND_IMAGE: return command_image(L, p);
//      case NK_COMMAND_CUSTOM: return command_custom(L, p);
        default: break;
        }
    return unexpected(L);
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
movl (%r14), %edx
pushq $0x17
popq %rsi
movq %rbx, %rdi
callq 0x12640
leaq 0x15315(%rip), %rdx     # 0x6c6d3
pushq $-0x2
popq %rsi
movq %rbx, %rdi
callq 0x12b50
movl (%r14), %eax
cmpq $0x11, %rax
ja 0x57c4d
leaq 0x13f67(%rip), %rcx     # 0x6b344
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x130b9(%rip), %rdx     # 0x6a4b3
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x14228(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x8e5d(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x128e5(%rip), %rdx     # 0x69d3c
jmp 0x57db0
movq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x13e10
leaq 0x14f30(%rip), %rdx     # 0x6c39f
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13023(%rip), %rdx     # 0x6a4b3
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x22(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x14195(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x24(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x8dca(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x26(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12852(%rip), %rdx     # 0x69d3c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x18(%r14), %rsi
movq %rbx, %rdi
callq 0x13a10
leaq 0xc37e(%rip), %rdx      # 0x63885
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x1c(%r14), %rsi
movq %rbx, %rdi
callq 0x13a10
leaq 0x14128(%rip), %rdx     # 0x6b64c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movslq 0x2c(%r14), %rdx
addq $0x30, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x13840
leaq 0xc35d(%rip), %rdx      # 0x638a5
jmp 0x57db0
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
leaq 0x16(%r14), %r15
pushq $0x1
popq %r12
pushq $-0x2
popq %rbp
leaq -0x1(%r12), %rax
movzwl 0x14(%r14), %ecx
cmpq %rcx, %rax
jae 0x57b43
movq %rbx, %rdi
movq %r15, %rsi
callq 0x13100
movq %rbx, %rdi
movl %ebp, %esi
movq %r12, %rdx
callq 0x12ef0
incq %r12
addq $0x4, %r15
jmp 0x57564
movzwl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x1407f(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x8d37(%rip), %rdx      # 0x60303
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x16(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0xec44(%rip), %rdx      # 0x6622d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x1a(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x14fd9(%rip), %rdx     # 0x6c5df
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x1e, %r14
jmp 0x57d9e
movzwl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0xc2d1(%rip), %rdx      # 0x638fe
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x12(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13fdd(%rip), %rdx     # 0x6b62b
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x14(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12e47(%rip), %rdx     # 0x6a4b3
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x16(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13fb9(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x18(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x8bee(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x1a(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12676(%rip), %rdx     # 0x69d3c
jmp 0x57718
leaq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x8c28(%rip), %rdx      # 0x60303
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x14(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0xeb32(%rip), %rdx      # 0x6622d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x18(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x14ec7(%rip), %rdx     # 0x6c5df
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x1c, %r14
jmp 0x57d9e
movzwl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13eec(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13edf(%rip), %rdx     # 0x6b63f
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13ec4(%rip), %rdx     # 0x6b642
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0xe6a5(%rip), %rdx      # 0x65e41
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
cmpq $0x2, %r15
je 0x57d05
cvtss2sd 0x18(%r14,%r15,4), %xmm0
movq %rbx, %rdi
callq 0x132d0
incq %r15
movq %rbx, %rdi
movl %ebp, %esi
movq %r15, %rdx
callq 0x12ef0
jmp 0x577b5
movzwl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13e37(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x8db4(%rip), %rdx      # 0x605c8
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x16(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x13e09(%rip), %rdx     # 0x6b63a
jmp 0x57acb
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13de1(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
leaq 0x18(%r14), %r15
pushq $0x1
popq %r12
leaq -0x1(%r12), %rax
movzwl 0x16(%r14), %ecx
cmpq %rcx, %rax
jae 0x57b43
movq %rbx, %rdi
movq %r15, %rsi
callq 0x13100
movq %rbx, %rdi
movl %ebp, %esi
movq %r12, %rdx
callq 0x12ef0
incq %r12
addq $0x4, %r15
jmp 0x5786b
movzwl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13d78(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x8cf5(%rip), %rdx      # 0x605c8
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x16(%r14), %rsi
movq %rbx, %rdi
callq 0x13100
leaq 0x13d4a(%rip), %rdx     # 0x6b63a
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
leaq 0x1a(%r14), %r15
pushq $0x1
popq %r12
cmpq $0x3, %r12
je 0x57935
movq %rbx, %rdi
movq %r15, %rsi
callq 0x13100
movq %rbx, %rdi
movl %ebp, %esi
movq %r12, %rdx
callq 0x12ef0
incq %r12
addq $0x4, %r15
jmp 0x5790e
leaq 0x8b8e(%rip), %rdx      # 0x604ca
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x22, %r14
jmp 0x57d9e
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13cc5(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12b2c(%rip), %rdx     # 0x6a4b3
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
jmp 0x57a80
leaq 0x18(%r14), %rsi
movq %rbx, %rdi
callq 0x13e10
leaq 0x88a2(%rip), %rdx      # 0x60250
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12ae4(%rip), %rdx     # 0x6a4b3
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13c56(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x888b(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12313(%rip), %rdx     # 0x69d3c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x30, %r14
jmp 0x57d9e
movzwl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0xbeae(%rip), %rdx      # 0x638fe
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12a42(%rip), %rdx     # 0x6a4b3
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x14(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13bb4(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x87e9(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x18(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12271(%rip), %rdx     # 0x69d3c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x1a, %r14
jmp 0x57d9e
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13b39(%rip), %rdx     # 0x6b62b
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
leaq 0x18(%r14), %r15
pushq $0x1
popq %r12
leaq -0x1(%r12), %rax
movzwl 0x16(%r14), %ecx
cmpq %rcx, %rax
jae 0x57b43
movq %rbx, %rdi
movq %r15, %rsi
callq 0x13100
movq %rbx, %rdi
movl %ebp, %esi
movq %r12, %rdx
callq 0x12ef0
incq %r12
addq $0x4, %r15
jmp 0x57b13
leaq 0x13afb(%rip), %rdx     # 0x6b645
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x10, %r14
jmp 0x57d9e
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x1293f(%rip), %rdx     # 0x6a4b3
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x13aae(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x86e3(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x1216b(%rip), %rdx     # 0x69d3c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x18(%r14), %rsi
movq %rbx, %rdi
callq 0x13a10
leaq 0x8aa2(%rip), %rdx      # 0x60690
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x1c(%r14), %rsi
movq %rbx, %rdi
callq 0x13a10
leaq 0xe2a9(%rip), %rdx      # 0x65eb4
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
leaq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x13a10
leaq 0xe2a3(%rip), %rdx      # 0x65ecb
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x24, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x13a10
leaq 0x8a6a(%rip), %rdx      # 0x606b2
jmp 0x57db0
leaq 0x84cb(%rip), %rsi      # 0x6011f
leaq 0x13931(%rip), %rdx     # 0x6b58c
movq %rbx, %rdi
movl $0x32b, %ecx            # imm = 0x32B
xorl %eax, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x13bb0
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x139b9(%rip), %rdx     # 0x6b63f
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x1399b(%rip), %rdx     # 0x6b642
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0xe17c(%rip), %rdx      # 0x65e41
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12870
cmpq $0x2, %r15
je 0x57d05
cvtss2sd 0x18(%r14,%r15,4), %xmm0
movq %rbx, %rdi
callq 0x132d0
incq %r15
movq %rbx, %rdi
movl %ebp, %esi
movq %r15, %rdx
callq 0x12ef0
jmp 0x57cde
leaq 0x85f7(%rip), %rdx      # 0x60303
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x20, %r14
jmp 0x57d9e
movswq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x12780(%rip), %rdx     # 0x6a4b3
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movswq 0x12(%r14), %rsi
movq %rbx, %rdi
callq 0x12c20
leaq 0x138ef(%rip), %rdx     # 0x6b643
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x8524(%rip), %rdx      # 0x60296
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
movzwl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x12c20
leaq 0x11fac(%rip), %rdx     # 0x69d3c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
addq $0x18, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x13a10
leaq 0x8e7a(%rip), %rdx      # 0x60c2a
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12b50
pushq $0x1
popq %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq