Function at 0x659900
Capabilities:
Link many functions at runtime

Disassembly:
push ecx
push esi
push edi
call fcn.00659840
cmp byte [eax + 0xc], 0
je 0x659914
xor al, al
pop edi
pop esi
pop ecx
ret
call fcn.00659840
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659936
push str.eglChooseConfig
push eax
call esi
test eax, eax
jne 0x659942
jmp 0x659938
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659942
or byte [edi + 0xc], 1
mov dword [0x7a7dd0], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659961
push str.eglCopyBuffers
push eax
call esi
test eax, eax
jne 0x65996b
cmp byte [edi + 4], 0
jne 0x65996b
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659987
push str.eglCreateContext
push eax
call esi
test eax, eax
jne 0x659993
jmp 0x659989
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659993
or byte [edi + 0xc], 1
mov dword [0x7a7df4], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x6599b2
push str.eglCreatePbufferSurface
push eax
call esi
test eax, eax
jne 0x6599bc
cmp byte [edi + 4], 0
jne 0x6599bc
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x6599d6
push str.eglCreatePixmapSurface
push eax
call esi
test eax, eax
jne 0x6599e0
cmp byte [edi + 4], 0
jne 0x6599e0
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x6599fc
push str.eglCreateWindowSurface
push eax
call esi
test eax, eax
jne 0x659a08
jmp 0x6599fe
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659a08
or byte [edi + 0xc], 1
mov dword [0x7a7dd8], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659a29
push str.eglDestroyContext
push eax
call esi
test eax, eax
jne 0x659a35
jmp 0x659a2b
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659a35
or byte [edi + 0xc], 1
mov dword [0x7a7de8], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659a56
push str.eglDestroySurface
push eax
call esi
test eax, eax
jne 0x659a62
jmp 0x659a58
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659a62
or byte [edi + 0xc], 1
mov dword [0x7a7dfc], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659a83
push str.eglGetConfigAttrib
push eax
call esi
test eax, eax
jne 0x659a8f
jmp 0x659a85
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659a8f
or byte [edi + 0xc], 1
mov dword [0x7a7e10], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659aae
push str.eglGetConfigs
push eax
call esi
test eax, eax
jne 0x659ab8
cmp byte [edi + 4], 0
jne 0x659ab8
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659ad4
push str.eglGetCurrentContext
push eax
call esi
test eax, eax
jne 0x659ae0
jmp 0x659ad6
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659ae0
or byte [edi + 0xc], 1
mov dword [0x7a7de0], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659b01
push str.eglGetCurrentDisplay
push eax
call esi
test eax, eax
jne 0x659b0d
jmp 0x659b03
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659b0d
or byte [edi + 0xc], 1
mov dword [0x7a7ddc], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659b2e
push str.eglGetCurrentSurface
push eax
call esi
test eax, eax
jne 0x659b3a
jmp 0x659b30
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659b3a
or byte [edi + 0xc], 1
mov dword [0x7a7df0], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659b5b
push str.eglGetDisplay
push eax
call esi
test eax, eax
jne 0x659b67
jmp 0x659b5d
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659b67
or byte [edi + 0xc], 1
mov dword [0x7a7e04], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659b88
push str.eglGetError
push eax
call esi
test eax, eax
jne 0x659b94
jmp 0x659b8a
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659b94
or byte [edi + 0xc], 1
mov dword [0x7a7df8], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659bb5
push str.eglGetProcAddress
push eax
call esi
test eax, eax
jne 0x659bc1
jmp 0x659bb7
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659bc1
or byte [edi + 0xc], 1
mov dword [0x7a7e1c], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659be2
push str.eglInitialize
push eax
call esi
test eax, eax
jne 0x659bee
jmp 0x659be4
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659bee
or byte [edi + 0xc], 1
mov dword [0x7a7dd4], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659c0f
push str.eglMakeCurrent
push eax
call esi
test eax, eax
jne 0x659c1b
jmp 0x659c11
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659c1b
or byte [edi + 0xc], 1
mov dword [0x7a7e0c], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659c3c
push str.eglQueryContext
push eax
call esi
test eax, eax
jne 0x659c48
jmp 0x659c3e
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659c48
or byte [edi + 0xc], 1
mov dword [0x7a7e08], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659c69
push str.eglQueryString
push eax
call esi
test eax, eax
jne 0x659c75
jmp 0x659c6b
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659c75
or byte [edi + 0xc], 1
mov dword [0x7a7e14], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659c96
push str.eglQuerySurface
push eax
call esi
test eax, eax
jne 0x659ca2
jmp 0x659c98
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659ca2
or byte [edi + 0xc], 1
mov dword [0x7a7de4], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659cc3
push str.eglSwapBuffers
push eax
call esi
test eax, eax
jne 0x659ccf
jmp 0x659cc5
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659ccf
or byte [edi + 0xc], 1
mov dword [0x7a7dec], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659cf0
push str.eglTerminate
push eax
call esi
test eax, eax
jne 0x659cfc
jmp 0x659cf2
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659cfc
or byte [edi + 0xc], 1
mov dword [0x7a7dcc], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659d1b
push str.eglWaitGL
push eax
call esi
test eax, eax
jne 0x659d25
cmp byte [edi + 4], 0
jne 0x659d25
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659d3f
push str.eglWaitNative
push eax
call esi
test eax, eax
jne 0x659d49
cmp byte [edi + 4], 0
jne 0x659d49
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659d63
push str.eglBindTexImage
push eax
call esi
test eax, eax
jne 0x659d6d
cmp byte [edi + 4], 0
jne 0x659d6d
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659d87
push str.eglReleaseTexImage
push eax
call esi
test eax, eax
jne 0x659d91
cmp byte [edi + 4], 0
jne 0x659d91
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659dab
push str.eglSurfaceAttrib
push eax
call esi
test eax, eax
jne 0x659db5
cmp byte [edi + 4], 0
jne 0x659db5
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659dd1
push str.eglSwapInterval
push eax
call esi
test eax, eax
jne 0x659ddd
jmp 0x659dd3
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659ddd
or byte [edi + 0xc], 1
mov dword [0x7a7e18], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659dfe
push str.eglBindAPI
push eax
call esi
test eax, eax
jne 0x659e0a
jmp 0x659e00
xor eax, eax
cmp byte [edi + 4], 0
jne 0x659e0a
or byte [edi + 0xc], 1
mov dword [0x7a7e00], eax
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659e29
push str.eglCreatePbufferFromClientBuffer
push eax
call esi
test eax, eax
jne 0x659e33
cmp byte [edi + 4], 0
jne 0x659e33
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659e4d
push str.eglQueryAPI
push eax
call esi
test eax, eax
jne 0x659e57
cmp byte [edi + 4], 0
jne 0x659e57
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659e71
push str.eglReleaseThread
push eax
call esi
test eax, eax
jne 0x659e7b
cmp byte [edi + 4], 0
jne 0x659e7b
or byte [edi + 0xc], 1
call fcn.00659840
mov edi, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x659e95
push str.eglWaitClient
push eax
call esi
test eax, eax
jne 0x659e9f
cmp byte [edi + 4], 0
jne 0x659e9f
or byte [edi + 0xc], 1
pop edi
mov al, 1
pop esi
pop ecx
ret