Function at 0x140097090
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x40
xor ebx, ebx
lea rax, str.libEGL.dll
cmp qword [0x1400fde68], 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 0x1400970cc
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 sub.KERNEL32.dll_LoadLibraryA
mov qword [0x1400fde68], rax
mov rcx, rax
test rax, rax
jne 0x140097106
mov rax, qword [rsp + rdi*8 + 0x28]
inc rdi
inc esi
test rax, rax
jne 0x1400970e0
test rcx, rcx
jne 0x14009712e
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.14008d220
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
movsxd rcx, esi
lea rdx, [0x1400d0b40]
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 [0x1400fde28], ecx
mov rcx, qword [0x1400fde68]
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglGetConfigs
mov qword [0x1400fde70], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglGetDisplay
mov qword [0x1400fde78], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglGetError
mov qword [0x1400fde80], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglInitialize
mov qword [0x1400fde88], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglTerminate
mov qword [0x1400fde90], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglBindAPI
mov qword [0x1400fde98], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglCreateContext
mov qword [0x1400fdea0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglDestroySurface
mov qword [0x1400fdea8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglDestroyContext
mov qword [0x1400fdeb0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglCreateWindowSurface
mov qword [0x1400fdeb8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglMakeCurrent
mov qword [0x1400fdec0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglSwapBuffers
mov qword [0x1400fdec8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglSwapInterval
mov qword [0x1400fded0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglQueryString
mov qword [0x1400fded8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x1400fde68]
lea rdx, str.eglGetProcAddress
mov qword [0x1400fdee0], rax
call sub.KERNEL32.dll_GetProcAddress
cmp qword [0x1400fde70], rbx
mov rcx, rax
mov qword [0x1400fdee8], rax
je 0x140097718
cmp qword [0x1400fde78], rbx
je 0x140097718
cmp qword [0x1400fde80], rbx
je 0x140097718
cmp qword [0x1400fde88], rbx
je 0x140097718
cmp qword [0x1400fde90], rbx
je 0x140097718
cmp qword [0x1400fde98], rbx
je 0x140097718
cmp qword [0x1400fdea0], rbx
je 0x140097718
cmp qword [0x1400fdea8], rbx
je 0x140097718
cmp qword [0x1400fdeb0], rbx
je 0x140097718
cmp qword [0x1400fdeb8], rbx
je 0x140097718
cmp qword [0x1400fdec0], rbx
je 0x140097718
cmp qword [0x1400fdec8], rbx
je 0x140097718
cmp qword [0x1400fded0], rbx
je 0x140097718
cmp qword [0x1400fded8], rbx
je 0x140097718
mov rax, qword [0x1400fdee0]
test rax, rax
je 0x140097718
test rcx, rcx
je 0x140097718
mov edx, 0x3055
xor ecx, ecx
call rax
mov rdi, rax
test rax, rax
je 0x1400973f2
call qword [0x1400fde88]
cmp eax, 0x3000
jne 0x1400973f2
mov dword [0x1400fde40], 1
jmp 0x1400973fe
cmp dword [0x1400fde40], ebx
je 0x1400974a6
mov rdx, rdi
lea rcx, str.EGL_EXT_platform_base
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde44], eax
lea rcx, str.EGL_EXT_platform_x11
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde48], eax
lea rcx, str.EGL_EXT_platform_wayland
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde4c], eax
lea rcx, str.EGL_ANGLE_platform_angle
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde54], eax
lea rcx, str.EGL_ANGLE_platform_angle_opengl
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde58], eax
lea rcx, str.EGL_ANGLE_platform_angle_d3d
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde5c], eax
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
call fcn.14008b380
mov rdx, rdi
mov dword [0x1400fde60], eax
lea rcx, str.EGL_ANGLE_platform_angle_metal
call fcn.14008b380
mov dword [0x1400fde64], eax
cmp dword [0x1400fde44], ebx
je 0x1400974d6
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x1400fdee8]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [0x1400fdef0], rax
call qword [0x1400fdee8]
mov qword [0x1400fdef8], rax
lea rcx, [rsp + 0x50]
call qword [0x1400fc658]
mov dword [0x1400fde10], eax
test eax, eax
je 0x140097507
call qword [0x1400fc660]
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov ecx, dword [0x1400fde10]
call qword [0x1400fdef0]
jmp 0x140097516
call qword [0x1400fc660]
mov rcx, rax
call qword [0x1400fde80]
mov rcx, qword [rsp + 0x50]
mov qword [0x1400fde18], rax
call fcn.14008d770
mov rcx, qword [0x1400fde18]
test rcx, rcx
jne 0x14009756b
call qword [0x1400fde88]
mov ecx, eax
call fcn.140097bf0
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.14008d220
call fcn.140097770
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
lea r8, [0x1400fde24]
lea rdx, [0x1400fde20]
call qword [0x1400fde90]
test eax, eax
jne 0x1400975bb
call qword [0x1400fde88]
mov ecx, eax
call fcn.140097bf0
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.14008d220
call fcn.140097770
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
mov rcx, qword [0x1400fde18]
mov edx, 0x3055
call qword [0x1400fdee0]
test rax, rax
je 0x1400975ea
mov rdx, rax
lea rcx, str.EGL_KHR_create_context
call fcn.14008b380
test eax, eax
mov eax, 1
jne 0x1400975ec
mov eax, ebx
mov rcx, qword [0x1400fde18]
mov edx, 0x3055
mov dword [0x1400fde2c], eax
call qword [0x1400fdee0]
test rax, rax
je 0x140097621
mov rdx, rax
lea rcx, str.EGL_KHR_create_context_no_error
call fcn.14008b380
test eax, eax
mov eax, 1
jne 0x140097623
mov eax, ebx
mov rcx, qword [0x1400fde18]
mov edx, 0x3055
mov dword [0x1400fde30], eax
call qword [0x1400fdee0]
test rax, rax
je 0x140097658
mov rdx, rax
lea rcx, str.EGL_KHR_gl_colorspace
call fcn.14008b380
test eax, eax
mov eax, 1
jne 0x14009765a
mov eax, ebx
mov rcx, qword [0x1400fde18]
mov edx, 0x3055
mov dword [0x1400fde34], eax
call qword [0x1400fdee0]
test rax, rax
je 0x14009768f
mov rdx, rax
lea rcx, str.EGL_KHR_get_all_proc_addresses
call fcn.14008b380
test eax, eax
mov eax, 1
jne 0x140097691
mov eax, ebx
mov rcx, qword [0x1400fde18]
mov edx, 0x3055
mov dword [0x1400fde38], eax
call qword [0x1400fdee0]
test rax, rax
je 0x1400976c6
mov rdx, rax
lea rcx, str.EGL_KHR_context_flush_control
call fcn.14008b380
test eax, eax
mov eax, 1
jne 0x1400976c8
mov eax, ebx
mov rcx, qword [0x1400fde18]
mov edx, 0x3055
mov dword [0x1400fde3c], eax
call qword [0x1400fdee0]
test rax, rax
je 0x1400976fd
mov rdx, rax
lea rcx, str.EGL_EXT_present_opaque
call fcn.14008b380
test eax, eax
je 0x1400976fd
mov ebx, 1
mov rsi, qword [rsp + 0x58]
mov eax, 1
mov rdi, qword [rsp + 0x60]
mov dword [0x1400fde50], ebx
add rsp, 0x40
pop rbx
ret
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.14008d220
mov rcx, qword [0x1400fde18]
test rcx, rcx
je 0x140097742
call qword [0x1400fde98]
mov qword [0x1400fde18], rbx
mov rcx, qword [0x1400fde68]
test rcx, rcx
je 0x14009775a
call fcn.140094590
mov qword [0x1400fde68], rbx
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret