Function at 0x2e3c45400
Capabilities:
Link many functions at runtime

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, qword [0x2e3f0b050]
lea rax, str.EGL.dll
mov r13d, 1
mov r12, qword [rbx + 0x2660]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
test r12, r12
je 0x2e3c45450
mov eax, r13d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rbp, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdi, [rsp + 0x20]
lea rsi, str.libEGL.dll
jmp 0x2e3c45479
mov rsi, qword [rdi + 8]
add rdi, 8
test rsi, rsi
je 0x2e3c458f8
mov rcx, rsi
call rbp
mov qword [rbx + 0x2660], rax
mov rcx, rax
test rax, rax
je 0x2e3c45468
movzx eax, byte [rsi]
sub eax, 0x6c
je 0x2e3c458d8
test eax, eax
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.eglGetConfigAttrib
sete al
movzx eax, al
mov dword [rbx + 0x2620], eax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglGetConfigs
mov qword [rbx + 0x2668], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglGetDisplay
mov qword [rbx + 0x2670], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglGetError
mov qword [rbx + 0x2678], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglInitialize
mov qword [rbx + 0x2680], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglTerminate
mov qword [rbx + 0x2688], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglBindAPI
mov qword [rbx + 0x2690], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglCreateContext
mov qword [rbx + 0x2698], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglDestroySurface
mov qword [rbx + 0x26a0], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglDestroyContext
mov qword [rbx + 0x26a8], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglCreateWindowSurface
mov qword [rbx + 0x26b0], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglMakeCurrent
mov qword [rbx + 0x26b8], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglSwapBuffers
mov qword [rbx + 0x26c0], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglSwapInterval
mov qword [rbx + 0x26c8], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglQueryString
mov qword [rbx + 0x26d0], rax
call rsi
mov rcx, qword [rbx + 0x2660]
lea rdx, str.eglGetProcAddress
mov qword [rbx + 0x26d8], rax
call rsi
cmp qword [rbx + 0x2668], 0
mov qword [rbx + 0x26e0], rax
je 0x2e3c45870
cmp qword [rbx + 0x2670], 0
je 0x2e3c45870
cmp qword [rbx + 0x2678], 0
je 0x2e3c45870
cmp qword [rbx + 0x2680], 0
je 0x2e3c45870
cmp qword [rbx + 0x2688], 0
je 0x2e3c45870
cmp qword [rbx + 0x2690], 0
je 0x2e3c45870
cmp qword [rbx + 0x2698], 0
je 0x2e3c45870
cmp qword [rbx + 0x26a0], 0
je 0x2e3c45870
cmp qword [rbx + 0x26a8], 0
je 0x2e3c45870
cmp qword [rbx + 0x26b0], 0
je 0x2e3c45870
cmp qword [rbx + 0x26b8], 0
je 0x2e3c45870
cmp qword [rbx + 0x26c0], 0
je 0x2e3c45870
cmp qword [rbx + 0x26c8], 0
je 0x2e3c45870
cmp qword [rbx + 0x26d0], 0
je 0x2e3c45870
mov r8, qword [rbx + 0x26d8]
test rax, rax
je 0x2e3c45870
test r8, r8
je 0x2e3c45870
mov edx, 0x3055
xor ecx, ecx
call r8
mov r13, rax
test rax, rax
je 0x2e3c45717
call qword [rbx + 0x2680]
cmp eax, 0x3000
je 0x2e3c459a1
mov r9d, dword [rbx + 0x2638]
test r9d, r9d
jne 0x2e3c459ab
mov esi, dword [rbx + 0x263c]
test esi, esi
je 0x2e3c45759
lea rcx, str.eglGetPlatformDisplayEXT
call qword [rbx + 0x26e0]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [rbx + 0x26e8], rax
call qword [rbx + 0x26e0]
mov qword [rbx + 0x26f0], rax
mov r8d, dword [rbx + 0x2648]
test r8d, r8d
je 0x2e3c45911
mov ecx, dword [rbx + 0x264c]
test ecx, ecx
je 0x2e3c4578c
mov eax, dword [rbx + 0xc]
cmp eax, 0x37002
je 0x2e3c45ab5
cmp eax, 0x37003
je 0x2e3c45abf
mov edx, dword [rbx + 0x2650]
test edx, edx
je 0x2e3c45a5a
mov eax, dword [rbx + 0xc]
cmp eax, 0x37004
je 0x2e3c45aab
mov esi, 0x3208
cmp eax, 0x37005
jne 0x2e3c45a5a
mov edx, 4
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, qword [rbx + 0x16c8]
mov dword [rbx + 0x2608], 0x3202
mov dword [rax + 4], esi
mov r12, rax
mov rsi, qword [rbx + 0x26e8]
mov dword [rax], 0x3203
mov dword [rax + 8], 0x3038
call qword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [rbx + 0x2608]
mov r8, r12
mov rdx, rax
call rsi
mov r13, rax
mov rcx, r12
mov qword [rbx + 0x2610], r13
call sub.msvcrt.dll_free
test r13, r13
je 0x2e3c45a80
lea r8, [rbx + 0x261c]
lea rdx, [rbx + 0x2618]
mov rcx, r13
call qword [rbx + 0x2688]
test eax, eax
jne 0x2e3c4593c
call qword [rbx + 0x2680]
xor r13d, r13d
mov ecx, eax
call fcn.2e3c41dc0
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
mov r8, rax
call fcn.2e3c320f0
call fcn.2e3c43790
jmp 0x2e3c4543a
mov ecx, 0x10008
lea rdx, str.EGL:_Failed_to_load_required_entry_points
call fcn.2e3c320f0
mov rcx, qword [rbx + 0x2610]
test rcx, rcx
je 0x2e3c4589e
call qword [rbx + 0x2690]
mov qword [rbx + 0x2610], 0
mov rcx, qword [rbx + 0x2660]
xor r13d, r13d
test rcx, rcx
je 0x2e3c4543a
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, r13d
mov qword [rbx + 0x2660], 0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
movzx eax, byte [rsi + 1]
sub eax, 0x69
jne 0x2e3c45499
movzx eax, byte [rsi + 2]
sub eax, 0x62
jmp 0x2e3c45499
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
xor r13d, r13d
call fcn.2e3c320f0
jmp 0x2e3c4543a
mov rsi, qword [rbx + 0x2678]
mov rcx, qword [rbx + 0x16c8]
mov dword [rbx + 0x2608], 0
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call rsi
mov r13, rax
jmp 0x2e3c45809
lea rcx, str.EGL_KHR_create_context
mov r13d, 1
call fcn.2e3c42030
lea rcx, str.EGL_KHR_create_context_no_error
mov dword [rbx + 0x2624], eax
call fcn.2e3c42030
lea rcx, str.EGL_KHR_gl_colorspace
mov dword [rbx + 0x2628], eax
call fcn.2e3c42030
lea rcx, str.EGL_KHR_get_all_proc_addresses
mov dword [rbx + 0x262c], eax
call fcn.2e3c42030
lea rcx, str.EGL_KHR_context_flush_control
mov dword [rbx + 0x2630], eax
call fcn.2e3c42030
mov dword [rbx + 0x2634], eax
jmp 0x2e3c4543a
mov dword [rbx + 0x2638], 1
mov rdx, r13
lea rcx, str.EGL_EXT_platform_base
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_EXT_platform_x11
mov dword [rbx + 0x263c], eax
mov esi, eax
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_EXT_platform_wayland
mov dword [rbx + 0x2640], eax
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_ANGLE_platform_angle
mov dword [rbx + 0x2644], eax
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_ANGLE_platform_angle_opengl
mov dword [rbx + 0x2648], eax
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_ANGLE_platform_angle_d3d
mov dword [rbx + 0x264c], eax
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
mov dword [rbx + 0x2650], eax
call fcn.2e3c31ed0
mov rdx, r13
lea rcx, str.EGL_ANGLE_platform_angle_metal
mov dword [rbx + 0x2654], eax
call fcn.2e3c31ed0
mov dword [rbx + 0x2658], eax
jmp 0x2e3c4572d
mov eax, dword [rbx + 0x2654]
test eax, eax
je 0x2e3c45911
cmp dword [rbx + 0xc], 0x37007
jne 0x2e3c45911
mov esi, 0x3450
jmp 0x2e3c457b8
call qword [rbx + 0x2680]
mov ecx, eax
call fcn.2e3c41dc0
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
mov r8, rax
call fcn.2e3c320f0
call fcn.2e3c43790
jmp 0x2e3c4543a
mov esi, 0x3207
jmp 0x2e3c457b8
mov esi, 0x320d
jmp 0x2e3c457b8
mov esi, 0x320e
jmp 0x2e3c457b8