Function at 0x140016830
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140184020]
xor rax, rsp
mov qword [rsp + 0x38], rax
xor edi, edi
lea rax, str.libEGL.dll
cmp qword [0x140206290], rdi
lea rcx, str.EGL.dll
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdi
je 0x140016883
lea eax, [rdi + 1]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14000b290
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x50], rbx
mov rbx, rdi
mov qword [rsp + 0x58], rsi
mov esi, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140206290], rax
test rax, rax
jne 0x1400168cc
mov rax, qword [rsp + rbx*8 + 0x28]
inc rbx
inc esi
test rax, rax
jne 0x140016892
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.14000e6f0
jmp 0x140016d85
movsxd rcx, esi
lea rdx, [0x14005e590]
mov r8d, 3
mov rcx, qword [rsp + rcx*8 + 0x20]
call fcn.14002c380
mov ecx, edi
lea rdx, str.eglGetConfigAttrib
test eax, eax
sete cl
mov dword [0x140206270], ecx
mov rcx, qword [0x140206290]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglGetConfigs
mov qword [0x140206298], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglGetDisplay
mov qword [0x1402062a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglGetError
mov qword [0x1402062a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglInitialize
mov qword [0x1402062b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglTerminate
mov qword [0x1402062b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglBindAPI
mov qword [0x1402062c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglCreateContext
mov qword [0x1402062c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglDestroySurface
mov qword [0x1402062d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglDestroyContext
mov qword [0x1402062d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglCreateWindowSurface
mov qword [0x1402062e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglMakeCurrent
mov qword [0x1402062e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglSwapBuffers
mov qword [0x1402062f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglSwapInterval
mov qword [0x1402062f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglQueryString
mov qword [0x140206300], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140206290]
lea rdx, str.eglGetProcAddress
mov qword [0x140206308], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x140206298], rdi
mov qword [0x140206310], rax
je 0x140016d42
cmp qword [0x1402062a0], rdi
je 0x140016d42
mov rdx, qword [0x1402062a8]
test rdx, rdx
je 0x140016d42
cmp qword [0x1402062b0], rdi
je 0x140016d42
cmp qword [0x1402062b8], rdi
je 0x140016d42
cmp qword [0x1402062c0], rdi
je 0x140016d42
cmp qword [0x1402062c8], rdi
je 0x140016d42
cmp qword [0x1402062d0], rdi
je 0x140016d42
cmp qword [0x1402062d8], rdi
je 0x140016d42
cmp qword [0x1402062e0], rdi
je 0x140016d42
cmp qword [0x1402062e8], rdi
je 0x140016d42
cmp qword [0x1402062f0], rdi
je 0x140016d42
cmp qword [0x1402062f8], rdi
je 0x140016d42
cmp qword [0x140206300], rdi
je 0x140016d42
cmp qword [0x140206308], rdi
je 0x140016d42
test rax, rax
je 0x140016d42
xor ecx, ecx
call rdx
mov qword [0x140206260], rax
test rax, rax
jne 0x140016bad
call qword [0x1402062b0]
mov ecx, eax
call fcn.1400171e0
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.14000e6f0
call fcn.140016db0
jmp 0x140016d85
lea r8, [0x14020626c]
mov rcx, rax
lea rdx, [0x140206268]
call qword [0x1402062b8]
test eax, eax
jne 0x140016bf3
call qword [0x1402062b0]
mov ecx, eax
call fcn.1400171e0
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.14000e6f0
call fcn.140016db0
jmp 0x140016d85
mov rcx, qword [0x140206260]
mov edx, 0x3055
call qword [0x140206308]
test rax, rax
je 0x140016c22
mov rdx, rax
lea rcx, str.EGL_KHR_create_context
call fcn.14000cc50
test eax, eax
mov eax, 1
jne 0x140016c24
mov eax, edi
mov rcx, qword [0x140206260]
mov edx, 0x3055
mov dword [0x140206274], eax
call qword [0x140206308]
test rax, rax
je 0x140016c59
mov rdx, rax
lea rcx, str.EGL_KHR_create_context_no_error
call fcn.14000cc50
test eax, eax
mov eax, 1
jne 0x140016c5b
mov eax, edi
mov rcx, qword [0x140206260]
mov edx, 0x3055
mov dword [0x140206278], eax
call qword [0x140206308]
test rax, rax
je 0x140016c90
mov rdx, rax
lea rcx, str.EGL_KHR_gl_colorspace
call fcn.14000cc50
test eax, eax
mov eax, 1
jne 0x140016c92
mov eax, edi
mov rcx, qword [0x140206260]
mov edx, 0x3055
mov dword [0x14020627c], eax
call qword [0x140206308]
test rax, rax
je 0x140016cc7
mov rdx, rax
lea rcx, str.EGL_KHR_get_all_proc_addresses
call fcn.14000cc50
test eax, eax
mov eax, 1
jne 0x140016cc9
mov eax, edi
mov rcx, qword [0x140206260]
mov edx, 0x3055
mov dword [0x140206280], eax
call qword [0x140206308]
test rax, rax
je 0x140016cfe
mov rdx, rax
lea rcx, str.EGL_KHR_context_flush_control
call fcn.14000cc50
test eax, eax
mov eax, 1
jne 0x140016d00
mov eax, edi
mov rcx, qword [0x140206260]
mov edx, 0x3055
mov dword [0x140206284], eax
call qword [0x140206308]
test rax, rax
je 0x140016d35
mov rdx, rax
lea rcx, str.EGL_EXT_present_opaque
call fcn.14000cc50
test eax, eax
je 0x140016d35
mov edi, 1
mov dword [0x140206288], edi
mov eax, 1
jmp 0x140016d87
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.14000e6f0
mov rcx, qword [0x140206260]
test rcx, rcx
je 0x140016d6c
call qword [0x1402062c0]
mov qword [0x140206260], rdi
mov rcx, qword [0x140206290]
test rcx, rcx
je 0x140016d85
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x140206290], rdi
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14000b290
add rsp, 0x40
pop rdi
ret