Function at 0x140037f80
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
sub rsp, 0x50
mov rax, qword [0x140093880]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor edi, edi
lea rax, str.libEGL.dll
cmp qword [0x1400a0a18], rdi
lea rcx, str.EGL.dll
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdi
je 0x140037fd8
lea eax, [rdi + 1]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400450c0
add rsp, 0x50
pop rdi
ret
mov qword [rsp + 0x60], rbx
mov rbx, rdi
mov qword [rsp + 0x68], rsi
mov esi, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1400a0a18], rax
mov rcx, rax
test rax, rax
jne 0x14003800e
mov rax, qword [rsp + rbx*8 + 0x30]
inc rbx
inc esi
test rax, rax
jne 0x140037fe7
test rcx, rcx
jne 0x140038029
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
call fcn.140039140
jmp 0x1400389c5
movsxd rcx, esi
lea rdx, [0x1400879e0]
mov r8d, 3
mov rcx, qword [rsp + rcx*8 + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov ecx, edi
lea rdx, str.eglGetConfigAttrib
test eax, eax
sete cl
mov dword [0x1400a09d8], ecx
mov rcx, qword [0x1400a0a18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglGetConfigs
mov qword [0x1400a0a20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglGetDisplay
mov qword [0x1400a0a28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglGetError
mov qword [0x1400a0a30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglInitialize
mov qword [0x1400a0a38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglTerminate
mov qword [0x1400a0a40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglBindAPI
mov qword [0x1400a0a48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglCreateContext
mov qword [0x1400a0a50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglDestroySurface
mov qword [0x1400a0a58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglDestroyContext
mov qword [0x1400a0a60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglCreateWindowSurface
mov qword [0x1400a0a68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglMakeCurrent
mov qword [0x1400a0a70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglSwapBuffers
mov qword [0x1400a0a78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglSwapInterval
mov qword [0x1400a0a80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglQueryString
mov qword [0x1400a0a88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400a0a18]
lea rdx, str.eglGetProcAddress
mov qword [0x1400a0a90], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x1400a0a20], rdi
mov rcx, rax
mov qword [0x1400a0a98], rax
je 0x140038982
cmp qword [0x1400a0a28], rdi
je 0x140038982
cmp qword [0x1400a0a30], rdi
je 0x140038982
cmp qword [0x1400a0a38], rdi
je 0x140038982
cmp qword [0x1400a0a40], rdi
je 0x140038982
cmp qword [0x1400a0a48], rdi
je 0x140038982
cmp qword [0x1400a0a50], rdi
je 0x140038982
cmp qword [0x1400a0a58], rdi
je 0x140038982
cmp qword [0x1400a0a60], rdi
je 0x140038982
cmp qword [0x1400a0a68], rdi
je 0x140038982
cmp qword [0x1400a0a70], rdi
je 0x140038982
cmp qword [0x1400a0a78], rdi
je 0x140038982
cmp qword [0x1400a0a80], rdi
je 0x140038982
cmp qword [0x1400a0a88], rdi
je 0x140038982
mov rax, qword [0x1400a0a90]
test rax, rax
je 0x140038982
test rcx, rcx
je 0x140038982
mov edx, 0x3055
xor ecx, ecx
call rax
mov rbx, rax
test rax, rax
je 0x1400382fd
call qword [0x1400a0a38]
cmp eax, 0x3000
jne 0x1400382fd
mov dword [0x1400a09f0], 1
jmp 0x140038309
cmp dword [0x1400a09f0], edi
je 0x140038584
lea rdx, str.EGL_EXT_platform_base
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003834c
lea rcx, [rax + 0x15]
cmp rax, rsi
je 0x14003832f
cmp byte [rax - 1], 0x20
jne 0x140038338
test byte [rcx], 0xdf
je 0x1400385e5
lea rdx, str.EGL_EXT_platform_base
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038320
mov eax, edi
lea rdx, str.EGL_EXT_platform_x11
mov dword [0x1400a09f4], eax
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003839c
nop dword [rax + rax]
lea rcx, [rax + 0x14]
cmp rax, rsi
je 0x14003837f
cmp byte [rax - 1], 0x20
jne 0x140038388
test byte [rcx], 0xdf
je 0x1400385ef
lea rdx, str.EGL_EXT_platform_x11
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038370
mov eax, edi
lea rdx, str.EGL_EXT_platform_wayland
mov dword [0x1400a09f8], eax
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400383ec
nop dword [rax + rax]
lea rcx, [rax + 0x18]
cmp rax, rsi
je 0x1400383cf
cmp byte [rax - 1], 0x20
jne 0x1400383d8
test byte [rcx], 0xdf
je 0x1400385f9
lea rdx, str.EGL_EXT_platform_wayland
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400383c0
mov eax, edi
lea rdx, str.EGL_ANGLE_platform_angle
mov dword [0x1400a09fc], eax
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003843c
nop dword [rax + rax]
lea rcx, [rax + 0x18]
cmp rax, rsi
je 0x14003841f
cmp byte [rax - 1], 0x20
jne 0x140038428
test byte [rcx], 0xdf
je 0x140038603
lea rdx, str.EGL_ANGLE_platform_angle
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038410
mov eax, edi
lea rdx, str.EGL_ANGLE_platform_angle_opengl
mov dword [0x1400a0a04], eax
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003848c
nop dword [rax + rax]
lea rcx, [rax + 0x1f]
cmp rax, rsi
je 0x14003846f
cmp byte [rax - 1], 0x20
jne 0x140038478
test byte [rcx], 0xdf
je 0x14003860d
lea rdx, str.EGL_ANGLE_platform_angle_opengl
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038460
mov eax, edi
lea rdx, str.EGL_ANGLE_platform_angle_d3d
mov dword [0x1400a0a08], eax
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400384dc
nop dword [rax + rax]
lea rcx, [rax + 0x1c]
cmp rax, rsi
je 0x1400384bf
cmp byte [rax - 1], 0x20
jne 0x1400384c8
test byte [rcx], 0xdf
je 0x140038617
lea rdx, str.EGL_ANGLE_platform_angle_d3d
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400384b0
mov eax, edi
lea rdx, str.EGL_ANGLE_platform_angle_vulkan
mov dword [0x1400a0a0c], eax
mov rcx, rbx
mov rsi, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003852c
nop dword [rax + rax]
lea rcx, [rax + 0x1f]
cmp rax, rsi
je 0x14003850f
cmp byte [rax - 1], 0x20
jne 0x140038518
test byte [rcx], 0xdf
je 0x140038621
lea rdx, str.EGL_ANGLE_platform_angle_vulkan
mov rsi, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038500
mov eax, edi
lea rdx, str.EGL_ANGLE_platform_angle_metal
mov dword [0x1400a0a10], eax
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003857c
nop dword [rax + rax]
lea rcx, [rax + 0x1e]
cmp rax, rbx
je 0x14003855f
cmp byte [rax - 1], 0x20
jne 0x140038568
test byte [rcx], 0xdf
je 0x14003862b
lea rdx, str.EGL_ANGLE_platform_angle_metal
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038550
mov eax, edi
mov dword [0x1400a0a14], eax
cmp dword [0x1400a09f4], edi
je 0x1400385b4
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x1400a0a98]
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
mov qword [0x1400a0aa0], rax
call qword [0x1400a0a98]
mov qword [0x1400a0aa8], rax
lea rcx, [rsp + 0x20]
call qword [0x14009f208]
mov dword [0x1400a09c0], eax
test eax, eax
je 0x140038635
call qword [0x14009f210]
mov r8, qword [rsp + 0x20]
mov rdx, rax
mov ecx, dword [0x1400a09c0]
call qword [0x1400a0aa0]
jmp 0x140038644
mov eax, 1
jmp 0x14003834e
mov eax, 1
jmp 0x14003839e
mov eax, 1
jmp 0x1400383ee
mov eax, 1
jmp 0x14003843e
mov eax, 1
jmp 0x14003848e
mov eax, 1
jmp 0x1400384de
mov eax, 1
jmp 0x14003852e
mov eax, 1
jmp 0x14003857e
call qword [0x14009f210]
mov rcx, rax
call qword [0x1400a0a30]
mov rcx, qword [rsp + 0x20]
mov qword [0x1400a09c8], rax
test rcx, rcx
je 0x140038669
mov rdx, qword [0x14009eff0]
call qword [0x14009efe8]
mov rax, qword [0x1400a09c8]
test rax, rax
jne 0x140038699
call qword [0x1400a0a38]
mov ecx, eax
call fcn.14003fbf0
mov r8, rax
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
mov ecx, 0x10006
call fcn.140039140
call fcn.14003c9a0
jmp 0x1400389c5
lea r8, [0x1400a09d4]
mov rcx, rax
lea rdx, [0x1400a09d0]
call qword [0x1400a0a40]
test eax, eax
jne 0x1400386df
call qword [0x1400a0a38]
mov ecx, eax
call fcn.14003fbf0
mov r8, rax
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.140039140
call fcn.14003c9a0
jmp 0x1400389c5
mov rcx, qword [0x1400a09c8]
mov edx, 0x3055
call qword [0x1400a0a90]
mov rbx, rax
test rax, rax
je 0x14003873c
lea rdx, str.EGL_KHR_create_context
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003873c
nop dword [rax]
lea rcx, [rax + 0x16]
cmp rax, rbx
je 0x14003871f
cmp byte [rax - 1], 0x20
jne 0x140038728
test byte [rcx], 0xdf
je 0x14003893e
lea rdx, str.EGL_KHR_create_context
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038710
mov eax, edi
mov rcx, qword [0x1400a09c8]
mov edx, 0x3055
mov dword [0x1400a09dc], eax
call qword [0x1400a0a90]
mov rbx, rax
test rax, rax
je 0x14003879e
lea rdx, str.EGL_KHR_create_context_no_error
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14003879e
lea rcx, [rax + 0x1f]
cmp rax, rbx
je 0x140038781
cmp byte [rax - 1], 0x20
jne 0x14003878a
test byte [rcx], 0xdf
je 0x140038948
lea rdx, str.EGL_KHR_create_context_no_error
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038772
mov eax, edi
mov rcx, qword [0x1400a09c8]
mov edx, 0x3055
mov dword [0x1400a09e0], eax
call qword [0x1400a0a90]
mov rbx, rax
test rax, rax
je 0x140038800
lea rdx, str.EGL_KHR_gl_colorspace
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140038800
lea rcx, [rax + 0x15]
cmp rax, rbx
je 0x1400387e3
cmp byte [rax - 1], 0x20
jne 0x1400387ec
test byte [rcx], 0xdf
je 0x140038952
lea rdx, str.EGL_KHR_gl_colorspace
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400387d4
mov eax, edi
mov rcx, qword [0x1400a09c8]
mov edx, 0x3055
mov dword [0x1400a09e4], eax
call qword [0x1400a0a90]
mov rbx, rax
test rax, rax
je 0x140038862
lea rdx, str.EGL_KHR_get_all_proc_addresses
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140038862
lea rcx, [rax + 0x1e]
cmp rax, rbx
je 0x140038845
cmp byte [rax - 1], 0x20
jne 0x14003884e
test byte [rcx], 0xdf
je 0x14003895c
lea rdx, str.EGL_KHR_get_all_proc_addresses
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038836
mov eax, edi
mov rcx, qword [0x1400a09c8]
mov edx, 0x3055
mov dword [0x1400a09e8], eax
call qword [0x1400a0a90]
mov rbx, rax
test rax, rax
je 0x1400388cc
lea rdx, str.EGL_KHR_context_flush_control
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400388cc
nop dword [rax + rax]
lea rcx, [rax + 0x1d]
cmp rax, rbx
je 0x1400388af
cmp byte [rax - 1], 0x20
jne 0x1400388b8
test byte [rcx], 0xdf
je 0x140038966
lea rdx, str.EGL_KHR_context_flush_control
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400388a0
mov eax, edi
mov rcx, qword [0x1400a09c8]
mov edx, 0x3055
mov dword [0x1400a09ec], eax
call qword [0x1400a0a90]
mov rbx, rax
test rax, rax
je 0x140038975
lea rdx, str.EGL_EXT_present_opaque
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140038975
lea rcx, [rax + 0x16]
cmp rax, rbx
je 0x140038915
cmp byte [rax - 1], 0x20
jne 0x14003891a
test byte [rcx], 0xdf
je 0x140038970
lea rdx, str.EGL_EXT_present_opaque
mov rbx, rcx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140038906
mov dword [0x1400a0a00], edi
mov eax, 1
jmp 0x1400389c7
mov eax, 1
jmp 0x14003873e
mov eax, 1
jmp 0x1400387a0
mov eax, 1
jmp 0x140038802
mov eax, 1
jmp 0x140038864
mov eax, 1
jmp 0x1400388ce
mov edi, 1
mov dword [0x1400a0a00], edi
mov eax, 1
jmp 0x1400389c7
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.140039140
mov rcx, qword [0x1400a09c8]
test rcx, rcx
je 0x1400389ac
call qword [0x1400a0a48]
mov qword [0x1400a09c8], rdi
mov rcx, qword [0x1400a0a18]
test rcx, rcx
je 0x1400389c5
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x1400a0a18], rdi
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400450c0
add rsp, 0x50
pop rdi
ret