// File: /workspace/github_c_makefile_star2_O2/jonof[P]jftekwar/jfbuild/src/glbuild.c
// Function: glbuild_loadfunctions
int glbuild_loadfunctions(void)
{
	int err=0;

	INIT_PROC(PFNGLCLEARCOLORPROC, glClearColor);
	INIT_PROC(PFNGLCLEARPROC, glClear);
	INIT_PROC(PFNGLCOLORMASKPROC, glColorMask);
	INIT_PROC(PFNGLBLENDFUNCPROC, glBlendFunc);
	INIT_PROC(PFNGLCULLFACEPROC, glCullFace);
	INIT_PROC(PFNGLFRONTFACEPROC, glFrontFace);
	INIT_PROC(PFNGLPOLYGONOFFSETPROC, glPolygonOffset);
#if (USE_OPENGL != USE_GLES2)
	INIT_PROC(PFNGLPOLYGONMODEPROC, glPolygonMode);
#endif
	INIT_PROC(PFNGLENABLEPROC, glEnable);
	INIT_PROC(PFNGLDISABLEPROC, glDisable);
	INIT_PROC(PFNGLGETFLOATVPROC, glGetFloatv);
	INIT_PROC(PFNGLGETINTEGERVPROC, glGetIntegerv);
	INIT_PROC(PFNGLGETSTRINGPROC, glGetString);
#if (USE_OPENGL == USE_GL3)
	INIT_PROC(PFNGLGETSTRINGIPROC, glGetStringi);
#endif
	INIT_PROC(PFNGLGETERRORPROC, glGetError);
	INIT_PROC(PFNGLHINTPROC, glHint);
	INIT_PROC(PFNGLPIXELSTOREIPROC, glPixelStorei);
	INIT_PROC(PFNGLVIEWPORTPROC, glViewport);
	INIT_PROC(PFNGLSCISSORPROC, glScissor);
#if (USE_OPENGL != USE_GLES2)
	INIT_PROC_SOFT(PFNGLMINSAMPLESHADINGARBPROC, glMinSampleShadingARB);
#endif

	// Depth
	INIT_PROC(PFNGLDEPTHFUNCPROC, glDepthFunc);
	INIT_PROC(PFNGLDEPTHMASKPROC, glDepthMask);
#if (USE_OPENGL == USE_GLES2)
	INIT_PROC(PFNGLDEPTHRANGEFPROC, glDepthRangef);
#else
	INIT_PROC(PFNGLDEPTHRANGEPROC, glDepthRange);
#endif

	// Raster funcs
	INIT_PROC(PFNGLREADPIXELSPROC, glReadPixels);

	// Texture mapping
	INIT_PROC(PFNGLGENTEXTURESPROC, glGenTextures);
	INIT_PROC(PFNGLDELETETEXTURESPROC, glDeleteTextures);
	INIT_PROC(PFNGLBINDTEXTUREPROC, glBindTexture);
	INIT_PROC(PFNGLTEXIMAGE2DPROC, glTexImage2D);
	INIT_PROC(PFNGLTEXSUBIMAGE2DPROC, glTexSubImage2D);
	INIT_PROC(PFNGLTEXPARAMETERFPROC, glTexParameterf);
	INIT_PROC(PFNGLTEXPARAMETERIPROC, glTexParameteri);
	INIT_PROC_SOFT(PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D);

	// Buffer objects
	INIT_PROC(PFNGLBINDBUFFERPROC, glBindBuffer);
	INIT_PROC(PFNGLBUFFERDATAPROC, glBufferData);
	INIT_PROC(PFNGLBUFFERSUBDATAPROC, glBufferSubData);
	INIT_PROC(PFNGLDELETEBUFFERSPROC, glDeleteBuffers);
	INIT_PROC(PFNGLGENBUFFERSPROC, glGenBuffers);
	INIT_PROC(PFNGLDRAWELEMENTSPROC, glDrawElements);
	INIT_PROC(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray);
	INIT_PROC(PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray);
	INIT_PROC(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);
#if (USE_OPENGL == USE_GL3)
    INIT_PROC(PFNGLBINDVERTEXARRAYPROC, glBindVertexArray);
    INIT_PROC(PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays);
    INIT_PROC(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays);
#endif

	// Shaders
	INIT_PROC(PFNGLACTIVETEXTUREPROC, glActiveTexture);
	INIT_PROC(PFNGLATTACHSHADERPROC, glAttachShader);
	INIT_PROC(PFNGLCOMPILESHADERPROC, glCompileShader);
	INIT_PROC(PFNGLCREATEPROGRAMPROC, glCreateProgram);
	INIT_PROC(PFNGLCREATESHADERPROC, glCreateShader);
	INIT_PROC(PFNGLDELETEPROGRAMPROC, glDeleteProgram);
	INIT_PROC(PFNGLDELETESHADERPROC, glDeleteShader);
	INIT_PROC(PFNGLDETACHSHADERPROC, glDetachShader);
	INIT_PROC(PFNGLGETATTRIBLOCATIONPROC, glGetAttribLocation);
	INIT_PROC(PFNGLGETPROGRAMIVPROC, glGetProgramiv);
	INIT_PROC(PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog);
	INIT_PROC(PFNGLGETSHADERIVPROC, glGetShaderiv);
	INIT_PROC(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog);
	INIT_PROC(PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation);
	INIT_PROC(PFNGLLINKPROGRAMPROC, glLinkProgram);
	INIT_PROC(PFNGLSHADERSOURCEPROC, glShaderSource);
	INIT_PROC(PFNGLUNIFORM1IPROC, glUniform1i);
	INIT_PROC(PFNGLUNIFORM1FPROC, glUniform1f);
	INIT_PROC(PFNGLUNIFORM2FPROC, glUniform2f);
	INIT_PROC(PFNGLUNIFORM3FPROC, glUniform3f);
	INIT_PROC(PFNGLUNIFORM4FPROC, glUniform4f);
	INIT_PROC(PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv);
	INIT_PROC(PFNGLUSEPROGRAMPROC, glUseProgram);

#if defined(GL_KHR_debug)
	#if (USE_OPENGL == USE_GLES2)
	INIT_PROC_SOFT(PFNGLDEBUGMESSAGECALLBACKKHRPROC, glDebugMessageCallbackKHR);
	#else
	INIT_PROC_SOFT(PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback);
	#endif
#endif
#if defined(GL_ARB_debug_output)
	INIT_PROC_SOFT(PFNGLDEBUGMESSAGECALLBACKARBPROC, glDebugMessageCallbackARB);
#endif

	if (err) glbuild_unloadfunctions();
	return err;
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
leaq 0x4(%rsp), %rbx
andl $0x0, (%rbx)
leaq 0x29581(%rip), %rdi     # 0x6e5cf
pushq $0x1
popq %rbp
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae6de(%rip)    # 0x5f3740
leaq 0x29573(%rip), %rdi     # 0x6e5dc
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae6ce(%rip)    # 0x5f3748
leaq 0x29563(%rip), %rdi     # 0x6e5e4
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae6be(%rip)    # 0x5f3750
leaq 0x29557(%rip), %rdi     # 0x6e5f0
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae6ae(%rip)    # 0x5f3758
leaq 0x2954b(%rip), %rdi     # 0x6e5fc
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae69e(%rip)    # 0x5f3760
leaq 0x2953e(%rip), %rdi     # 0x6e607
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae68e(%rip)    # 0x5f3768
leaq 0x29532(%rip), %rdi     # 0x6e613
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae67e(%rip)    # 0x5f3770
leaq 0x2952a(%rip), %rdi     # 0x6e623
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae66e(%rip)    # 0x5f3778
leaq 0x29520(%rip), %rdi     # 0x6e631
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae65e(%rip)    # 0x5f3780
leaq 0x29511(%rip), %rdi     # 0x6e63a
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae64e(%rip)    # 0x5f3788
leaq 0x29503(%rip), %rdi     # 0x6e644
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae63e(%rip)    # 0x5f3790
leaq 0x294f7(%rip), %rdi     # 0x6e650
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae62e(%rip)    # 0x5f3798
leaq 0x294ed(%rip), %rdi     # 0x6e65e
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae61e(%rip)    # 0x5f37a0
leaq 0x294e1(%rip), %rdi     # 0x6e66a
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae60e(%rip)    # 0x5f37a8
leaq 0x294d4(%rip), %rdi     # 0x6e675
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae5fe(%rip)    # 0x5f37b0
leaq 0x294c3(%rip), %rdi     # 0x6e67c
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae5ee(%rip)    # 0x5f37b8
leaq 0x294b9(%rip), %rdi     # 0x6e68a
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae5de(%rip)    # 0x5f37c0
leaq 0x294ac(%rip), %rdi     # 0x6e695
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae5ce(%rip)    # 0x5f37c8
leaq 0x2949e(%rip), %rdi     # 0x6e69f
movl %ebp, %esi
callq 0x63a6c
movq %rax, 0x5ae5c1(%rip)    # 0x5f37d0
leaq 0x2949f(%rip), %rdi     # 0x6e6b5
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae5b1(%rip)    # 0x5f37d8
leaq 0x29493(%rip), %rdi     # 0x6e6c1
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae5a1(%rip)    # 0x5f37e0
leaq 0x29487(%rip), %rdi     # 0x6e6cd
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae591(%rip)    # 0x5f37e8
leaq 0x2947c(%rip), %rdi     # 0x6e6da
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae581(%rip)    # 0x5f37f0
leaq 0x29471(%rip), %rdi     # 0x6e6e7
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae571(%rip)    # 0x5f37f8
leaq 0x29467(%rip), %rdi     # 0x6e6f5
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae561(%rip)    # 0x5f3800
leaq 0x29460(%rip), %rdi     # 0x6e706
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae551(%rip)    # 0x5f3808
leaq 0x29456(%rip), %rdi     # 0x6e714
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae541(%rip)    # 0x5f3810
leaq 0x2944b(%rip), %rdi     # 0x6e721
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae531(%rip)    # 0x5f3818
leaq 0x29443(%rip), %rdi     # 0x6e731
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae521(%rip)    # 0x5f3820
leaq 0x2943b(%rip), %rdi     # 0x6e741
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae511(%rip)    # 0x5f3828
leaq 0x29433(%rip), %rdi     # 0x6e751
movl %ebp, %esi
callq 0x63a6c
movq %rax, 0x5ae504(%rip)    # 0x5f3830
leaq 0x29435(%rip), %rdi     # 0x6e768
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae4f4(%rip)    # 0x5f3838
leaq 0x2942a(%rip), %rdi     # 0x6e775
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae4e4(%rip)    # 0x5f3840
leaq 0x2941f(%rip), %rdi     # 0x6e782
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae4d4(%rip)    # 0x5f3848
leaq 0x29417(%rip), %rdi     # 0x6e792
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae4c4(%rip)    # 0x5f3850
leaq 0x2940f(%rip), %rdi     # 0x6e7a2
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae4b4(%rip)    # 0x5f3858
leaq 0x29404(%rip), %rdi     # 0x6e7af
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae4a4(%rip)    # 0x5f3860
leaq 0x293fb(%rip), %rdi     # 0x6e7be
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae494(%rip)    # 0x5f3868
leaq 0x293fd(%rip), %rdi     # 0x6e7d8
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae484(%rip)    # 0x5f3870
leaq 0x29400(%rip), %rdi     # 0x6e7f3
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae474(%rip)    # 0x5f3878
leaq 0x293fe(%rip), %rdi     # 0x6e809
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae464(%rip)    # 0x5f3880
leaq 0x293f6(%rip), %rdi     # 0x6e819
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae454(%rip)    # 0x5f3888
leaq 0x293ed(%rip), %rdi     # 0x6e828
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae444(%rip)    # 0x5f3890
leaq 0x293e5(%rip), %rdi     # 0x6e838
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae434(%rip)    # 0x5f3898
leaq 0x293dd(%rip), %rdi     # 0x6e848
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae424(%rip)    # 0x5f38a0
leaq 0x293d4(%rip), %rdi     # 0x6e857
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae414(%rip)    # 0x5f38a8
leaq 0x293cc(%rip), %rdi     # 0x6e867
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae404(%rip)    # 0x5f38b0
leaq 0x293c3(%rip), %rdi     # 0x6e876
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae3f4(%rip)    # 0x5f38b8
leaq 0x293ba(%rip), %rdi     # 0x6e885
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae3e4(%rip)    # 0x5f38c0
leaq 0x293b6(%rip), %rdi     # 0x6e899
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae3d4(%rip)    # 0x5f38c8
leaq 0x293ad(%rip), %rdi     # 0x6e8a8
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae3c4(%rip)    # 0x5f38d0
leaq 0x293a9(%rip), %rdi     # 0x6e8bc
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae3b4(%rip)    # 0x5f38d8
leaq 0x2939f(%rip), %rdi     # 0x6e8ca
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae3a4(%rip)    # 0x5f38e0
leaq 0x2939a(%rip), %rdi     # 0x6e8dd
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae394(%rip)    # 0x5f38e8
leaq 0x29397(%rip), %rdi     # 0x6e8f2
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae384(%rip)    # 0x5f38f0
leaq 0x2938d(%rip), %rdi     # 0x6e900
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae374(%rip)    # 0x5f38f8
leaq 0x29384(%rip), %rdi     # 0x6e90f
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae364(%rip)    # 0x5f3900
leaq 0x29378(%rip), %rdi     # 0x6e91b
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae354(%rip)    # 0x5f3908
leaq 0x2936c(%rip), %rdi     # 0x6e927
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae344(%rip)    # 0x5f3910
leaq 0x29360(%rip), %rdi     # 0x6e933
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae334(%rip)    # 0x5f3918
leaq 0x29354(%rip), %rdi     # 0x6e93f
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae324(%rip)    # 0x5f3920
leaq 0x29348(%rip), %rdi     # 0x6e94b
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae314(%rip)    # 0x5f3928
leaq 0x29343(%rip), %rdi     # 0x6e95e
movq %rbx, %rsi
movl %ebp, %edx
callq 0x45b6a
movq %rax, 0x5ae304(%rip)    # 0x5f3930
leaq 0x29338(%rip), %rdi     # 0x6e96b
movl %ebp, %esi
callq 0x63a6c
movq %rax, 0x5ae2f7(%rip)    # 0x5f3938
leaq 0x2933a(%rip), %rdi     # 0x6e982
movl %ebp, %esi
callq 0x63a6c
movq %rax, 0x5ae2ea(%rip)    # 0x5f3940
movl (%rbx), %ebx
testl %ebx, %ebx
je 0x4566f
leaq 0x5ae0dd(%rip), %rdi    # 0x5f3740
movl $0x208, %edx            # imm = 0x208
xorl %esi, %esi
callq 0x62f0
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq