Function at 0x14002c280
Capabilities:
Link many functions at runtime

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov rbx, qword [0x14006d9c0]
mov eax, 1
cmp qword [rbx + 0x2558], 0
je 0x14002c2b0
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, str.opengl32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov qword [rbx + 0x2558], rax
je 0x14002c720
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.wglCreateContext
mov rcx, rax
call rsi
mov rcx, qword [rbx + 0x2558]
lea rdx, str.wglDeleteContext
mov qword [rbx + 0x2560], rax
lea rdi, [rsp + 0x20]
call rsi
mov rcx, qword [rbx + 0x2558]
lea rdx, str.wglGetProcAddress
mov qword [rbx + 0x2568], rax
call rsi
mov rcx, qword [rbx + 0x2558]
lea rdx, str.wglGetCurrentDC
mov qword [rbx + 0x2570], rax
call rsi
mov rcx, qword [rbx + 0x2558]
lea rdx, str.wglGetCurrentContext
mov qword [rbx + 0x2578], rax
call rsi
mov rcx, qword [rbx + 0x2558]
lea rdx, str.wglMakeCurrent
mov qword [rbx + 0x2580], rax
call rsi
lea rdx, str.wglShareLists
mov rcx, qword [rbx + 0x2558]
mov qword [rbx + 0x2588], rax
call rsi
mov rcx, qword [rbx + 0x16b8]
mov qword [rbx + 0x2590], rax
call qword [sym.imp.USER32.dll_GetDC]
mov rdx, rdi
mov qword [rsp + 0x28], 0
mov rsi, rax
mov byte [rsp + 0x29], 0x18
movabs rax, 0x2500010028
mov rcx, rsi
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, rdi
mov rcx, rsi
mov edx, eax
call qword [sym.imp.GDI32.dll_SetPixelFormat]
test eax, eax
je 0x14002c740
mov rcx, rsi
call qword [rbx + 0x2560]
test rax, rax
mov rdi, rax
je 0x14002c901
call qword [rbx + 0x2578]
mov rbp, rax
call qword [rbx + 0x2580]
mov rdx, rdi
mov rcx, rsi
mov r12, rax
call qword [rbx + 0x2588]
test eax, eax
je 0x14002c8d4
lea rcx, str.wglGetExtensionsStringEXT
call qword [rbx + 0x2570]
lea rcx, str.wglGetExtensionsStringARB
mov qword [rbx + 0x25a8], rax
call qword [rbx + 0x2570]
lea rcx, str.wglCreateContextAttribsARB
mov qword [rbx + 0x25b0], rax
call qword [rbx + 0x2570]
lea rcx, str.wglSwapIntervalEXT
mov qword [rbx + 0x25b8], rax
call qword [rbx + 0x2570]
lea rcx, str.wglGetPixelFormatAttribivARB
mov qword [rbx + 0x2598], rax
call qword [rbx + 0x2570]
mov rsi, qword [rbx + 0x25b0]
mov qword [rbx + 0x25a0], rax
test rsi, rsi
je 0x14002c883
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c4ae
lea rcx, str.WGL_ARB_multisample
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25c8], eax
test rsi, rsi
je 0x14002c850
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c4e3
lea rcx, str.WGL_ARB_framebuffer_sRGB
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25cc], eax
test rsi, rsi
je 0x14002c8c1
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c518
lea rcx, str.WGL_EXT_framebuffer_sRGB
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25d0], eax
test rsi, rsi
je 0x14002c870
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c54d
lea rcx, str.WGL_ARB_create_context
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25d8], eax
test rsi, rsi
je 0x14002c8a0
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c582
lea rcx, str.WGL_ARB_create_context_profile
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25dc], eax
test rsi, rsi
je 0x14002c830
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c5b7
lea rcx, str.WGL_EXT_create_context_es2_profile
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25e0], eax
test rsi, rsi
je 0x14002c810
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c5ec
lea rcx, str.WGL_ARB_create_context_robustness
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25e4], eax
test rsi, rsi
je 0x14002c7d0
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c621
lea rcx, str.WGL_ARB_create_context_no_error
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25e8], eax
test rsi, rsi
je 0x14002c7f0
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c656
lea rcx, str.WGL_EXT_swap_control
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25c0], eax
test rsi, rsi
je 0x14002c7b0
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c68b
lea rcx, str.WGL_EXT_colorspace
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25c4], eax
test rsi, rsi
je 0x14002c790
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c6c0
lea rcx, str.WGL_ARB_pixel_format
mov rdx, rax
call sym._glfwStringInExtensionString
mov rsi, qword [rbx + 0x25b0]
mov dword [rbx + 0x25d4], eax
test rsi, rsi
je 0x14002c770
call qword [rbx + 0x2578]
mov rcx, rax
call rsi
test rax, rax
je 0x14002c760
lea rcx, str.WGL_ARB_context_flush_control
mov rdx, rax
call sym._glfwStringInExtensionString
mov rdx, r12
mov rcx, rbp
mov dword [rbx + 0x25ec], eax
call qword [rbx + 0x2588]
mov rcx, rdi
call qword [rbx + 0x2568]
mov eax, 1
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rdx, str.WGL:_Failed_to_load_opengl32.dll
mov ecx, 0x10008
call sym._glfwInputErrorWin32
xor eax, eax
jmp 0x14002c2a0
lea rdx, str.WGL:_Failed_to_set_pixel_format_for_dummy_context
mov ecx, 0x10008
call sym._glfwInputErrorWin32
xor eax, eax
jmp 0x14002c2a0
xor eax, eax
jmp 0x14002c6f5
mov dword [rbx + 0x25d4], 0
nop
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c760
call rax
jmp 0x14002c6e1
mov dword [rbx + 0x25c4], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c764
call rax
jmp 0x14002c6ac
mov dword [rbx + 0x25c0], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c783
call rax
jmp 0x14002c677
mov dword [rbx + 0x25e4], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c7e3
call rax
jmp 0x14002c60d
mov dword [rbx + 0x25e8], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c7a3
call rax
jmp 0x14002c642
mov dword [rbx + 0x25e0], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c7c3
call rax
jmp 0x14002c5d8
mov dword [rbx + 0x25dc], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c803
call rax
jmp 0x14002c5a3
mov dword [rbx + 0x25c8], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c8b7
call rax
jmp 0x14002c4cf
mov dword [rbx + 0x25d0], 0
nop dword [rax]
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c896
call rax
jmp 0x14002c539
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c843
call rax
jmp 0x14002c49a
mov dword [rbx + 0x25d8], 0
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c823
call rax
jmp 0x14002c56e
mov dword [rbx + 0x25cc], 0
mov rax, qword [rbx + 0x25a8]
test rax, rax
je 0x14002c863
call rax
jmp 0x14002c504
lea rdx, str.WGL:_Failed_to_make_dummy_context_current
mov ecx, 0x10008
call sym._glfwInputErrorWin32
mov rdx, r12
mov rcx, rbp
call qword [rbx + 0x2588]
mov rcx, rdi
call qword [rbx + 0x2568]
xor eax, eax
jmp 0x14002c2a0
lea rdx, str.WGL:_Failed_to_create_dummy_context
mov ecx, 0x10008
call sym._glfwInputErrorWin32
xor eax, eax
jmp 0x14002c2a0