Function at 0x2e3c43ff0
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 [0x2e3f0b050]
mov rcx, rax
mov qword [rbx + 0x2568], rax
test rax, rax
je 0x2e3c44320
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.wglCreateContext
call r12
mov rcx, qword [rbx + 0x2568]
lea rdx, str.wglDeleteContext
mov qword [rbx + 0x2570], rax
call r12
mov rcx, qword [rbx + 0x2568]
lea rdx, str.wglGetProcAddress
mov qword [rbx + 0x2578], rax
call r12
mov rcx, qword [rbx + 0x2568]
lea rdx, str.wglGetCurrentDC
mov qword [rbx + 0x2580], rax
call r12
mov rcx, qword [rbx + 0x2568]
lea rdx, str.wglGetCurrentContext
mov qword [rbx + 0x2588], rax
call r12
mov rcx, qword [rbx + 0x2568]
lea rdx, str.wglMakeCurrent
mov qword [rbx + 0x2590], rax
call r12
lea rdx, str.wglShareLists
mov rcx, qword [rbx + 0x2568]
mov qword [rbx + 0x2598], rax
call r12
mov rcx, qword [rbx + 0x16c8]
lea r12, [rsp + 0x20]
mov qword [rbx + 0x25a0], 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 0x2e3c44340
mov rcx, r13
call qword [rbx + 0x2570]
mov r14, rax
test rax, rax
je 0x2e3c44358
call qword [rbx + 0x2588]
mov r15, rax
call qword [rbx + 0x2590]
mov rdx, r14
mov rcx, r13
mov rsi, rax
call qword [rbx + 0x2598]
mov r12d, eax
test eax, eax
je 0x2e3c442f0
lea rcx, str.wglGetExtensionsStringEXT
mov r12d, 1
call qword [rbx + 0x2580]
lea rcx, str.wglGetExtensionsStringARB
mov qword [rbx + 0x25b8], rax
call qword [rbx + 0x2580]
lea rcx, str.wglCreateContextAttribsARB
mov qword [rbx + 0x25c0], rax
call qword [rbx + 0x2580]
lea rcx, str.wglSwapIntervalEXT
mov qword [rbx + 0x25c8], rax
call qword [rbx + 0x2580]
lea rcx, str.wglGetPixelFormatAttribivARB
mov qword [rbx + 0x25a8], rax
call qword [rbx + 0x2580]
lea rcx, str.WGL_ARB_multisample
mov qword [rbx + 0x25b0], rax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_framebuffer_sRGB
mov dword [rbx + 0x25d8], eax
call fcn.2e3c41f80
lea rcx, str.WGL_EXT_framebuffer_sRGB
mov dword [rbx + 0x25dc], eax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_create_context
mov dword [rbx + 0x25e0], eax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_create_context_profile
mov dword [rbx + 0x25e8], eax
call fcn.2e3c41f80
lea rcx, str.WGL_EXT_create_context_es2_profile
mov dword [rbx + 0x25ec], eax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_create_context_robustness
mov dword [rbx + 0x25f0], eax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_create_context_no_error
mov dword [rbx + 0x25f4], eax
call fcn.2e3c41f80
lea rcx, str.WGL_EXT_swap_control
mov dword [rbx + 0x25f8], eax
call fcn.2e3c41f80
lea rcx, str.WGL_EXT_colorspace
mov dword [rbx + 0x25d0], eax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_pixel_format
mov dword [rbx + 0x25d4], eax
call fcn.2e3c41f80
lea rcx, str.WGL_ARB_context_flush_control
mov dword [rbx + 0x25e4], eax
call fcn.2e3c41f80
mov rdx, rsi
mov rcx, r15
mov dword [rbx + 0x25fc], eax
call qword [rbx + 0x2598]
mov rcx, r14
call qword [rbx + 0x2578]
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.2e3c376b0
mov rcx, r15
mov rdx, rsi
call qword [rbx + 0x2598]
mov rcx, r14
call qword [rbx + 0x2578]
jmp 0x2e3c442d4
lea rdx, str.WGL:_Failed_to_load_opengl32.dll
mov ecx, 0x10008
xor r12d, r12d
call fcn.2e3c376b0
jmp 0x2e3c442d4
lea rdx, str.WGL:_Failed_to_set_pixel_format_for_dummy_context
mov ecx, 0x10008
call fcn.2e3c376b0
jmp 0x2e3c442d4
lea rdx, str.WGL:_Failed_to_create_dummy_context
mov ecx, 0x10008
xor r12d, r12d
call fcn.2e3c376b0
jmp 0x2e3c442d4