Function at 0x140311970
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rbx
sub rsp, 0x58
lea rcx, str.opengl32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, qword [0x14068b040]
mov rcx, rax
mov qword [rbx + 0x2550], rax
test rax, rax
je 0x140311ca0
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.wglCreateContext
call r12
mov rcx, qword [rbx + 0x2550]
lea rdx, str.wglDeleteContext
mov qword [rbx + 0x2558], rax
call r12
mov rcx, qword [rbx + 0x2550]
lea rdx, str.wglGetProcAddress
mov qword [rbx + 0x2560], rax
call r12
mov rcx, qword [rbx + 0x2550]
lea rdx, str.wglGetCurrentDC
mov qword [rbx + 0x2568], rax
call r12
mov rcx, qword [rbx + 0x2550]
lea rdx, str.wglGetCurrentContext
mov qword [rbx + 0x2570], rax
call r12
mov rcx, qword [rbx + 0x2550]
lea rdx, str.wglMakeCurrent
mov qword [rbx + 0x2578], rax
call r12
lea rdx, str.wglShareLists
mov rcx, qword [rbx + 0x2550]
mov qword [rbx + 0x2580], rax
call r12
mov rcx, qword [rbx + 0x16b8]
lea r12, [rsp + 0x20]
mov qword [rbx + 0x2588], rax
call qword [sym.imp.USER32.dll_GetDC]
mov rdx, r12
mov qword [rsp + 0x28], 0
mov r13, rax
mov byte [rsp + 0x29], 0x18
movabs rax, 0x2500010028
mov rcx, r13
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
call qword [sym.imp.GDI32.dll_ChoosePixelFormat]
mov r8, r12
mov rcx, r13
mov edx, eax
call qword [sym.imp.GDI32.dll_SetPixelFormat]
mov r12d, eax
test eax, eax
je 0x140311cc0
mov rcx, r13
call qword [rbx + 0x2558]
mov r14, rax
test rax, rax
je 0x140311cd8
call qword [rbx + 0x2570]
mov r15, rax
call qword [rbx + 0x2578]
mov rdx, r14
mov rcx, r13
mov rsi, rax
call qword [rbx + 0x2580]
mov r12d, eax
test eax, eax
je 0x140311c70
lea rcx, str.wglGetExtensionsStringEXT
mov r12d, 1
call qword [rbx + 0x2568]
lea rcx, str.wglGetExtensionsStringARB
mov qword [rbx + 0x25a0], rax
call qword [rbx + 0x2568]
lea rcx, str.wglCreateContextAttribsARB
mov qword [rbx + 0x25a8], rax
call qword [rbx + 0x2568]
lea rcx, str.wglSwapIntervalEXT
mov qword [rbx + 0x25b0], rax
call qword [rbx + 0x2568]
lea rcx, str.wglGetPixelFormatAttribivARB
mov qword [rbx + 0x2590], rax
call qword [rbx + 0x2568]
lea rcx, str.WGL_ARB_multisample
mov qword [rbx + 0x2598], rax
call fcn.140310b90
lea rcx, str.WGL_ARB_framebuffer_sRGB
mov dword [rbx + 0x25c0], eax
call fcn.140310b90
lea rcx, str.WGL_EXT_framebuffer_sRGB
mov dword [rbx + 0x25c4], eax
call fcn.140310b90
lea rcx, str.WGL_ARB_create_context
mov dword [rbx + 0x25c8], eax
call fcn.140310b90
lea rcx, str.WGL_ARB_create_context_profile
mov dword [rbx + 0x25d0], eax
call fcn.140310b90
lea rcx, str.WGL_EXT_create_context_es2_profile
mov dword [rbx + 0x25d4], eax
call fcn.140310b90
lea rcx, str.WGL_ARB_create_context_robustness
mov dword [rbx + 0x25d8], eax
call fcn.140310b90
lea rcx, str.WGL_ARB_create_context_no_error
mov dword [rbx + 0x25dc], eax
call fcn.140310b90
lea rcx, str.WGL_EXT_swap_control
mov dword [rbx + 0x25e0], eax
call fcn.140310b90
lea rcx, str.WGL_EXT_colorspace
mov dword [rbx + 0x25b8], eax
call fcn.140310b90
lea rcx, str.WGL_ARB_pixel_format
mov dword [rbx + 0x25bc], eax
call fcn.140310b90
lea rcx, str.WGL_ARB_context_flush_control
mov dword [rbx + 0x25cc], eax
call fcn.140310b90
mov rdx, rsi
mov rcx, r15
mov dword [rbx + 0x25e4], eax
call qword [rbx + 0x2580]
mov rcx, r14
call qword [rbx + 0x2560]
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.WGL:_Failed_to_make_dummy_context_current
mov ecx, 0x10008
call fcn.140311370
mov rcx, r15
mov rdx, rsi
call qword [rbx + 0x2580]
mov rcx, r14
call qword [rbx + 0x2560]
jmp 0x140311c54
lea rdx, str.WGL:_Failed_to_load_opengl32.dll
mov ecx, 0x10008
xor r12d, r12d
call fcn.140311370
jmp 0x140311c54
lea rdx, str.WGL:_Failed_to_set_pixel_format_for_dummy_context
mov ecx, 0x10008
call fcn.140311370
jmp 0x140311c54
lea rdx, str.WGL:_Failed_to_create_dummy_context
mov ecx, 0x10008
xor r12d, r12d
call fcn.140311370
jmp 0x140311c54