Function at 0x14004fe20
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x310
mov rax, qword [0x1402ecca8]
xor rax, rsp
mov qword [rsp + 0x300], rax
xor r13b, r13b
xor ebx, ebx
mov esi, ebx
mov edi, ebx
xor edx, edx
mov r8d, 0x201
lea rcx, [rsp + 0xf0]
call sub.VCRUNTIME140.dll_memset
lea rcx, str.opengl32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r14, rax
test rax, rax
jne 0x14004fe98
lea rcx, str._lv_detect_:_gl_hw_load_opengl32.dll_failed_
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x14005016e
lea rdx, str.wglCreateContext
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
mov qword [rsp + 0x68], rax
lea rdx, str.wglDeleteContext
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x60], rax
lea rdx, str.wglMakeCurrent
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r15, r15
je 0x14005010f
cmp qword [rsp + 0x60], rbx
je 0x14005010f
test rax, rax
je 0x14005010f
mov qword [rsp + 0x80], rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmm1, xmmword [0x1401dddf0]
movdqa xmmword [rsp + 0xa0], xmm1
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
mov qword [rsp + 0x78], rax
lea r15, str.ve_detector_test_class
mov qword [rsp + 0xb0], r15
mov dword [rsp + 0x70], 0x20
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x140050128
mov qword [rsp + 0x58], rbx
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 0x1e0
mov dword [rsp + 0x30], 0x280
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.ve_detector_test_window
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rsi, rax
test rax, rax
je 0x140050128
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDC]
mov rdi, rax
test rax, rax
je 0x140050128
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xc0], 0x10028
mov dword [rsp + 0xc4], 0x64
mov byte [rsp + 0xc8], al
lea rdx, [rsp + 0xc0]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_ChoosePixelFormat]
test eax, eax
je 0x140050128
lea r8, [rsp + 0xc0]
mov edx, eax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetPixelFormat]
test eax, eax
je 0x140050128
mov rcx, rdi
call qword [rsp + 0x68]
mov rbx, rax
test rax, rax
je 0x140050128
mov rdx, rax
mov rcx, rdi
call r12
test eax, eax
je 0x140050128
lea rdx, str.glGetString
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140050084
lea rcx, str._lv_detect_:_gl_hw_get_glGetString_api_failed_
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x140050128
mov ecx, 0x1f02
call rax
test rax, rax
je 0x140050128
mov r9, rax
lea r8, [0x1401ddc70]
mov edx, 0x200
lea rcx, [rsp + 0xf0]
call fcn.1400509e0
mov edx, 0x2e
lea rcx, [rsp + 0xf0]
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1400500ca
mov byte [rax], r13b
lea rcx, [rsp + 0xf0]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
nop
cmp eax, 1
jbe 0x1400500fe
mov rcx, r14
call fcn.1400501b0
test al, al
jne 0x1400500f9
lea rcx, str._lv_detect_:_gl_hw_check_opengl_apis_not_support_
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x140050128
mov r13b, 1
jmp 0x140050128
lea rcx, str._lv_detect_:_gl_hw_opengl_version___2.0_for_qt6_
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor al, al
jmp 0x140050172
lea rcx, str._lv_detect_:_gl_hw_get_opengl32_context_api_failed_
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea r15, str.ve_detector_test_class
test r12, r12
je 0x14005012f
xor edx, edx
xor ecx, ecx
call r12
test rbx, rbx
je 0x14005013b
mov rcx, rbx
call qword [rsp + 0x60]
test rsi, rsi
je 0x14005016e
test rdi, rdi
je 0x140050151
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rsi
call qword [sym.imp.USER32.dll_DestroyWindow]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.USER32.dll_UnregisterClassW]
movzx eax, r13b
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.140175f30
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret