Function at 0x14002de20
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, qword [0x14006d9c0]
lea rax, str.EGL.dll
lea rsi, str.libEGL.dll
movq xmm1, rax
mov eax, 1
movq xmm0, rsi
punpcklqdq xmm0, xmm1
cmp qword [rbx + 0x2628], 0
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
je 0x14002de71
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rdi, [rsp + 0x20]
mov rbp, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
jmp 0x14002de90
add rdi, 8
mov rsi, qword [rdi]
test rsi, rsi
je 0x14002e1c0
mov rcx, rsi
call rbp
test rax, rax
mov qword [rbx + 0x2628], rax
je 0x14002de80
lea rdi, [0x14006c7eb]
mov ecx, 3
repe cmpsb byte [rsi], byte [rdi]
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
seta dl
sbb dl, 0
test dl, dl
sete dl
movzx edx, dl
mov dword [rbx + 0x2608], edx
lea rdx, str.eglGetConfigAttrib
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglGetConfigs
mov qword [rbx + 0x2630], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglGetDisplay
mov qword [rbx + 0x2638], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglGetError
mov qword [rbx + 0x2640], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglInitialize
mov qword [rbx + 0x2648], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglTerminate
mov qword [rbx + 0x2650], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglBindAPI
mov qword [rbx + 0x2658], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglCreateContext
mov qword [rbx + 0x2660], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglDestroySurface
mov qword [rbx + 0x2668], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglDestroyContext
mov qword [rbx + 0x2670], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglCreateWindowSurface
mov qword [rbx + 0x2678], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglMakeCurrent
mov qword [rbx + 0x2680], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglSwapBuffers
mov qword [rbx + 0x2688], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglSwapInterval
mov qword [rbx + 0x2690], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglQueryString
mov qword [rbx + 0x2698], rax
call rsi
mov rcx, qword [rbx + 0x2628]
lea rdx, str.eglGetProcAddress
mov qword [rbx + 0x26a0], rax
call rsi
cmp qword [rbx + 0x2630], 0
mov qword [rbx + 0x26a8], rax
je 0x14002e160
cmp qword [rbx + 0x2638], 0
je 0x14002e160
mov rdx, qword [rbx + 0x2640]
test rdx, rdx
je 0x14002e160
cmp qword [rbx + 0x2648], 0
je 0x14002e160
cmp qword [rbx + 0x2650], 0
je 0x14002e160
cmp qword [rbx + 0x2658], 0
je 0x14002e160
cmp qword [rbx + 0x2660], 0
je 0x14002e160
cmp qword [rbx + 0x2668], 0
je 0x14002e160
cmp qword [rbx + 0x2670], 0
je 0x14002e160
cmp qword [rbx + 0x2678], 0
je 0x14002e160
cmp qword [rbx + 0x2680], 0
je 0x14002e160
cmp qword [rbx + 0x2688], 0
je 0x14002e160
cmp qword [rbx + 0x2690], 0
je 0x14002e160
cmp qword [rbx + 0x2698], 0
je 0x14002e160
cmp qword [rbx + 0x26a0], 0
je 0x14002e160
test rax, rax
je 0x14002e160
xor ecx, ecx
call rdx
test rax, rax
mov qword [rbx + 0x25f8], rax
je 0x14002e3d8
lea r8, [rbx + 0x2604]
mov rcx, rax
lea rdx, [rbx + 0x2600]
call qword [rbx + 0x2650]
test eax, eax
jne 0x14002e290
call qword [rbx + 0x2648]
sub eax, 0x3000
cmp eax, 0xe
ja case.default.0x14002e158
lea rdx, [0x14006c8ec]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call sym._glfwInputError
mov rcx, qword [rbx + 0x25f8]
test rcx, rcx
je 0x14002e18e
call qword [rbx + 0x2658]
mov qword [rbx + 0x25f8], 0
mov rcx, qword [rbx + 0x2628]
test rcx, rcx
je 0x14002e1ab
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbx + 0x2628], 0
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call sym._glfwInputError
xor eax, eax
jmp 0x14002de68
lea r8, str.An_EGLSurface_argument_does_not_name_a_valid_surface_configured_for_GL_rendering
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call sym._glfwInputError
mov rcx, qword [rbx + 0x25f8]
test rcx, rcx
jne 0x14002e17d
jmp 0x14002e18e
lea r8, str.One_or_more_argument_values_are_invalid
jmp 0x14002e1df
lea r8, str.A_NativeWindowType_argument_does_not_refer_to_a_valid_native_window
jmp 0x14002e1df
lea r8, str.A_NativePixmapType_argument_does_not_refer_to_a_valid_native_pixmap
jmp 0x14002e1df
lea r8, str.Arguments_are_inconsistent
jmp 0x14002e1df
lea r8, str.An_EGLDisplay_argument_does_not_name_a_valid_EGL_display_connection
jmp 0x14002e1df
lea r8, str.The_current_surface_of_the_calling_thread_is_a_window__pixel_buffer_or_pixmap_that_is_no_longer_valid
jmp 0x14002e1df
lea r8, str.An_EGLContext_argument_does_not_name_a_valid_EGL_rendering_context
jmp 0x14002e1df
lea r8, str.An_EGLConfig_argument_does_not_name_a_valid_EGL_frame_buffer_configuration
jmp 0x14002e1df
lea r8, str.An_unrecognized_attribute_or_attribute_value_was_passed_in_the_attribute_list
jmp 0x14002e1df
lea r8, str.EGL_failed_to_allocate_resources_for_the_requested_operation
jmp 0x14002e1df
lea r8, str.EGL_cannot_access_a_requested_resource
jmp 0x14002e1df
lea r8, str.EGL_is_not_or_could_not_be_initialized
jmp 0x14002e1df
lea r8, str.Success
jmp 0x14002e1df
lea r8, str.The_application_must_destroy_all_contexts_and_reinitialise
jmp 0x14002e1df
mov rcx, qword [rbx + 0x25f8]
mov edx, 0x3055
call qword [rbx + 0x26a0]
xor ecx, ecx
test rax, rax
je 0x14002e2bf
lea rcx, str.EGL_KHR_create_context
mov rdx, rax
call sym._glfwStringInExtensionString
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbx + 0x260c], ecx
mov edx, 0x3055
mov rcx, qword [rbx + 0x25f8]
call qword [rbx + 0x26a0]
xor ecx, ecx
test rax, rax
je 0x14002e2f4
lea rcx, str.EGL_KHR_create_context_no_error
mov rdx, rax
call sym._glfwStringInExtensionString
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbx + 0x2610], ecx
mov edx, 0x3055
mov rcx, qword [rbx + 0x25f8]
call qword [rbx + 0x26a0]
xor ecx, ecx
test rax, rax
je 0x14002e329
lea rcx, str.EGL_KHR_gl_colorspace
mov rdx, rax
call sym._glfwStringInExtensionString
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbx + 0x2614], ecx
mov edx, 0x3055
mov rcx, qword [rbx + 0x25f8]
call qword [rbx + 0x26a0]
xor ecx, ecx
test rax, rax
je 0x14002e35e
lea rcx, str.EGL_KHR_get_all_proc_addresses
mov rdx, rax
call sym._glfwStringInExtensionString
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbx + 0x2618], ecx
mov edx, 0x3055
mov rcx, qword [rbx + 0x25f8]
call qword [rbx + 0x26a0]
xor ecx, ecx
test rax, rax
je 0x14002e393
lea rcx, str.EGL_KHR_context_flush_control
mov rdx, rax
call sym._glfwStringInExtensionString
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbx + 0x261c], ecx
mov edx, 0x3055
mov rcx, qword [rbx + 0x25f8]
call qword [rbx + 0x26a0]
xor ecx, ecx
test rax, rax
je 0x14002e3c8
lea rcx, str.EGL_EXT_present_opaque
mov rdx, rax
call sym._glfwStringInExtensionString
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbx + 0x2620], ecx
mov eax, 1
jmp 0x14002de68
call qword [rbx + 0x2648]
sub eax, 0x3000
cmp eax, 0xe
ja case.default.0x14002e3fa
lea rdx, [0x14006c928]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
jmp 0x14002e1df
lea r8, str.An_EGLSurface_argument_does_not_name_a_valid_surface_configured_for_GL_rendering
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
jmp 0x14002e1e6
lea r8, str.One_or_more_argument_values_are_invalid
jmp 0x14002e40f
lea r8, str.A_NativeWindowType_argument_does_not_refer_to_a_valid_native_window
jmp 0x14002e40f
lea r8, str.A_NativePixmapType_argument_does_not_refer_to_a_valid_native_pixmap
jmp 0x14002e40f
lea r8, str.Arguments_are_inconsistent
jmp 0x14002e40f
lea r8, str.An_EGLDisplay_argument_does_not_name_a_valid_EGL_display_connection
jmp 0x14002e40f
lea r8, str.The_current_surface_of_the_calling_thread_is_a_window__pixel_buffer_or_pixmap_that_is_no_longer_valid
jmp 0x14002e40f
lea r8, str.An_EGLContext_argument_does_not_name_a_valid_EGL_rendering_context
jmp 0x14002e40f
lea r8, str.An_EGLConfig_argument_does_not_name_a_valid_EGL_frame_buffer_configuration
jmp 0x14002e40f
lea r8, str.An_unrecognized_attribute_or_attribute_value_was_passed_in_the_attribute_list
jmp 0x14002e40f
lea r8, str.EGL_failed_to_allocate_resources_for_the_requested_operation
jmp 0x14002e40f
lea r8, str.EGL_cannot_access_a_requested_resource
jmp 0x14002e40f
lea r8, str.EGL_is_not_or_could_not_be_initialized
jmp 0x14002e40f
lea r8, str.Success
jmp 0x14002e40f
lea r8, str.The_application_must_destroy_all_contexts_and_reinitialise
jmp 0x14002e40f
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
jmp 0x14002e40f