Function at 0x403e60
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
and dword [ebp - 4], 0
mov eax, str.libEGL.dll
cmp dword [0x4bf4dc], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], str.EGL.dll
je 0x403e87
xor eax, eax
inc eax
leave
ret
push esi
xor esi, esi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
mov dword [0x4bf4dc], ecx
test ecx, ecx
jne 0x403ec0
mov eax, dword [ebp + esi*4 - 8]
inc esi
test eax, eax
jne 0x403e8a
test ecx, ecx
jne 0x403ec0
push str.EGL:_Library_not_found
push 0x10006
call fcn.0040478d
pop ecx
pop ecx
jmp 0x40419a
push 3
push 0x43783c
push dword [ebp + esi*4 - 0xc]
call fcn.004111d0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 0xc
neg eax
sbb eax, eax
push str.eglGetConfigAttrib
push dword [0x4bf4dc]
inc eax
mov dword [0x4bf4c4], eax
call esi
push str.eglGetConfigs
push dword [0x4bf4dc]
mov dword [0x4bf4e0], eax
call esi
push str.eglGetDisplay
push dword [0x4bf4dc]
mov dword [0x4bf4e4], eax
call esi
push str.eglGetError
push dword [0x4bf4dc]
mov dword [0x4bf4e8], eax
call esi
push str.eglInitialize
push dword [0x4bf4dc]
mov dword [0x4bf4ec], eax
call esi
push str.eglTerminate
push dword [0x4bf4dc]
mov dword [0x4bf4f0], eax
call esi
push str.eglBindAPI
push dword [0x4bf4dc]
mov dword [0x4bf4f4], eax
call esi
push str.eglCreateContext
push dword [0x4bf4dc]
mov dword [0x4bf4f8], eax
call esi
push str.eglDestroySurface
push dword [0x4bf4dc]
mov dword [0x4bf4fc], eax
call esi
push str.eglDestroyContext
push dword [0x4bf4dc]
mov dword [0x4bf500], eax
call esi
push str.eglCreateWindowSurface
push dword [0x4bf4dc]
mov dword [0x4bf504], eax
call esi
push str.eglMakeCurrent
push dword [0x4bf4dc]
mov dword [0x4bf508], eax
call esi
push str.eglSwapBuffers
push dword [0x4bf4dc]
mov dword [0x4bf50c], eax
call esi
push str.eglSwapInterval
push dword [0x4bf4dc]
mov dword [0x4bf510], eax
call esi
push str.eglQueryString
push dword [0x4bf4dc]
mov dword [0x4bf514], eax
call esi
push str.eglGetProcAddress
push dword [0x4bf4dc]
mov dword [0x4bf518], eax
call esi
cmp dword [0x4bf4e0], 0
mov dword [0x4bf51c], eax
je 0x404184
cmp dword [0x4bf4e4], 0
je 0x404184
mov ecx, dword [0x4bf4e8]
test ecx, ecx
je 0x404184
cmp dword [0x4bf4ec], 0
je 0x404184
cmp dword [0x4bf4f0], 0
je 0x404184
cmp dword [0x4bf4f4], 0
je 0x404184
cmp dword [0x4bf4f8], 0
je 0x404184
cmp dword [0x4bf4fc], 0
je 0x404184
cmp dword [0x4bf500], 0
je 0x404184
cmp dword [0x4bf504], 0
je 0x404184
cmp dword [0x4bf508], 0
je 0x404184
cmp dword [0x4bf50c], 0
je 0x404184
cmp dword [0x4bf510], 0
je 0x404184
cmp dword [0x4bf514], 0
je 0x404184
cmp dword [0x4bf518], 0
je 0x404184
test eax, eax
je 0x404184
push 0
call ecx
mov dword [0x4bf4b8], eax
test eax, eax
jne 0x404101
call dword [0x4bf4ec]
mov ecx, eax
call fcn.00403a32
push eax
push str.EGL:_Failed_to_get_EGL_display:__s
push 0x10006
call fcn.0040478d
add esp, 0xc
jmp 0x404195
push 0x4bf4c0
push 0x4bf4bc
push eax
call dword [0x4bf4f0]
test eax, eax
jne 0x40412b
call dword [0x4bf4ec]
mov ecx, eax
call fcn.00403a32
push eax
push str.EGL:_Failed_to_initialize_EGL:__s
jmp 0x4040ef
push str.EGL_KHR_create_context
call fcn.00403da0
mov dword [0x4bf4c8], eax
mov dword [esp], str.EGL_KHR_create_context_no_error
call fcn.00403da0
mov dword [0x4bf4cc], eax
mov dword [esp], str.EGL_KHR_gl_colorspace
call fcn.00403da0
mov dword [0x4bf4d0], eax
mov dword [esp], str.EGL_KHR_get_all_proc_addresses
call fcn.00403da0
mov dword [0x4bf4d4], eax
mov dword [esp], str.EGL_KHR_context_flush_control
call fcn.00403da0
mov dword [0x4bf4d8], eax
xor eax, eax
pop ecx
inc eax
jmp 0x40419c
push str.EGL:_Failed_to_load_required_entry_points
push 0x10008
call fcn.0040478d
pop ecx
pop ecx
call fcn.0040419f
xor eax, eax
pop esi
leave
ret