Function at 0x40662d
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x4bc040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x4bf450], 0
push ebx
push esi
push edi
je 0x406651
xor eax, eax
inc eax
jmp 0x4068ca
push str.opengl32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4bf450], eax
test eax, eax
jne 0x40667b
mov edx, str.WGL:_Failed_to_load_opengl32.dll
mov ecx, 0x10008
call fcn.004073ae
xor eax, eax
jmp 0x4068ca
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.wglCreateContext
push eax
call esi
push str.wglDeleteContext
push dword [0x4bf450]
mov dword [0x4bf454], eax
call esi
push str.wglGetProcAddress
push dword [0x4bf450]
mov dword [0x4bf458], eax
call esi
push str.wglGetCurrentDC
push dword [0x4bf450]
mov dword [0x4bf45c], eax
call esi
push str.wglGetCurrentContext
push dword [0x4bf450]
mov dword [0x4bf460], eax
call esi
push str.wglMakeCurrent
push dword [0x4bf450]
mov dword [0x4bf464], eax
call esi
push str.wglShareLists
push dword [0x4bf450]
mov dword [0x4bf468], eax
call esi
push dword [0x4be630]
mov dword [0x4bf46c], eax
call dword [sym.imp.USER32.dll_GetDC]
push 0xa
mov ebx, eax
lea edi, [ebp - 0x2c]
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
push 0x28
pop eax
mov word [ebp - 0x2c], ax
xor eax, eax
inc eax
mov dword [ebp - 0x28], 0x25
mov word [ebp - 0x2a], ax
lea eax, [ebp - 0x2c]
push eax
push eax
push ebx
mov word [ebp - 0x24], 0x1800
call dword [sym.imp.GDI32.dll_ChoosePixelFormat]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetPixelFormat]
test eax, eax
jne 0x40674f
mov edx, str.WGL:_Failed_to_set_pixel_format_for_dummy_context
jmp 0x40666a
push ebx
call dword [0x4bf454]
mov esi, eax
test esi, esi
jne 0x406766
mov edx, str.WGL:_Failed_to_create_dummy_context
jmp 0x40666a
call dword [0x4bf460]
mov edi, eax
call dword [0x4bf464]
push esi
push ebx
mov dword [ebp - 0x30], eax
call dword [0x4bf468]
test eax, eax
jne 0x406799
mov edx, str.WGL:_Failed_to_make_dummy_context_current
mov ecx, 0x10008
call fcn.004073ae
xor ebx, ebx
jmp 0x4068b7
push str.wglGetExtensionsStringEXT
call dword [0x4bf45c]
push str.wglGetExtensionsStringARB
mov dword [0x4bf478], eax
call dword [0x4bf45c]
push str.wglCreateContextAttribsARB
mov dword [0x4bf47c], eax
call dword [0x4bf45c]
push str.wglSwapIntervalEXT
mov dword [0x4bf480], eax
call dword [0x4bf45c]
push str.wglGetPixelFormatAttribivARB
mov dword [0x4bf470], eax
call dword [0x4bf45c]
push str.WGL_ARB_multisample
mov dword [0x4bf474], eax
call fcn.004065b1
mov dword [0x4bf48c], eax
mov dword [esp], str.WGL_ARB_framebuffer_sRGB
call fcn.004065b1
mov dword [0x4bf490], eax
mov dword [esp], str.WGL_EXT_framebuffer_sRGB
call fcn.004065b1
mov dword [0x4bf494], eax
mov dword [esp], str.WGL_ARB_create_context
call fcn.004065b1
mov dword [0x4bf49c], eax
mov dword [esp], str.WGL_ARB_create_context_profile
call fcn.004065b1
mov dword [0x4bf4a0], eax
mov dword [esp], str.WGL_EXT_create_context_es2_profile
call fcn.004065b1
mov dword [0x4bf4a4], eax
mov dword [esp], str.WGL_ARB_create_context_robustness
call fcn.004065b1
mov dword [0x4bf4a8], eax
mov dword [esp], str.WGL_ARB_create_context_no_error
call fcn.004065b1
mov dword [0x4bf4ac], eax
mov dword [esp], str.WGL_EXT_swap_control
call fcn.004065b1
mov dword [0x4bf484], eax
mov dword [esp], str.WGL_EXT_colorspace
call fcn.004065b1
mov dword [0x4bf488], eax
mov dword [esp], str.WGL_ARB_pixel_format
call fcn.004065b1
mov dword [0x4bf498], eax
mov dword [esp], str.WGL_ARB_context_flush_control
call fcn.004065b1
xor ebx, ebx
mov dword [0x4bf4b0], eax
pop ecx
inc ebx
push dword [ebp - 0x30]
push edi
call dword [0x4bf468]
push esi
call dword [0x4bf458]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040def1
leave
ret