Function at 0x140016ab0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x14007e000]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor ebx, ebx
lea rax, str.libEGL.dll
cmp qword [0x140080d18], rbx
lea rcx, str.EGL.dll
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rbx
je 0x140016b08
lea eax, [rbx + 1]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14001e740
add rsp, 0x50
pop rbx
ret
mov qword [rsp + 0x60], rsi
mov esi, ebx
mov qword [rsp + 0x68], rdi
mov rdi, rbx
mov rcx, rax
call sub.KERNEL32.dll_LoadLibraryA
mov qword [0x140080d18], rax
mov rcx, rax
test rax, rax
jne 0x140016b3d
mov rax, qword [rsp + rdi*8 + 0x30]
inc rdi
inc esi
test rax, rax
jne 0x140016b17
test rcx, rcx
jne 0x140016b58
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.1400088e0
jmp 0x14001715b
movsxd rcx, esi
lea rdx, [0x1400644a0]
mov r8d, 3
mov rcx, qword [rsp + rcx*8 + 0x28]
call fcn.140028110
mov ecx, ebx
lea rdx, str.eglGetConfigAttrib
test eax, eax
sete cl
mov dword [0x140080cd8], ecx
mov rcx, qword [0x140080d18]
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglGetConfigs
mov qword [0x140080d20], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglGetDisplay
mov qword [0x140080d28], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglGetError
mov qword [0x140080d30], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglInitialize
mov qword [0x140080d38], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglTerminate
mov qword [0x140080d40], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglBindAPI
mov qword [0x140080d48], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglCreateContext
mov qword [0x140080d50], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglDestroySurface
mov qword [0x140080d58], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglDestroyContext
mov qword [0x140080d60], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglCreateWindowSurface
mov qword [0x140080d68], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglMakeCurrent
mov qword [0x140080d70], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglSwapBuffers
mov qword [0x140080d78], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglSwapInterval
mov qword [0x140080d80], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglQueryString
mov qword [0x140080d88], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140080d18]
lea rdx, str.eglGetProcAddress
mov qword [0x140080d90], rax
call sub.KERNEL32.dll_GetProcAddress
cmp qword [0x140080d20], rbx
mov rcx, rax
mov qword [0x140080d98], rax
je 0x140017119
cmp qword [0x140080d28], rbx
je 0x140017119
cmp qword [0x140080d30], rbx
je 0x140017119
cmp qword [0x140080d38], rbx
je 0x140017119
cmp qword [0x140080d40], rbx
je 0x140017119
cmp qword [0x140080d48], rbx
je 0x140017119
cmp qword [0x140080d50], rbx
je 0x140017119
cmp qword [0x140080d58], rbx
je 0x140017119
cmp qword [0x140080d60], rbx
je 0x140017119
cmp qword [0x140080d68], rbx
je 0x140017119
cmp qword [0x140080d70], rbx
je 0x140017119
cmp qword [0x140080d78], rbx
je 0x140017119
cmp qword [0x140080d80], rbx
je 0x140017119
cmp qword [0x140080d88], rbx
je 0x140017119
mov rax, qword [0x140080d90]
test rax, rax
je 0x140017119
test rcx, rcx
je 0x140017119
mov edx, 0x3055
xor ecx, ecx
call rax
mov rdi, rax
test rax, rax
je 0x140016e1b
call qword [0x140080d38]
cmp eax, 0x3000
jne 0x140016e1b
mov dword [0x140080cf0], 1
jmp 0x140016e27
cmp dword [0x140080cf0], ebx
je 0x140016ecf
mov rdx, rdi
lea rcx, str.EGL_EXT_platform_base
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080cf4], eax
lea rcx, str.EGL_EXT_platform_x11
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080cf8], eax
lea rcx, str.EGL_EXT_platform_wayland
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080cfc], eax
lea rcx, str.EGL_ANGLE_platform_angle
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080d04], eax
lea rcx, str.EGL_ANGLE_platform_angle_opengl
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080d08], eax
lea rcx, str.EGL_ANGLE_platform_angle_d3d
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080d0c], eax
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
call fcn.14000c530
mov rdx, rdi
mov dword [0x140080d10], eax
lea rcx, str.EGL_ANGLE_platform_angle_metal
call fcn.14000c530
mov dword [0x140080d14], eax
cmp dword [0x140080cf4], ebx
je 0x140016eff
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x140080d98]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [0x140080da0], rax
call qword [0x140080d98]
mov qword [0x140080da8], rax
lea rcx, [rsp + 0x20]
call qword [0x14007f508]
mov dword [0x140080cc0], eax
test eax, eax
je 0x140016f30
call qword [0x14007f510]
mov r8, qword [rsp + 0x20]
mov rdx, rax
mov ecx, dword [0x140080cc0]
call qword [0x140080da0]
jmp 0x140016f3f
call qword [0x14007f510]
mov rcx, rax
call qword [0x140080d30]
mov rcx, qword [rsp + 0x20]
mov qword [0x140080cc8], rax
call fcn.140008df0
mov rcx, qword [0x140080cc8]
test rcx, rcx
jne 0x140016f87
call qword [0x140080d38]
mov ecx, eax
call fcn.140017600
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.1400088e0
call fcn.140017180
jmp 0x14001715b
lea r8, [0x140080cd4]
lea rdx, [0x140080cd0]
call qword [0x140080d40]
test eax, eax
jne 0x140016fca
call qword [0x140080d38]
mov ecx, eax
call fcn.140017600
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.1400088e0
call fcn.140017180
jmp 0x14001715b
mov rcx, qword [0x140080cc8]
mov edx, 0x3055
call qword [0x140080d90]
test rax, rax
je 0x140016ff9
mov rdx, rax
lea rcx, str.EGL_KHR_create_context
call fcn.14000c530
test eax, eax
mov eax, 1
jne 0x140016ffb
mov eax, ebx
mov rcx, qword [0x140080cc8]
mov edx, 0x3055
mov dword [0x140080cdc], eax
call qword [0x140080d90]
test rax, rax
je 0x140017030
mov rdx, rax
lea rcx, str.EGL_KHR_create_context_no_error
call fcn.14000c530
test eax, eax
mov eax, 1
jne 0x140017032
mov eax, ebx
mov rcx, qword [0x140080cc8]
mov edx, 0x3055
mov dword [0x140080ce0], eax
call qword [0x140080d90]
test rax, rax
je 0x140017067
mov rdx, rax
lea rcx, str.EGL_KHR_gl_colorspace
call fcn.14000c530
test eax, eax
mov eax, 1
jne 0x140017069
mov eax, ebx
mov rcx, qword [0x140080cc8]
mov edx, 0x3055
mov dword [0x140080ce4], eax
call qword [0x140080d90]
test rax, rax
je 0x14001709e
mov rdx, rax
lea rcx, str.EGL_KHR_get_all_proc_addresses
call fcn.14000c530
test eax, eax
mov eax, 1
jne 0x1400170a0
mov eax, ebx
mov rcx, qword [0x140080cc8]
mov edx, 0x3055
mov dword [0x140080ce8], eax
call qword [0x140080d90]
test rax, rax
je 0x1400170d5
mov rdx, rax
lea rcx, str.EGL_KHR_context_flush_control
call fcn.14000c530
test eax, eax
mov eax, 1
jne 0x1400170d7
mov eax, ebx
mov rcx, qword [0x140080cc8]
mov edx, 0x3055
mov dword [0x140080cec], eax
call qword [0x140080d90]
test rax, rax
je 0x14001710c
mov rdx, rax
lea rcx, str.EGL_EXT_present_opaque
call fcn.14000c530
test eax, eax
je 0x14001710c
mov ebx, 1
mov dword [0x140080d00], ebx
mov eax, 1
jmp 0x14001715d
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.1400088e0
mov rcx, qword [0x140080cc8]
test rcx, rcx
je 0x140017143
call qword [0x140080d48]
mov qword [0x140080cc8], rbx
mov rcx, qword [0x140080d18]
test rcx, rcx
je 0x14001715b
call fcn.14000c850
mov qword [0x140080d18], rbx
xor eax, eax
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14001e740
add rsp, 0x50
pop rbx
ret