// File: /workspace/github_c_makefile_star2_O0/k0n10pl4tr[P]minimal_crafter/glad.c
// Function: find_coreGL
static void find_coreGL(void) {

    /* Thank you @elmindreda
     * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176
     * https://github.com/glfw/glfw/blob/master/src/context.c#L36
     */
    int i, major, minor;

    const char* version;
    const char* prefixes[] = {
        "OpenGL ES-CM ",
        "OpenGL ES-CL ",
        "OpenGL ES ",
        NULL
    };

    version = (const char*) glGetString(GL_VERSION);
    if (!version) return;

    for (i = 0;  prefixes[i];  i++) {
        const size_t length = strlen(prefixes[i]);
        if (strncmp(version, prefixes[i], length) == 0) {
            version += length;
            break;
        }
    }

/* PR #18 */
#ifdef _MSC_VER
    sscanf_s(version, "%d.%d", &major, &minor);
#else
    sscanf(version, "%d.%d", &major, &minor);
#endif

    GLVersion.major = major; GLVersion.minor = minor;
    max_loaded_major = major; max_loaded_minor = minor;
	GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
	GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
	GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
	GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
	GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
	GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
	GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
	GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
	GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
	GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
	GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
	GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
	if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) {
		max_loaded_major = 3;
		max_loaded_minor = 3;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq 0x99b1(%rip), %rax      # 0xcda0
movq %rax, -0x40(%rbp)
movq 0x99ae(%rip), %rax      # 0xcda8
movq %rax, -0x38(%rbp)
movq 0x99ab(%rip), %rax      # 0xcdb0
movq %rax, -0x30(%rbp)
movq 0x99a8(%rip), %rax      # 0xcdb8
movq %rax, -0x28(%rbp)
movl $0x1f02, %edi           # imm = 0x1F02
callq *0xabf9(%rip)           # 0xe018
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x342f
jmp 0x36e3
movl $0x0, -0x4(%rbp)
movslq -0x4(%rbp), %rax
cmpq $0x0, -0x40(%rbp,%rax,8)
je 0x348a
movslq -0x4(%rbp), %rax
movq -0x40(%rbp,%rax,8), %rdi
callq 0x21a0
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x4(%rbp), %rax
movq -0x40(%rbp,%rax,8), %rsi
movq -0x48(%rbp), %rdx
callq 0x2100
cmpl $0x0, %eax
jne 0x347d
movq -0x48(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x348a
jmp 0x347f
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3436
movq -0x18(%rbp), %rdi
leaq 0x5de3(%rip), %rsi      # 0x9278
leaq -0x8(%rbp), %rdx
leaq -0xc(%rbp), %rcx
movb $0x0, %al
callq 0x20c0
movl -0x8(%rbp), %eax
movl %eax, 0xa683(%rip)      # 0xdb30
movl -0xc(%rbp), %eax
movl %eax, 0xa67e(%rip)      # 0xdb34
movl -0x8(%rbp), %eax
movl %eax, 0xb259(%rip)      # 0xe718
movl -0xc(%rbp), %eax
movl %eax, 0xb254(%rip)      # 0xe71c
cmpl $0x1, -0x8(%rbp)
jne 0x34d9
movb $0x1, %al
cmpl $0x0, -0xc(%rbp)
movb %al, -0x49(%rbp)
jge 0x34e3
cmpl $0x1, -0x8(%rbp)
setg %al
movb %al, -0x49(%rbp)
movb -0x49(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa647(%rip)      # 0xdb38
cmpl $0x1, -0x8(%rbp)
jne 0x3502
movb $0x1, %al
cmpl $0x1, -0xc(%rbp)
movb %al, -0x4a(%rbp)
jge 0x350c
cmpl $0x1, -0x8(%rbp)
setg %al
movb %al, -0x4a(%rbp)
movb -0x4a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa622(%rip)      # 0xdb3c
cmpl $0x1, -0x8(%rbp)
jne 0x352b
movb $0x1, %al
cmpl $0x2, -0xc(%rbp)
movb %al, -0x4b(%rbp)
jge 0x3535
cmpl $0x1, -0x8(%rbp)
setg %al
movb %al, -0x4b(%rbp)
movb -0x4b(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa5fd(%rip)      # 0xdb40
cmpl $0x1, -0x8(%rbp)
jne 0x3554
movb $0x1, %al
cmpl $0x3, -0xc(%rbp)
movb %al, -0x4c(%rbp)
jge 0x355e
cmpl $0x1, -0x8(%rbp)
setg %al
movb %al, -0x4c(%rbp)
movb -0x4c(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa5d8(%rip)      # 0xdb44
cmpl $0x1, -0x8(%rbp)
jne 0x357d
movb $0x1, %al
cmpl $0x4, -0xc(%rbp)
movb %al, -0x4d(%rbp)
jge 0x3587
cmpl $0x1, -0x8(%rbp)
setg %al
movb %al, -0x4d(%rbp)
movb -0x4d(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa5b3(%rip)      # 0xdb48
cmpl $0x1, -0x8(%rbp)
jne 0x35a6
movb $0x1, %al
cmpl $0x5, -0xc(%rbp)
movb %al, -0x4e(%rbp)
jge 0x35b0
cmpl $0x1, -0x8(%rbp)
setg %al
movb %al, -0x4e(%rbp)
movb -0x4e(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa58e(%rip)      # 0xdb4c
cmpl $0x2, -0x8(%rbp)
jne 0x35cf
movb $0x1, %al
cmpl $0x0, -0xc(%rbp)
movb %al, -0x4f(%rbp)
jge 0x35d9
cmpl $0x2, -0x8(%rbp)
setg %al
movb %al, -0x4f(%rbp)
movb -0x4f(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa569(%rip)      # 0xdb50
cmpl $0x2, -0x8(%rbp)
jne 0x35f8
movb $0x1, %al
cmpl $0x1, -0xc(%rbp)
movb %al, -0x50(%rbp)
jge 0x3602
cmpl $0x2, -0x8(%rbp)
setg %al
movb %al, -0x50(%rbp)
movb -0x50(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa544(%rip)      # 0xdb54
cmpl $0x3, -0x8(%rbp)
jne 0x3621
movb $0x1, %al
cmpl $0x0, -0xc(%rbp)
movb %al, -0x51(%rbp)
jge 0x362b
cmpl $0x3, -0x8(%rbp)
setg %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa51f(%rip)      # 0xdb58
cmpl $0x3, -0x8(%rbp)
jne 0x364a
movb $0x1, %al
cmpl $0x1, -0xc(%rbp)
movb %al, -0x52(%rbp)
jge 0x3654
cmpl $0x3, -0x8(%rbp)
setg %al
movb %al, -0x52(%rbp)
movb -0x52(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa4fa(%rip)      # 0xdb5c
cmpl $0x3, -0x8(%rbp)
jne 0x3673
movb $0x1, %al
cmpl $0x2, -0xc(%rbp)
movb %al, -0x53(%rbp)
jge 0x367d
cmpl $0x3, -0x8(%rbp)
setg %al
movb %al, -0x53(%rbp)
movb -0x53(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa4d5(%rip)      # 0xdb60
cmpl $0x3, -0x8(%rbp)
jne 0x369c
movb $0x1, %al
cmpl $0x3, -0xc(%rbp)
movb %al, -0x54(%rbp)
jge 0x36a6
cmpl $0x3, -0x8(%rbp)
setg %al
movb %al, -0x54(%rbp)
movb -0x54(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xa4b0(%rip)      # 0xdb64
cmpl $0x3, 0xa475(%rip)      # 0xdb30
jg 0x36cf
cmpl $0x3, 0xa46c(%rip)      # 0xdb30
jl 0x36e3
cmpl $0x3, 0xa467(%rip)      # 0xdb34
jl 0x36e3
movl $0x3, 0xb03f(%rip)      # 0xe718
movl $0x3, 0xb039(%rip)      # 0xe71c
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)