// File: /workspace/github_c_makefile_star2_O0/stetre[P]moongl/src/vertex_array.c
// Function: VertexAttribN
static int VertexAttribN(lua_State *L)
/* gl.vertex_attrib_n(index, type, val1, val2, val3, val4) */
    {
    GLuint index = luaL_checkinteger(L, 1);
    GLenum type = checktype(L, 2);
    switch(type)
        {
#define arg_first 3
        case GL_BYTE: return VertexAttribN_GLbyte(L, index, arg_first);
        case GL_UNSIGNED_BYTE: return VertexAttribN_GLubyte(L, index, arg_first);
        case GL_SHORT: return VertexAttribN_GLshort(L, index, arg_first);
        case GL_UNSIGNED_SHORT: return VertexAttribN_GLushort(L, index, arg_first);
        case GL_INT: return VertexAttribN_GLint(L, index, arg_first);
        case GL_UNSIGNED_INT: return VertexAttribN_GLuint(L, index, arg_first);
        case GL_FLOAT:
        case GL_DOUBLE:
        case GL_HALF_FLOAT:
        case GL_FIXED:
        case GL_INT_2_10_10_10_REV:
        case GL_UNSIGNED_INT_2_10_10_10_REV:
        case GL_UNSIGNED_INT_10F_11F_11F_REV:
            return luaL_error(L, "type not supported by this operation");
        default:
            return luaL_error(L, UNEXPECTED_ERROR);
#undef arg_first
        }
    return 0;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x11af0
movl %eax, 0x14(%rsp)
movq 0x18(%rsp), %rdi
movl $0x7, %esi
movl $0x2, %edx
callq 0x11160
movl %eax, 0x10(%rsp)
movl 0x10(%rsp), %eax
movl %eax, 0xc(%rsp)
subl $0x1400, %eax           # imm = 0x1400
je 0x4f2c9
jmp 0x4f219
movl 0xc(%rsp), %eax
subl $0x1401, %eax           # imm = 0x1401
je 0x4f2e5
jmp 0x4f22a
movl 0xc(%rsp), %eax
subl $0x1402, %eax           # imm = 0x1402
je 0x4f301
jmp 0x4f23b
movl 0xc(%rsp), %eax
subl $0x1403, %eax           # imm = 0x1403
je 0x4f31d
jmp 0x4f24c
movl 0xc(%rsp), %eax
subl $0x1404, %eax           # imm = 0x1404
je 0x4f336
jmp 0x4f25d
movl 0xc(%rsp), %eax
subl $0x1405, %eax           # imm = 0x1405
je 0x4f34f
jmp 0x4f26e
movl 0xc(%rsp), %eax
subl $0x1406, %eax           # imm = 0x1406
je 0x4f368
jmp 0x4f27f
movl 0xc(%rsp), %eax
addl $0xffffebf6, %eax       # imm = 0xFFFFEBF6
subl $0x3, %eax
jb 0x4f368
jmp 0x4f293
movl 0xc(%rsp), %eax
subl $0x8368, %eax           # imm = 0x8368
je 0x4f368
jmp 0x4f2a4
movl 0xc(%rsp), %eax
subl $0x8c3b, %eax           # imm = 0x8C3B
je 0x4f368
jmp 0x4f2b5
movl 0xc(%rsp), %eax
subl $0x8d9f, %eax           # imm = 0x8D9F
je 0x4f368
jmp 0x4f381
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl $0x3, %edx
callq 0x50f20
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl $0x3, %edx
callq 0x50f90
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl $0x3, %edx
callq 0x51000
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl $0x3, %edx
callq 0x51080
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl $0x3, %edx
callq 0x51100
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
movl 0x14(%rsp), %esi
movl $0x3, %edx
callq 0x51180
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
leaq 0xd8e1(%rip), %rsi      # 0x5cc55
movb $0x0, %al
callq 0x11ae0
movl %eax, 0x24(%rsp)
jmp 0x4f3a4
movq 0x18(%rsp), %rdi
leaq 0x2ef8(%rip), %rsi      # 0x52285
leaq 0xf24c(%rip), %rdx      # 0x5e5e0
movl $0xba, %ecx
movb $0x0, %al
callq 0x11ae0
movl %eax, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)