Function at 0x140054700
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x40
xor ebx, ebx
lea rax, str.libEGL.dll
cmp qword [0x140088a88], 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 0x14005473c
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 [0x140088a88], rax
mov rcx, rax
test rax, rax
jne 0x140054776
mov rax, qword [rsp + rdi*8 + 0x28]
inc rdi
inc esi
test rax, rax
jne 0x140054750
test rcx, rcx
jne 0x14005479e
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.14004a340
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
movsxd rcx, esi
lea rdx, [0x140075a30]
mov r8d, 3
mov rcx, qword [rsp + rcx*8 + 0x20]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov ecx, ebx
lea rdx, str.eglGetConfigAttrib
test eax, eax
sete cl
mov dword [0x140088a48], ecx
mov rcx, qword [0x140088a88]
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglGetConfigs
mov qword [0x140088a90], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglGetDisplay
mov qword [0x140088a98], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglGetError
mov qword [0x140088aa0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglInitialize
mov qword [0x140088aa8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglTerminate
mov qword [0x140088ab0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglBindAPI
mov qword [0x140088ab8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglCreateContext
mov qword [0x140088ac0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglDestroySurface
mov qword [0x140088ac8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglDestroyContext
mov qword [0x140088ad0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglCreateWindowSurface
mov qword [0x140088ad8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglMakeCurrent
mov qword [0x140088ae0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglSwapBuffers
mov qword [0x140088ae8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglSwapInterval
mov qword [0x140088af0], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglQueryString
mov qword [0x140088af8], rax
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [0x140088a88]
lea rdx, str.eglGetProcAddress
mov qword [0x140088b00], rax
call sub.KERNEL32.dll_GetProcAddress
cmp qword [0x140088a90], rbx
mov rcx, rax
mov qword [0x140088b08], rax
je 0x140054d88
cmp qword [0x140088a98], rbx
je 0x140054d88
cmp qword [0x140088aa0], rbx
je 0x140054d88
cmp qword [0x140088aa8], rbx
je 0x140054d88
cmp qword [0x140088ab0], rbx
je 0x140054d88
cmp qword [0x140088ab8], rbx
je 0x140054d88
cmp qword [0x140088ac0], rbx
je 0x140054d88
cmp qword [0x140088ac8], rbx
je 0x140054d88
cmp qword [0x140088ad0], rbx
je 0x140054d88
cmp qword [0x140088ad8], rbx
je 0x140054d88
cmp qword [0x140088ae0], rbx
je 0x140054d88
cmp qword [0x140088ae8], rbx
je 0x140054d88
cmp qword [0x140088af0], rbx
je 0x140054d88
cmp qword [0x140088af8], rbx
je 0x140054d88
mov rax, qword [0x140088b00]
test rax, rax
je 0x140054d88
test rcx, rcx
je 0x140054d88
mov edx, 0x3055
xor ecx, ecx
call rax
mov rdi, rax
test rax, rax
je 0x140054a62
call qword [0x140088aa8]
cmp eax, 0x3000
jne 0x140054a62
mov dword [0x140088a60], 1
jmp 0x140054a6e
cmp dword [0x140088a60], ebx
je 0x140054b16
mov rdx, rdi
lea rcx, str.EGL_EXT_platform_base
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a64], eax
lea rcx, str.EGL_EXT_platform_x11
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a68], eax
lea rcx, str.EGL_EXT_platform_wayland
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a6c], eax
lea rcx, str.EGL_ANGLE_platform_angle
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a74], eax
lea rcx, str.EGL_ANGLE_platform_angle_opengl
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a78], eax
lea rcx, str.EGL_ANGLE_platform_angle_d3d
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a7c], eax
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
call fcn.14004fe20
mov rdx, rdi
mov dword [0x140088a80], eax
lea rcx, str.EGL_ANGLE_platform_angle_metal
call fcn.14004fe20
mov dword [0x140088a84], eax
cmp dword [0x140088a64], ebx
je 0x140054b46
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x140088b08]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [0x140088b10], rax
call qword [0x140088b08]
mov qword [0x140088b18], rax
lea rcx, [rsp + 0x50]
call qword [0x140087278]
mov dword [0x140088a30], eax
test eax, eax
je 0x140054b77
call qword [0x140087280]
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov ecx, dword [0x140088a30]
call qword [0x140088b10]
jmp 0x140054b86
call qword [0x140087280]
mov rcx, rax
call qword [0x140088aa0]
mov rcx, qword [rsp + 0x50]
mov qword [0x140088a38], rax
call fcn.14004a850
mov rcx, qword [0x140088a38]
test rcx, rcx
jne 0x140054bdb
call qword [0x140088aa8]
mov ecx, eax
call fcn.140055260
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.14004a340
call fcn.140054de0
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
lea r8, [0x140088a44]
lea rdx, [0x140088a40]
call qword [0x140088ab0]
test eax, eax
jne 0x140054c2b
call qword [0x140088aa8]
mov ecx, eax
call fcn.140055260
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.14004a340
call fcn.140054de0
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret
mov rcx, qword [0x140088a38]
mov edx, 0x3055
call qword [0x140088b00]
test rax, rax
je 0x140054c5a
mov rdx, rax
lea rcx, str.EGL_KHR_create_context
call fcn.14004fe20
test eax, eax
mov eax, 1
jne 0x140054c5c
mov eax, ebx
mov rcx, qword [0x140088a38]
mov edx, 0x3055
mov dword [0x140088a4c], eax
call qword [0x140088b00]
test rax, rax
je 0x140054c91
mov rdx, rax
lea rcx, str.EGL_KHR_create_context_no_error
call fcn.14004fe20
test eax, eax
mov eax, 1
jne 0x140054c93
mov eax, ebx
mov rcx, qword [0x140088a38]
mov edx, 0x3055
mov dword [0x140088a50], eax
call qword [0x140088b00]
test rax, rax
je 0x140054cc8
mov rdx, rax
lea rcx, str.EGL_KHR_gl_colorspace
call fcn.14004fe20
test eax, eax
mov eax, 1
jne 0x140054cca
mov eax, ebx
mov rcx, qword [0x140088a38]
mov edx, 0x3055
mov dword [0x140088a54], eax
call qword [0x140088b00]
test rax, rax
je 0x140054cff
mov rdx, rax
lea rcx, str.EGL_KHR_get_all_proc_addresses
call fcn.14004fe20
test eax, eax
mov eax, 1
jne 0x140054d01
mov eax, ebx
mov rcx, qword [0x140088a38]
mov edx, 0x3055
mov dword [0x140088a58], eax
call qword [0x140088b00]
test rax, rax
je 0x140054d36
mov rdx, rax
lea rcx, str.EGL_KHR_context_flush_control
call fcn.14004fe20
test eax, eax
mov eax, 1
jne 0x140054d38
mov eax, ebx
mov rcx, qword [0x140088a38]
mov edx, 0x3055
mov dword [0x140088a5c], eax
call qword [0x140088b00]
test rax, rax
je 0x140054d6d
mov rdx, rax
lea rcx, str.EGL_EXT_present_opaque
call fcn.14004fe20
test eax, eax
je 0x140054d6d
mov ebx, 1
mov rsi, qword [rsp + 0x58]
mov eax, 1
mov rdi, qword [rsp + 0x60]
mov dword [0x140088a70], ebx
add rsp, 0x40
pop rbx
ret
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.14004a340
mov rcx, qword [0x140088a38]
test rcx, rcx
je 0x140054db2
call qword [0x140088ab8]
mov qword [0x140088a38], rbx
mov rcx, qword [0x140088a88]
test rcx, rcx
je 0x140054dca
call fcn.140056110
mov qword [0x140088a88], rbx
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rbx
ret