Function at 0x10040df0
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x24
push ebx
push esi
push edi
lea eax, [esp + 0x14]
mov byte [esp + 0xf], 0
mov esi, ecx
lea ecx, [esp + 0xf]
push eax
call fcn.1003f5b0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x13]
call fcn.1003f500
lea eax, [esp + 0x10]
push str.QT_OPENGL_DLL
push eax
call dword [sym.imp.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__]
mov eax, dword [esp + 0x18]
add esp, 8
cmp dword [eax + 4], 0
jne 0x10040e51
cmp byte [esp + 0x34], 0
lea ecx, [esp + 0x14]
lea eax, [esp + 0x18]
cmove eax, ecx
lea ecx, [esp + 0x10]
push eax
call dword [sym.imp.Qt5Core.dll_public:_class_QByteArray____thiscall_QByteArray::operator_class_QByteArray_const__]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll__toLower_QByteArray__QGBE_AV1_XZ]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_class_QByteArray____thiscall_QByteArray::operator_class_QByteArray__]
lea ecx, [esp + 0x34]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1003f480
add esp, 8
mov byte [esi + 0x2c], al
call fcn.1000f9a0
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_bool___thiscall_QLoggingCategory::isDebugEnabled_void_const]
test al, al
je 0x10040ee4
call fcn.1000f9a0
lea ecx, [esp + 0x1c]
push dword [eax + 4]
push 0
push 0
push 0
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const___char_const__]
lea ecx, [esp + 0x34]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
push str.Qt:_Using_WGL_and_OpenGL_from
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___class_QByteArray_const__]
lea ecx, [esp + 0x34]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
lea ecx, [esp + 0x10]
call dword [sym.imp.Qt5Core.dll_public:_char_const____thiscall_QByteArray::constData_void_const]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call edi
mov dword [esi + 0x28], eax
test eax, eax
jne 0x10040f4b
lea ecx, [esp + 0x10]
call dword [sym.imp.Qt5Core.dll_public:_char_const____thiscall_QByteArray::constData_void_const]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push str.Failed_to_load__s
push eax
call dword [sym.imp.Qt5Core.dll_void___cdecl_qErrnoWarning_int__char_const__]
add esp, 0xc
xor bl, bl
lea ecx, [esp + 0x10]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x18]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
pop edi
pop esi
mov al, bl
pop ebx
add esp, 0x24
ret 4
cmp byte [esi + 0x2c], 0
je 0x10040f5b
push str.opengl32.dll
call edi
mov eax, dword [esi + 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10040f72
push str.wglCreateContext
push eax
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10040f76
xor eax, eax
xor ecx, ecx
mov dword [esi], eax
test ecx, ecx
je 0x10040f89
push str.wglDeleteContext
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10040f8d
xor eax, eax
xor ecx, ecx
mov dword [esi + 4], eax
test ecx, ecx
je 0x10040fa1
push str.wglGetCurrentContext
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10040fa5
xor eax, eax
xor ecx, ecx
mov dword [esi + 8], eax
test ecx, ecx
je 0x10040fb9
push str.wglGetCurrentDC
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10040fbd
xor eax, eax
xor ecx, ecx
mov dword [esi + 0xc], eax
test ecx, ecx
je 0x10040fd1
push str.wglGetProcAddress
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10040fd5
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x10], eax
test ecx, ecx
je 0x10040fe9
push str.wglMakeCurrent
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10040fed
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x14], eax
test ecx, ecx
je 0x10041001
push str.wglShareLists
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10041005
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x18], eax
test ecx, ecx
je 0x10041019
push str.wglSwapBuffers
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x1004101d
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x30], eax
test ecx, ecx
je 0x10041031
push str.wglSetPixelFormat
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10041035
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x34], eax
test ecx, ecx
je 0x10041049
push str.wglDescribePixelFormat
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x1004104d
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x38], eax
test ecx, ecx
je 0x10041061
push str.glGetError
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x10041065
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x1c], eax
test ecx, ecx
je 0x10041079
push str.glGetIntegerv
push ecx
call edi
mov ecx, dword [esi + 0x28]
jmp 0x1004107d
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x20], eax
test ecx, ecx
je 0x1004108e
push str.glGetString
push ecx
call edi
jmp 0x10041090
xor eax, eax
cmp dword [esi], 0
mov dword [esi + 0x24], eax
je 0x10040f20
cmp dword [esi + 0x1c], 0
je 0x10040f20
test eax, eax
je 0x10040f20
mov bl, 1
jmp 0x10040f22