// File: /workspace/github_c_makefile_star2_O3/stetre[P]moongl/src/uniform.c
// Function: Uniform
static int Uniform(lua_State *L)
    {
    GLint location = luaL_checkinteger(L, 1);
    GLenum type = checkuniformtype(L, 2);
#define arg_first 3
    switch(type)
        {
        case NONGL_BOOLEAN: return Uniform_b(L, location, arg_first);
        case GL_INT: return Uniform_i(L, location, arg_first);
        case GL_UNSIGNED_INT: return Uniform_ui(L, location, arg_first);
        case GL_FLOAT: return Uniform_f(L, location, arg_first);
        case GL_DOUBLE: return Uniform_d(L, location, arg_first);
        default:
            return luaL_error(L, UNEXPECTED_ERROR);
        }
    return 0;
#undef arg_first
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movl $0x1, %esi
callq 0x11af0
movq %rax, %r14
movq %rbx, %rdi
movl $0x34, %esi
movl $0x2, %edx
callq 0x11150
leal -0x1404(%rax), %ecx
cmpl $0x6, %ecx
ja 0x3a944
leaq 0x1112e(%rip), %rax     # 0x4ba0c
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3baf0
cmpl $0x4, %eax
jg 0x3aa83
movl %eax, %ebp
testl %eax, %eax
jle 0x3a922
movl %ebp, %r15d
xorl %r12d, %r12d
leal 0x3(%r12), %esi
movq %rbx, %rdi
callq 0x11af0
movl %eax, (%rsp,%r12,4)
incq %r12
cmpq %r12, %r15
jne 0x3a909
decl %ebp
cmpl $0x4, %ebp
jb 0x3a991
leaq 0x4955(%rip), %rsi      # 0x3f285
leaq 0xfbc4(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x45, %ecx
jmp 0x3ab49
testl %eax, %eax
jne 0x3a99f
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3baf0
cmpl $0x4, %eax
jg 0x3aa83
movl %eax, %ebp
testl %eax, %eax
jle 0x3a986
movl %ebp, %r15d
xorl %r12d, %r12d
leal 0x3(%r12), %esi
movq %rbx, %rdi
callq 0x11500
movzbl %al, %eax
movl %eax, (%rsp,%r12,4)
incq %r12
cmpq %r12, %r15
jne 0x3a96a
decl %ebp
cmpl $0x4, %ebp
jae 0x3ab33
movl %ebp, %eax
leaq 0x1b316(%rip), %rcx     # 0x55cb0
jmp 0x3aace
leaq 0x48df(%rip), %rsi      # 0x3f285
leaq 0xfb4e(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x57, %ecx
xorl %eax, %eax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x11ae0
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3baf0
cmpl $0x4, %eax
jg 0x3aa83
movl %eax, %ebp
testl %eax, %eax
jle 0x3aa09
movl %ebp, %r15d
xorl %r12d, %r12d
leal 0x3(%r12), %esi
movq %rbx, %rdi
callq 0x11a80
cvtsd2ss %xmm0, %xmm0
movss %xmm0, (%rsp,%r12,4)
incq %r12
cmpq %r12, %r15
jne 0x3a9ea
decl %ebp
cmpl $0x4, %ebp
jae 0x3aaeb
movl %ebp, %eax
leaq 0x1b2d3(%rip), %rcx     # 0x55cf0
jmp 0x3aace
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3baf0
cmpl $0x4, %eax
jg 0x3aa83
movl %eax, %ebp
testl %eax, %eax
jle 0x3aa5b
movl %ebp, %r15d
xorl %r12d, %r12d
leal 0x3(%r12), %esi
movq %rbx, %rdi
callq 0x11a80
movsd %xmm0, (%rsp,%r12,8)
incq %r12
cmpq %r12, %r15
jne 0x3aa40
decl %ebp
cmpl $0x4, %ebp
jae 0x3ab03
movl %ebp, %eax
leaq 0x1b2a1(%rip), %rcx     # 0x55d10
jmp 0x3aace
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3baf0
cmpl $0x4, %eax
jle 0x3aa99
leaq 0x4af4(%rip), %rsi      # 0x3f57e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x11ae0
jmp 0x3ab50
movl %eax, %ebp
testl %eax, %eax
jle 0x3aabe
movl %ebp, %r15d
xorl %r12d, %r12d
leal 0x3(%r12), %esi
movq %rbx, %rdi
callq 0x11af0
movl %eax, (%rsp,%r12,4)
incq %r12
cmpq %r12, %r15
jne 0x3aaa5
decl %ebp
cmpl $0x4, %ebp
jae 0x3ab1b
movl %ebp, %eax
leaq 0x1b202(%rip), %rcx     # 0x55cd0
movq (%rcx,%rax,8), %rax
movq %rsp, %rdx
movl %r14d, %edi
movl $0x1, %esi
callq *(%rax)
movq %rbx, %rdi
callq 0x11870
xorl %eax, %eax
jmp 0x3ab50
leaq 0x4793(%rip), %rsi      # 0x3f285
leaq 0xfa02(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x47, %ecx
jmp 0x3ab49
leaq 0x477b(%rip), %rsi      # 0x3f285
leaq 0xf9ea(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x48, %ecx
jmp 0x3ab49
leaq 0x4763(%rip), %rsi      # 0x3f285
leaq 0xf9d2(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x46, %ecx
jmp 0x3ab49
leaq 0x474b(%rip), %rsi      # 0x3f285
leaq 0xf9ba(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x44, %ecx
xorl %eax, %eax
callq 0x11ae0
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq