// File: /workspace/github_c_makefile_star2_O0/stetre[P]moongl/src/utils.c
// Function: moongl_sizeoftype
size_t sizeoftype(lua_State *L, int type)
    {
    switch(type)
        {
        case GL_NONE: return 0;
        case GL_UNSIGNED_BYTE: return sizeof(GLbyte);
        case GL_BYTE:  return sizeof(GLubyte);
        case GL_UNSIGNED_SHORT:  return sizeof(GLushort);
        case GL_SHORT:  return sizeof(GLshort);
        case GL_UNSIGNED_INT: return sizeof(GLuint);
        case GL_INT:  return sizeof(GLint);
        case GL_FIXED: return sizeof(GLfixed);
        case GL_HALF_FLOAT:  return sizeof(GLhalf);
        case GL_FLOAT:  return sizeof(GLfloat);
        case GL_DOUBLE: return sizeof(GLdouble);
        case GL_UNSIGNED_BYTE_3_3_2:
        case GL_UNSIGNED_BYTE_2_3_3_REV:  return sizeof(GLubyte);
        case GL_UNSIGNED_SHORT_5_6_5:
        case GL_UNSIGNED_SHORT_5_6_5_REV:
        case GL_UNSIGNED_SHORT_4_4_4_4:
        case GL_UNSIGNED_SHORT_4_4_4_4_REV:
        case GL_UNSIGNED_SHORT_5_5_5_1:
        case GL_UNSIGNED_SHORT_1_5_5_5_REV: return sizeof(GLshort);
        case GL_UNSIGNED_INT_8_8_8_8: 
        case GL_UNSIGNED_INT_8_8_8_8_REV: 
        case GL_UNSIGNED_INT_10_10_10_2: 
        case GL_UNSIGNED_INT_2_10_10_10_REV:
        case GL_UNSIGNED_INT_24_8:
        case GL_UNSIGNED_INT_10F_11F_11F_REV:
        case GL_UNSIGNED_INT_5_9_9_9_REV: return sizeof(GLuint);
        case GL_FLOAT_32_UNSIGNED_INT_24_8_REV: return 8; /* 2*32 bit, see 8.4.4.2 */
        case GL_INT_2_10_10_10_REV: return sizeof(GLint);
        default:
            return luaL_error(L, UNEXPECTED_ERROR);
        }
    return 0;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movl %esi, 0x4(%rsp)
movl 0x4(%rsp), %eax
movl %eax, (%rsp)
testl %eax, %eax
je 0x4ecfd
jmp 0x4eb9e
movl (%rsp), %eax
subl $0x1400, %eax           # imm = 0x1400
je 0x4ed19
jmp 0x4ebae
movl (%rsp), %eax
subl $0x1401, %eax           # imm = 0x1401
je 0x4ed0b
jmp 0x4ebbe
movl (%rsp), %eax
subl $0x1402, %eax           # imm = 0x1402
je 0x4ed35
jmp 0x4ebce
movl (%rsp), %eax
subl $0x1403, %eax           # imm = 0x1403
je 0x4ed27
jmp 0x4ebde
movl (%rsp), %eax
subl $0x1404, %eax           # imm = 0x1404
je 0x4ed51
jmp 0x4ebee
movl (%rsp), %eax
subl $0x1405, %eax           # imm = 0x1405
je 0x4ed43
jmp 0x4ebfe
movl (%rsp), %eax
subl $0x1406, %eax           # imm = 0x1406
je 0x4ed75
jmp 0x4ec0e
movl (%rsp), %eax
subl $0x140a, %eax           # imm = 0x140A
je 0x4ed80
jmp 0x4ec1e
movl (%rsp), %eax
subl $0x140b, %eax           # imm = 0x140B
je 0x4ed6a
jmp 0x4ec2e
movl (%rsp), %eax
subl $0x140c, %eax           # imm = 0x140C
je 0x4ed5f
jmp 0x4ec3e
movl (%rsp), %eax
subl $0x8032, %eax           # imm = 0x8032
je 0x4ed8b
jmp 0x4ec4e
movl (%rsp), %eax
addl $0xffff7fcd, %eax       # imm = 0xFFFF7FCD
subl $0x2, %eax
jb 0x4ed96
jmp 0x4ec61
movl (%rsp), %eax
addl $0xffff7fcb, %eax       # imm = 0xFFFF7FCB
subl $0x2, %eax
jb 0x4eda1
jmp 0x4ec74
movl (%rsp), %eax
subl $0x8362, %eax           # imm = 0x8362
je 0x4ed8b
jmp 0x4ec84
movl (%rsp), %eax
addl $0xffff7c9d, %eax       # imm = 0xFFFF7C9D
subl $0x4, %eax
jb 0x4ed96
jmp 0x4ec97
movl (%rsp), %eax
addl $0xffff7c99, %eax       # imm = 0xFFFF7C99
subl $0x2, %eax
jb 0x4eda1
jmp 0x4ecaa
movl (%rsp), %eax
subl $0x84fa, %eax           # imm = 0x84FA
je 0x4eda1
jmp 0x4ecba
movl (%rsp), %eax
subl $0x8c3b, %eax           # imm = 0x8C3B
je 0x4eda1
jmp 0x4ecca
movl (%rsp), %eax
subl $0x8c3e, %eax           # imm = 0x8C3E
je 0x4eda1
jmp 0x4ecda
movl (%rsp), %eax
subl $0x8d9f, %eax           # imm = 0x8D9F
je 0x4edb7
jmp 0x4ecea
movl (%rsp), %eax
subl $0x8dad, %eax           # imm = 0x8DAD
je 0x4edac
jmp 0x4edc2
movq $0x0, 0x10(%rsp)
jmp 0x4ede8
movq $0x1, 0x10(%rsp)
jmp 0x4ede8
movq $0x1, 0x10(%rsp)
jmp 0x4ede8
movq $0x2, 0x10(%rsp)
jmp 0x4ede8
movq $0x2, 0x10(%rsp)
jmp 0x4ede8
movq $0x4, 0x10(%rsp)
jmp 0x4ede8
movq $0x4, 0x10(%rsp)
jmp 0x4ede8
movq $0x4, 0x10(%rsp)
jmp 0x4ede8
movq $0x2, 0x10(%rsp)
jmp 0x4ede8
movq $0x4, 0x10(%rsp)
jmp 0x4ede8
movq $0x8, 0x10(%rsp)
jmp 0x4ede8
movq $0x1, 0x10(%rsp)
jmp 0x4ede8
movq $0x2, 0x10(%rsp)
jmp 0x4ede8
movq $0x4, 0x10(%rsp)
jmp 0x4ede8
movq $0x8, 0x10(%rsp)
jmp 0x4ede8
movq $0x4, 0x10(%rsp)
jmp 0x4ede8
movq 0x8(%rsp), %rdi
leaq 0x34b7(%rip), %rsi      # 0x52285
leaq 0xf5b0(%rip), %rdx      # 0x5e385
movl $0xc1, %ecx
movb $0x0, %al
callq 0x11ae0
cltq
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)