Function at 0x4948e0
Capabilities:
Link many functions at runtime

Disassembly:
mov edx, dword [0x691048]
mov eax, 1
test edx, edx
je 0x4948f1
repz ret
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [esp], str.opengl32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
test eax, eax
mov dword [0x691048], eax
je 0x494df0
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 4], str.wglCreateContext
mov dword [esp], eax
call ebx
mov dword [0x69104c], eax
mov eax, dword [0x691048]
sub esp, 8
mov dword [esp + 4], str.wglDeleteContext
mov dword [esp], eax
call ebx
mov dword [0x691050], eax
mov eax, dword [0x691048]
sub esp, 8
mov dword [esp + 4], str.wglGetProcAddress
mov dword [esp], eax
call ebx
mov dword [0x691054], eax
mov eax, dword [0x691048]
sub esp, 8
mov dword [esp + 4], str.wglGetCurrentDC
mov dword [esp], eax
call ebx
mov dword [0x691058], eax
mov eax, dword [0x691048]
sub esp, 8
mov dword [esp + 4], str.wglGetCurrentContext
mov dword [esp], eax
call ebx
mov dword [0x69105c], eax
mov eax, dword [0x691048]
sub esp, 8
mov dword [esp + 4], str.wglMakeCurrent
mov dword [esp], eax
call ebx
mov dword [0x691060], eax
mov eax, dword [0x691048]
sub esp, 8
mov dword [esp + 4], str.wglShareLists
mov dword [esp], eax
call ebx
mov dword [0x691064], eax
mov eax, dword [0x690228]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDC]
xor edx, edx
mov ebx, eax
sub esp, 4
xor eax, eax
mov dword [esp + eax + 0x20], edx
add eax, 4
cmp eax, 0x20
jb 0x4949e3
lea esi, [esp + 0x18]
mov dword [esp + 0x18], 0x10028
mov dword [esp + 0x1c], 0x25
mov byte [esp + 0x21], 0x18
mov dword [esp], ebx
mov dword [esp + 4], esi
call dword [sym.imp.GDI32.dll_ChoosePixelFormat]
sub esp, 8
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [sym.imp.GDI32.dll_SetPixelFormat]
sub esp, 0xc
test eax, eax
je 0x494eb7
mov dword [esp], ebx
call dword [0x69104c]
sub esp, 4
test eax, eax
mov esi, eax
je 0x494ff9
call dword [0x691058]
mov edi, eax
call dword [0x69105c]
mov dword [esp + 4], esi
mov ebp, eax
mov dword [esp], ebx
call dword [0x691060]
sub esp, 8
test eax, eax
je 0x494ed2
mov dword [esp], str.wglGetExtensionsStringEXT
call dword [0x691054]
sub esp, 4
mov dword [0x691070], eax
mov dword [esp], str.wglGetExtensionsStringARB
call dword [0x691054]
sub esp, 4
mov dword [0x691074], eax
mov dword [esp], str.wglCreateContextAttribsARB
call dword [0x691054]
sub esp, 4
mov dword [0x691078], eax
mov dword [esp], str.wglSwapIntervalEXT
call dword [0x691054]
sub esp, 4
mov dword [0x691068], eax
mov dword [esp], str.wglGetPixelFormatAttribivARB
call dword [0x691054]
mov ebx, dword [0x691074]
sub esp, 4
mov dword [0x69106c], eax
test ebx, ebx
je 0x494f09
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e10
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_multisample
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x691084], eax
je 0x494f95
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494eb0
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_framebuffer_sRGB
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x691088], eax
je 0x494f81
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494ea0
mov dword [esp + 4], eax
mov dword [esp], str.WGL_EXT_framebuffer_sRGB
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x69108c], eax
je 0x494f6d
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e90
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_create_context
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x691094], eax
je 0x494f59
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e80
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_create_context_profile
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x691098], eax
je 0x494f45
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e70
mov dword [esp + 4], eax
mov dword [esp], str.WGL_EXT_create_context_es2_profile
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x69109c], eax
je 0x494f31
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e60
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_create_context_robustness
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x6910a0], eax
je 0x494f1d
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e50
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_create_context_no_error
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x6910a4], eax
je 0x494fe5
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e40
mov dword [esp + 4], eax
mov dword [esp], str.WGL_EXT_swap_control
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x69107c], eax
je 0x494fd1
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e30
mov dword [esp + 4], eax
mov dword [esp], str.WGL_EXT_colorspace
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x691080], eax
je 0x494fbd
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov ebx, dword [0x691074]
je 0x494e24
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_pixel_format
call fcn.00482950
mov ebx, dword [0x691074]
test ebx, ebx
mov dword [0x691090], eax
je 0x494fa9
call dword [0x691058]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
je 0x494e20
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_context_flush_control
call fcn.00482950
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [0x6910a8], eax
call dword [0x691060]
sub esp, 8
mov dword [esp], esi
call dword [0x691050]
sub esp, 4
mov eax, 1
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.WGL:_Failed_to_load_opengl32.dll
mov dword [esp], 0x10008
call fcn.0048b5b0
xor eax, eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
jmp 0x494b1b
xor eax, eax
jmp 0x494dc0
xor eax, eax
jmp 0x494d91
xor eax, eax
jmp 0x494d52
xor eax, eax
jmp 0x494d13
xor eax, eax
jmp 0x494cd4
xor eax, eax
jmp 0x494c95
xor eax, eax
jmp 0x494c56
xor eax, eax
jmp 0x494c17
xor eax, eax
jmp 0x494bd8
xor eax, eax
jmp 0x494b99
xor eax, eax
jmp 0x494b5a
mov dword [esp + 4], str.WGL:_Failed_to_set_pixel_format_for_dummy_context
mov dword [esp], 0x10008
call fcn.0048b5b0
xor eax, eax
jmp 0x494e06
mov dword [esp + 4], str.WGL:_Failed_to_make_dummy_context_current
mov dword [esp], 0x10008
call fcn.0048b5b0
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [0x691060]
sub esp, 8
mov dword [esp], esi
call dword [0x691050]
xor eax, eax
sub esp, 4
jmp 0x494e06
mov eax, dword [0x691070]
test eax, eax
je 0x494e10
call eax
jmp 0x494af7
mov eax, dword [0x691070]
test eax, eax
je 0x494e50
call eax
jmp 0x494cb0
mov eax, dword [0x691070]
test eax, eax
je 0x494e60
call eax
jmp 0x494c71
mov eax, dword [0x691070]
test eax, eax
je 0x494e70
call eax
jmp 0x494c32
mov eax, dword [0x691070]
test eax, eax
je 0x494e80
call eax
jmp 0x494bf3
mov eax, dword [0x691070]
test eax, eax
je 0x494e90
call eax
jmp 0x494bb4
mov eax, dword [0x691070]
test eax, eax
je 0x494ea0
call eax
jmp 0x494b75
mov eax, dword [0x691070]
test eax, eax
je 0x494eb0
call eax
jmp 0x494b36
mov eax, dword [0x691070]
test eax, eax
je 0x494e20
call eax
jmp 0x494dac
mov eax, dword [0x691070]
test eax, eax
je 0x494e24
call eax
jmp 0x494d6d
mov eax, dword [0x691070]
test eax, eax
je 0x494e30
call eax
jmp 0x494d2e
mov eax, dword [0x691070]
test eax, eax
je 0x494e40
call eax
jmp 0x494cef
mov dword [esp + 4], str.WGL:_Failed_to_create_dummy_context
mov dword [esp], 0x10008
call fcn.0048b5b0
xor eax, eax
jmp 0x494e06