Function at 0x1400c2d87
Capabilities:
Link many functions at runtime

Disassembly:
jmp 0x1402365b0
push rbx
sub rsp, 0x40
xor ebx, ebx
lea rax, str.libEGL.dll
cmp qword [0x1402ec8b8], rbx
lea rcx, str.EGL.dll
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rbx
je 0x1402365ec
lea eax, [rbx + 1]
add rsp, 0x40
pop rbx
ret
mov qword [rsp + 0x58], rsi
mov esi, ebx
mov qword [rsp + 0x60], rdi
mov rdi, rbx
nop dword [rax + rax]
mov rcx, rax
call fcn.1400c0cd5
mov qword [0x1402ec8b8], rax
mov rcx, rax
test rax, rax
jne 0x140236626
mov rax, qword [rsp + rdi*8 + 0x28]
inc rdi
inc esi
test rax, rax
jne 0x140236600
test rcx, rcx
jne 0x14023664e
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.1400c1b62
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
movsxd rcx, esi
lea rdx, [0x1402c359c]
mov r8d, 3
mov rcx, qword [rsp + rcx*8 + 0x20]
call qword [sym.imp.ucrtbased.dll_strncmp]
mov ecx, ebx
lea rdx, str.eglGetConfigAttrib
test eax, eax
sete cl
mov dword [0x1402ec878], ecx
mov rcx, qword [0x1402ec8b8]
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglGetConfigs
mov qword [0x1402ec8c0], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglGetDisplay
mov qword [0x1402ec8c8], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglGetError
mov qword [0x1402ec8d0], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglInitialize
mov qword [0x1402ec8d8], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglTerminate
mov qword [0x1402ec8e0], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglBindAPI
mov qword [0x1402ec8e8], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglCreateContext
mov qword [0x1402ec8f0], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglDestroySurface
mov qword [0x1402ec8f8], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglDestroyContext
mov qword [0x1402ec900], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglCreateWindowSurface
mov qword [0x1402ec908], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglMakeCurrent
mov qword [0x1402ec910], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglSwapBuffers
mov qword [0x1402ec918], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglSwapInterval
mov qword [0x1402ec920], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglQueryString
mov qword [0x1402ec928], rax
call fcn.1400c0811
mov rcx, qword [0x1402ec8b8]
lea rdx, str.eglGetProcAddress
mov qword [0x1402ec930], rax
call fcn.1400c0811
cmp qword [0x1402ec8c0], rbx
mov rcx, rax
mov qword [0x1402ec938], rax
je 0x140236c38
cmp qword [0x1402ec8c8], rbx
je 0x140236c38
cmp qword [0x1402ec8d0], rbx
je 0x140236c38
cmp qword [0x1402ec8d8], rbx
je 0x140236c38
cmp qword [0x1402ec8e0], rbx
je 0x140236c38
cmp qword [0x1402ec8e8], rbx
je 0x140236c38
cmp qword [0x1402ec8f0], rbx
je 0x140236c38
cmp qword [0x1402ec8f8], rbx
je 0x140236c38
cmp qword [0x1402ec900], rbx
je 0x140236c38
cmp qword [0x1402ec908], rbx
je 0x140236c38
cmp qword [0x1402ec910], rbx
je 0x140236c38
cmp qword [0x1402ec918], rbx
je 0x140236c38
cmp qword [0x1402ec920], rbx
je 0x140236c38
cmp qword [0x1402ec928], rbx
je 0x140236c38
mov rax, qword [0x1402ec930]
test rax, rax
je 0x140236c38
test rcx, rcx
je 0x140236c38
mov edx, 0x3055
xor ecx, ecx
call rax
mov rdi, rax
test rax, rax
je 0x140236912
call qword [0x1402ec8d8]
cmp eax, 0x3000
jne 0x140236912
mov dword [0x1402ec890], 1
jmp 0x14023691e
cmp dword [0x1402ec890], ebx
je 0x1402369c6
mov rdx, rdi
lea rcx, str.EGL_EXT_platform_base
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec894], eax
lea rcx, str.EGL_EXT_platform_x11
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec898], eax
lea rcx, str.EGL_EXT_platform_wayland
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec89c], eax
lea rcx, str.EGL_ANGLE_platform_angle
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec8a4], eax
lea rcx, str.EGL_ANGLE_platform_angle_opengl
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec8a8], eax
lea rcx, str.EGL_ANGLE_platform_angle_d3d
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec8ac], eax
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
call fcn.1400c2be3
mov rdx, rdi
mov dword [0x1402ec8b0], eax
lea rcx, str.EGL_ANGLE_platform_angle_metal
call fcn.1400c2be3
mov dword [0x1402ec8b4], eax
cmp dword [0x1402ec894], ebx
je 0x1402369f6
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x1402ec938]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [0x1402ec940], rax
call qword [0x1402ec938]
mov qword [0x1402ec948], rax
lea rcx, [rsp + 0x50]
call qword [0x1402eb0a8]
mov dword [0x1402ec860], eax
test eax, eax
je 0x140236a27
call qword [0x1402eb0b0]
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov ecx, dword [0x1402ec860]
call qword [0x1402ec940]
jmp 0x140236a36
call qword [0x1402eb0b0]
mov rcx, rax
call qword [0x1402ec8d0]
mov rcx, qword [rsp + 0x50]
mov qword [0x1402ec868], rax
call fcn.1400c1e05
mov rcx, qword [0x1402ec868]
test rcx, rcx
jne 0x140236a8b
call qword [0x1402ec8d8]
mov ecx, eax
call fcn.1402373f0
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.1400c1b62
call fcn.1400c0087
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
lea r8, [0x1402ec874]
lea rdx, [0x1402ec870]
call qword [0x1402ec8e0]
test eax, eax
jne 0x140236adb
call qword [0x1402ec8d8]
mov ecx, eax
call fcn.1402373f0
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.1400c1b62
call fcn.1400c0087
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
mov rcx, qword [0x1402ec868]
mov edx, 0x3055
call qword [0x1402ec930]
test rax, rax
je 0x140236b0a
mov rdx, rax
lea rcx, str.EGL_KHR_create_context
call fcn.1400c2be3
test eax, eax
mov eax, 1
jne 0x140236b0c
mov eax, ebx
mov rcx, qword [0x1402ec868]
mov edx, 0x3055
mov dword [0x1402ec87c], eax
call qword [0x1402ec930]
test rax, rax
je 0x140236b41
mov rdx, rax
lea rcx, str.EGL_KHR_create_context_no_error
call fcn.1400c2be3
test eax, eax
mov eax, 1
jne 0x140236b43
mov eax, ebx
mov rcx, qword [0x1402ec868]
mov edx, 0x3055
mov dword [0x1402ec880], eax
call qword [0x1402ec930]
test rax, rax
je 0x140236b78
mov rdx, rax
lea rcx, str.EGL_KHR_gl_colorspace
call fcn.1400c2be3
test eax, eax
mov eax, 1
jne 0x140236b7a
mov eax, ebx
mov rcx, qword [0x1402ec868]
mov edx, 0x3055
mov dword [0x1402ec884], eax
call qword [0x1402ec930]
test rax, rax
je 0x140236baf
mov rdx, rax
lea rcx, str.EGL_KHR_get_all_proc_addresses
call fcn.1400c2be3
test eax, eax
mov eax, 1
jne 0x140236bb1
mov eax, ebx
mov rcx, qword [0x1402ec868]
mov edx, 0x3055
mov dword [0x1402ec888], eax
call qword [0x1402ec930]
test rax, rax
je 0x140236be6
mov rdx, rax
lea rcx, str.EGL_KHR_context_flush_control
call fcn.1400c2be3
test eax, eax
mov eax, 1
jne 0x140236be8
mov eax, ebx
mov rcx, qword [0x1402ec868]
mov edx, 0x3055
mov dword [0x1402ec88c], eax
call qword [0x1402ec930]
test rax, rax
je 0x140236c1d
mov rdx, rax
lea rcx, str.EGL_EXT_present_opaque
call fcn.1400c2be3
test eax, eax
je 0x140236c1d
mov ebx, 1
mov rsi, qword [rsp + 0x58]
mov eax, 1
mov rdi, qword [rsp + 0x60]
mov dword [0x1402ec8a0], ebx
add rsp, 0x40
pop rbx
ret
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.1400c1b62
mov rcx, qword [0x1402ec868]
test rcx, rcx
je 0x140236c62
call qword [0x1402ec8e8]
mov qword [0x1402ec868], rbx
mov rcx, qword [0x1402ec8b8]
test rcx, rcx
je 0x140236c7a
call fcn.1400c13a6
mov qword [0x1402ec8b8], rbx
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret