// File: /workspace/github_c_makefile_star2_O1/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 0x11160
leal -0x1404(%rax), %ecx
cmpl $0x6, %ecx
ja 0x3a898
leaq 0x111da(%rip), %rax     # 0x4ba0c
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3ba44
cmpl $0x4, %eax
jg 0x3a9d7
movl %eax, %ebp
testl %eax, %eax
jle 0x3a876
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 0x3a85d
decl %ebp
cmpl $0x4, %ebp
jb 0x3a8e5
leaq 0x4a01(%rip), %rsi      # 0x3f285
leaq 0xfc70(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x45, %ecx
jmp 0x3aa9d
testl %eax, %eax
jne 0x3a8f3
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3ba44
cmpl $0x4, %eax
jg 0x3a9d7
movl %eax, %ebp
testl %eax, %eax
jle 0x3a8da
movl %ebp, %r15d
xorl %r12d, %r12d
leal 0x3(%r12), %esi
movq %rbx, %rdi
callq 0x11510
movzbl %al, %eax
movl %eax, (%rsp,%r12,4)
incq %r12
cmpq %r12, %r15
jne 0x3a8be
decl %ebp
cmpl $0x4, %ebp
jae 0x3aa87
movl %ebp, %eax
leaq 0x1b3c2(%rip), %rcx     # 0x55cb0
jmp 0x3aa22
leaq 0x498b(%rip), %rsi      # 0x3f285
leaq 0xfbfa(%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 0x3ba44
cmpl $0x4, %eax
jg 0x3a9d7
movl %eax, %ebp
testl %eax, %eax
jle 0x3a95d
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 0x3a93e
decl %ebp
cmpl $0x4, %ebp
jae 0x3aa3f
movl %ebp, %eax
leaq 0x1b37f(%rip), %rcx     # 0x55cf0
jmp 0x3aa22
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3ba44
cmpl $0x4, %eax
jg 0x3a9d7
movl %eax, %ebp
testl %eax, %eax
jle 0x3a9af
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 0x3a994
decl %ebp
cmpl $0x4, %ebp
jae 0x3aa57
movl %ebp, %eax
leaq 0x1b34d(%rip), %rcx     # 0x55d10
jmp 0x3aa22
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3ba44
cmpl $0x4, %eax
jle 0x3a9ed
leaq 0x4ba0(%rip), %rsi      # 0x3f57e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x11ae0
jmp 0x3aaa4
movl %eax, %ebp
testl %eax, %eax
jle 0x3aa12
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 0x3a9f9
decl %ebp
cmpl $0x4, %ebp
jae 0x3aa6f
movl %ebp, %eax
leaq 0x1b2ae(%rip), %rcx     # 0x55cd0
movq (%rcx,%rax,8), %rax
movq %rsp, %rdx
movl %r14d, %edi
movl $0x1, %esi
callq *(%rax)
movq %rbx, %rdi
callq 0x11880
xorl %eax, %eax
jmp 0x3aaa4
leaq 0x483f(%rip), %rsi      # 0x3f285
leaq 0xfaae(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x47, %ecx
jmp 0x3aa9d
leaq 0x4827(%rip), %rsi      # 0x3f285
leaq 0xfa96(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x48, %ecx
jmp 0x3aa9d
leaq 0x480f(%rip), %rsi      # 0x3f285
leaq 0xfa7e(%rip), %rdx      # 0x4a4fb
movq %rbx, %rdi
movl $0x46, %ecx
jmp 0x3aa9d
leaq 0x47f7(%rip), %rsi      # 0x3f285
leaq 0xfa66(%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