Function at 0x45cca0
Capabilities:
Link many functions at runtime

Disassembly:
push edi
push esi
mov eax, 1
push ebx
sub esp, 0x20
mov ecx, dword [0x4a5fb4]
mov dword [esp + 0x14], str.libEGL.dll
mov dword [esp + 0x18], str.EGL.dll
mov dword [esp + 0x1c], 0
test ecx, ecx
je 0x45ccd4
add esp, 0x20
pop ebx
pop esi
pop edi
ret
lea ebx, [esp + 0x14]
mov esi, str.libEGL.dll
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
jmp 0x45ccf2
add ebx, 4
mov esi, dword [ebx]
test esi, esi
je 0x45d032
mov dword [esp], esi
call edi
sub esp, 4
test eax, eax
mov dword [0x4a5fb4], eax
je 0x45cce5
mov ecx, 3
mov edi, 0x474e74
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp + 4], str.eglGetConfigAttrib
mov dword [esp], eax
sete dl
movzx edx, dl
mov dword [0x4a5f9c], edx
call ebx
mov dword [0x4a5fb8], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglGetConfigs
mov dword [esp], eax
call ebx
mov dword [0x4a5fbc], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglGetDisplay
mov dword [esp], eax
call ebx
mov dword [0x4a5fc0], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglGetError
mov dword [esp], eax
call ebx
mov dword [0x4a5fc4], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglInitialize
mov dword [esp], eax
call ebx
mov dword [0x4a5fc8], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglTerminate
mov dword [esp], eax
call ebx
mov dword [0x4a5fcc], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglBindAPI
mov dword [esp], eax
call ebx
mov dword [0x4a5fd0], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglCreateContext
mov dword [esp], eax
call ebx
mov dword [0x4a5fd4], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglDestroySurface
mov dword [esp], eax
call ebx
mov dword [0x4a5fd8], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglDestroyContext
mov dword [esp], eax
call ebx
mov dword [0x4a5fdc], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglCreateWindowSurface
mov dword [esp], eax
call ebx
mov dword [0x4a5fe0], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglMakeCurrent
mov dword [esp], eax
call ebx
mov dword [0x4a5fe4], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglSwapBuffers
mov dword [esp], eax
call ebx
mov dword [0x4a5fe8], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglSwapInterval
mov dword [esp], eax
call ebx
mov dword [0x4a5fec], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglQueryString
mov dword [esp], eax
call ebx
mov dword [0x4a5ff0], eax
mov eax, dword [0x4a5fb4]
sub esp, 8
mov dword [esp + 4], str.eglGetProcAddress
mov dword [esp], eax
call ebx
mov edx, dword [0x4a5fb8]
sub esp, 8
mov dword [0x4a5ff4], eax
test edx, edx
je 0x45d010
mov edx, dword [0x4a5fbc]
test edx, edx
je 0x45d010
mov edx, dword [0x4a5fc0]
test edx, edx
je 0x45d010
mov edi, dword [0x4a5fc4]
test edi, edi
je 0x45d010
mov esi, dword [0x4a5fc8]
test esi, esi
je 0x45d010
mov ebx, dword [0x4a5fcc]
test ebx, ebx
je 0x45d010
mov ecx, dword [0x4a5fd0]
test ecx, ecx
je 0x45d010
mov edi, dword [0x4a5fd4]
test edi, edi
je 0x45d010
mov esi, dword [0x4a5fd8]
test esi, esi
je 0x45d010
mov ebx, dword [0x4a5fdc]
test ebx, ebx
je 0x45d010
mov ecx, dword [0x4a5fe0]
test ecx, ecx
je 0x45d010
mov edi, dword [0x4a5fe4]
test edi, edi
je 0x45d010
mov esi, dword [0x4a5fe8]
test esi, esi
je 0x45d010
mov ebx, dword [0x4a5fec]
test ebx, ebx
je 0x45d010
mov ecx, dword [0x4a5ff0]
test ecx, ecx
je 0x45d010
test eax, eax
je 0x45d010
mov dword [esp], 0
call edx
sub esp, 4
test eax, eax
mov dword [0x4a5f90], eax
je 0x45d04f
mov dword [esp + 8], 0x4a5f98
mov dword [esp + 4], 0x4a5f94
mov dword [esp], eax
call dword [0x4a5fc8]
sub esp, 0xc
test eax, eax
jne 0x45d08f
call dword [0x4a5fc4]
sub eax, 0x3000
mov edx, str.ERROR:_UNKNOWN_EGL_ERROR
cmp eax, 0xe
ja 0x45cfeb
mov edx, dword [eax*4 + 0x4756c0]
mov dword [esp + 8], edx
mov dword [esp + 4], str.EGL:_Failed_to_initialize_EGL:__s
mov dword [esp], 0x10006
call fcn.0044ee70
call fcn.0045c890
xor eax, eax
jmp 0x45cccd
mov dword [esp + 4], str.EGL:_Failed_to_load_required_entry_points
mov dword [esp], 0x10008
call fcn.0044ee70
call fcn.0045c890
add esp, 0x20
xor eax, eax
pop ebx
pop esi
pop edi
ret
mov dword [esp + 4], str.EGL:_Library_not_found
mov dword [esp], 0x10006
call fcn.0044ee70
add esp, 0x20
xor eax, eax
pop ebx
pop esi
pop edi
ret
call dword [0x4a5fc4]
sub eax, 0x3000
mov edx, str.ERROR:_UNKNOWN_EGL_ERROR
cmp eax, 0xe
ja 0x45d06b
mov edx, dword [eax*4 + 0x4756c0]
mov dword [esp + 8], edx
mov dword [esp + 4], str.EGL:_Failed_to_get_EGL_display:__s
mov dword [esp], 0x10006
call fcn.0044ee70
call fcn.0045c890
xor eax, eax
jmp 0x45cccd
mov dword [esp], str.EGL_KHR_create_context
call fcn.0044c670
mov dword [esp], str.EGL_KHR_create_context_no_error
mov dword [0x4a5fa0], eax
call fcn.0044c670
mov dword [esp], str.EGL_KHR_gl_colorspace
mov dword [0x4a5fa4], eax
call fcn.0044c670
mov dword [esp], str.EGL_KHR_get_all_proc_addresses
mov dword [0x4a5fa8], eax
call fcn.0044c670
mov dword [esp], str.EGL_KHR_context_flush_control
mov dword [0x4a5fac], eax
call fcn.0044c670
mov dword [0x4a5fb0], eax
mov eax, 1
jmp 0x45cccd