Function at 0x406a32
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x4bb014]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x4be450], 0
push ebx
push esi
push edi
je 0x406a56
xor eax, eax
inc eax
jmp 0x406ccf
push str.opengl32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4be450], eax
test eax, eax
jne 0x406a80
mov edx, str.WGL:_Failed_to_load_opengl32.dll
mov ecx, 0x10008
call fcn.004077c6
xor eax, eax
jmp 0x406ccf
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.wglCreateContext
push eax
call esi
push str.wglDeleteContext
push dword [0x4be450]
mov dword [0x4be454], eax
call esi
push str.wglGetProcAddress
push dword [0x4be450]
mov dword [0x4be458], eax
call esi
push str.wglGetCurrentDC
push dword [0x4be450]
mov dword [0x4be45c], eax
call esi
push str.wglGetCurrentContext
push dword [0x4be450]
mov dword [0x4be460], eax
call esi
push str.wglMakeCurrent
push dword [0x4be450]
mov dword [0x4be464], eax
call esi
push str.wglShareLists
push dword [0x4be450]
mov dword [0x4be468], eax
call esi
push dword [0x4bd630]
mov dword [0x4be46c], 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 0x406b54
mov edx, str.WGL:_Failed_to_set_pixel_format_for_dummy_context
jmp 0x406a6f
push ebx
call dword [0x4be454]
mov esi, eax
test esi, esi
jne 0x406b6b
mov edx, str.WGL:_Failed_to_create_dummy_context
jmp 0x406a6f
call dword [0x4be460]
mov edi, eax
call dword [0x4be464]
push esi
push ebx
mov dword [ebp - 0x30], eax
call dword [0x4be468]
test eax, eax
jne 0x406b9e
mov edx, str.WGL:_Failed_to_make_dummy_context_current
mov ecx, 0x10008
call fcn.004077c6
xor ebx, ebx
jmp 0x406cbc
push str.wglGetExtensionsStringEXT
call dword [0x4be45c]
push str.wglGetExtensionsStringARB
mov dword [0x4be478], eax
call dword [0x4be45c]
push str.wglCreateContextAttribsARB
mov dword [0x4be47c], eax
call dword [0x4be45c]
push str.wglSwapIntervalEXT
mov dword [0x4be480], eax
call dword [0x4be45c]
push str.wglGetPixelFormatAttribivARB
mov dword [0x4be470], eax
call dword [0x4be45c]
push str.WGL_ARB_multisample
mov dword [0x4be474], eax
call fcn.004069b6
mov dword [0x4be48c], eax
mov dword [esp], str.WGL_ARB_framebuffer_sRGB
call fcn.004069b6
mov dword [0x4be490], eax
mov dword [esp], str.WGL_EXT_framebuffer_sRGB
call fcn.004069b6
mov dword [0x4be494], eax
mov dword [esp], str.WGL_ARB_create_context
call fcn.004069b6
mov dword [0x4be49c], eax
mov dword [esp], str.WGL_ARB_create_context_profile
call fcn.004069b6
mov dword [0x4be4a0], eax
mov dword [esp], str.WGL_EXT_create_context_es2_profile
call fcn.004069b6
mov dword [0x4be4a4], eax
mov dword [esp], str.WGL_ARB_create_context_robustness
call fcn.004069b6
mov dword [0x4be4a8], eax
mov dword [esp], str.WGL_ARB_create_context_no_error
call fcn.004069b6
mov dword [0x4be4ac], eax
mov dword [esp], str.WGL_EXT_swap_control
call fcn.004069b6
mov dword [0x4be484], eax
mov dword [esp], str.WGL_EXT_colorspace
call fcn.004069b6
mov dword [0x4be488], eax
mov dword [esp], str.WGL_ARB_pixel_format
call fcn.004069b6
mov dword [0x4be498], eax
mov dword [esp], str.WGL_ARB_context_flush_control
call fcn.004069b6
xor ebx, ebx
mov dword [0x4be4b0], eax
pop ecx
inc ebx
push dword [ebp - 0x30]
push edi
call dword [0x4be468]
push esi
call dword [0x4be458]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040e4c9
leave
ret