Function at 0x14003a6c0
Capabilities:
Link many functions at runtime

Disassembly:
push rsi
sub rsp, 0x50
mov rax, qword [0x1400cf028]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor esi, esi
lea rax, str.libEGL.dll
cmp qword [0x1400d5358], rsi
lea rcx, str.EGL.dll
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rsi
je 0x14003a718
lea eax, [rsi + 1]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14002d570
add rsp, 0x50
pop rsi
ret
mov qword [rsp + 0x60], rbx
mov rbx, rsi
mov qword [rsp + 0x68], rdi
mov edi, esi
mov rcx, rax
call sub.KERNEL32.dll_LoadLibraryA
mov qword [0x1400d5358], rax
test rax, rax
jne 0x14003a760
mov rax, qword [rsp + rbx*8 + 0x30]
inc rbx
inc edi
test rax, rax
jne 0x14003a727
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.1400314b0
jmp 0x14003ac61
movsxd rcx, edi
lea rdx, [0x140074b50]
mov r8d, 3
mov rcx, qword [rsp + rcx*8 + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov rcx, qword [0x1400d5358]
lea rdx, str.eglGetConfigAttrib
test eax, eax
sete sil
mov dword [0x1400d5318], esi
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglGetConfigs
mov qword [0x1400d5360], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglGetDisplay
mov qword [0x1400d5368], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglGetError
mov qword [0x1400d5370], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglInitialize
mov qword [0x1400d5378], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglTerminate
mov qword [0x1400d5380], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglBindAPI
mov qword [0x1400d5388], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglCreateContext
mov qword [0x1400d5390], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglDestroySurface
mov qword [0x1400d5398], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglDestroyContext
mov qword [0x1400d53a0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglCreateWindowSurface
mov qword [0x1400d53a8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglMakeCurrent
mov qword [0x1400d53b0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglSwapBuffers
mov qword [0x1400d53b8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglSwapInterval
mov qword [0x1400d53c0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglQueryString
mov qword [0x1400d53c8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400d5358]
lea rdx, str.eglGetProcAddress
mov qword [0x1400d53d0], rax
call sub.KERNEL32.dll_GetProcAddress
cmp qword [0x1400d5360], 0
mov rcx, rax
mov qword [0x1400d53d8], rax
je 0x14003ac4b
cmp qword [0x1400d5368], 0
je 0x14003ac4b
cmp qword [0x1400d5370], 0
je 0x14003ac4b
cmp qword [0x1400d5378], 0
je 0x14003ac4b
cmp qword [0x1400d5380], 0
je 0x14003ac4b
cmp qword [0x1400d5388], 0
je 0x14003ac4b
cmp qword [0x1400d5390], 0
je 0x14003ac4b
cmp qword [0x1400d5398], 0
je 0x14003ac4b
cmp qword [0x1400d53a0], 0
je 0x14003ac4b
cmp qword [0x1400d53a8], 0
je 0x14003ac4b
cmp qword [0x1400d53b0], 0
je 0x14003ac4b
cmp qword [0x1400d53b8], 0
je 0x14003ac4b
cmp qword [0x1400d53c0], 0
je 0x14003ac4b
cmp qword [0x1400d53c8], 0
je 0x14003ac4b
mov rax, qword [0x1400d53d0]
test rax, rax
je 0x14003ac4b
test rcx, rcx
je 0x14003ac4b
mov edx, 0x3055
xor ecx, ecx
call rax
mov rbx, rax
test rax, rax
je 0x14003aa31
call qword [0x1400d5378]
cmp eax, 0x3000
jne 0x14003aa31
mov dword [0x1400d5330], 1
jmp 0x14003aa3e
cmp dword [0x1400d5330], 0
je 0x14003aae6
mov rdx, rbx
lea rcx, str.EGL_EXT_platform_base
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d5334], eax
lea rcx, str.EGL_EXT_platform_x11
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d5338], eax
lea rcx, str.EGL_EXT_platform_wayland
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d533c], eax
lea rcx, str.EGL_ANGLE_platform_angle
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d5344], eax
lea rcx, str.EGL_ANGLE_platform_angle_opengl
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d5348], eax
lea rcx, str.EGL_ANGLE_platform_angle_d3d
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d534c], eax
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
call fcn.140036460
mov rdx, rbx
mov dword [0x1400d5350], eax
lea rcx, str.EGL_ANGLE_platform_angle_metal
call fcn.140036460
mov dword [0x1400d5354], eax
cmp dword [0x1400d5334], 0
je 0x14003ab17
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x1400d53d8]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [0x1400d53e0], rax
call qword [0x1400d53d8]
mov qword [0x1400d53e8], rax
lea rcx, [rsp + 0x20]
call qword [0x1400d3b48]
mov dword [0x1400d5300], eax
test eax, eax
je 0x14003ab48
call qword [0x1400d3b50]
mov r8, qword [rsp + 0x20]
mov rdx, rax
mov ecx, dword [0x1400d5300]
call qword [0x1400d53e0]
jmp 0x14003ab57
call qword [0x1400d3b50]
mov rcx, rax
call qword [0x1400d5370]
mov rcx, qword [rsp + 0x20]
mov qword [0x1400d5308], rax
call fcn.1400319d0
mov rcx, qword [0x1400d5308]
test rcx, rcx
jne 0x14003ab9a
call qword [0x1400d5378]
mov ecx, eax
call fcn.14003b0d0
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.1400314b0
jmp 0x14003ac5c
lea r8, [0x1400d5314]
lea rdx, [0x1400d5310]
call qword [0x1400d5380]
test eax, eax
jne 0x14003abd8
call qword [0x1400d5378]
mov ecx, eax
call fcn.14003b0d0
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.1400314b0
jmp 0x14003ac5c
lea rcx, str.EGL_KHR_create_context
call fcn.14003b060
lea rcx, str.EGL_KHR_create_context_no_error
mov dword [0x1400d531c], eax
call fcn.14003b060
lea rcx, str.EGL_KHR_gl_colorspace
mov dword [0x1400d5320], eax
call fcn.14003b060
lea rcx, str.EGL_KHR_get_all_proc_addresses
mov dword [0x1400d5324], eax
call fcn.14003b060
lea rcx, str.EGL_KHR_context_flush_control
mov dword [0x1400d5328], eax
call fcn.14003b060
lea rcx, str.EGL_EXT_present_opaque
mov dword [0x1400d532c], eax
call fcn.14003b060
mov dword [0x1400d5340], eax
mov eax, 1
jmp 0x14003ac63
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.1400314b0
call fcn.14003ac80
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14002d570
add rsp, 0x50
pop rsi
ret