Function at 0x1400a8a55
Capabilities:
Get thread local storage value
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x6f8
movdqa xmmword [rsp + 0x6e0], xmm10
movdqa xmmword [rsp + 0x6d0], xmm9
movdqa xmmword [rsp + 0x6c0], xmm8
movdqa xmmword [rsp + 0x6b0], xmm7
movdqa xmmword [rsp + 0x6a0], xmm6
cmp dword [0x14027c370], 0
je 0x1400a8bc4
mov r12d, edx
mov ebx, ecx
test ecx, ecx
jle 0x1400a8bd7
test r12d, r12d
jle 0x1400a8bd7
lea rsi, [0x14027c390]
lea rdi, [rsp + 0x248]
mov ecx, 9
rep movsq qword [rdi], qword [rsi]
mov ebp, dword [0x14027c720]
mov r15d, dword [0x14027c724]
mov r13d, dword [0x14027c728]
mov r14d, dword [0x14027c72c]
mov eax, dword [0x14027c730]
mov dword [rsp + 0xa0], eax
mov esi, dword [0x14027c734]
mov eax, dword [0x14027c738]
mov dword [rsp + 0xbc], eax
mov eax, dword [0x14027c73c]
mov qword [rsp + 0xa8], rax
mov eax, dword [0x14027c740]
mov qword [rsp + 0x68], rax
mov eax, dword [0x14027c744]
mov qword [rsp + 0xb0], rax
lea rdx, [0x14027c3d8]
lea rdi, [rsp + 0x358]
mov r8d, 0x348
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov dword [rdi], ebx
mov dword [rdi + 4], r12d
lea rax, [0x14025e7a9]
mov qword [rdi + 8], rax
lea eax, [r15 - 0x36001]
cmp eax, 3
jae 0x1400a8bf3
test ebp, ebp
je 0x1400a8cc0
cmp ebp, 0x30001
je 0x1400a8c07
cmp ebp, 0x30002
jne 0x1400a8c31
test r13d, r13d
jle 0x1400a8bbb
test r14d, r14d
js 0x1400a8bbb
cmp r13d, 1
jne 0x1400a8ba8
cmp r14d, 1
ja 0x1400a8bbb
cmp r13d, 2
jne 0x1400a8cc0
test r14d, r14d
je 0x1400a8cc0
lea rdx, str.Invalid_OpenGL_ES_version__i._i
jmp 0x1400a8c24
xor esi, esi
mov ecx, 0x10001
xor edx, edx
call fcn.1400ab5f4
jmp 0x1400a902c
lea rdx, str.Invalid_window_size__ix_i
mov ecx, 0x10004
mov r8d, ebx
mov r9d, r12d
call fcn.1400ab5f4
jmp 0x1400a902a
lea rdx, str.Invalid_context_creation_API_0x_08X
mov ecx, 0x10003
mov r8d, r15d
jmp 0x1400a9025
test r13d, r13d
jle 0x1400a8c1d
test r14d, r14d
js 0x1400a8c1d
cmp r13d, 1
jne 0x1400a8c45
cmp r14d, 5
jbe 0x1400a8c45
lea rdx, str.Invalid_OpenGL_version__i._i
mov ecx, 0x10004
mov r8d, r13d
mov r9d, r14d
jmp 0x1400a8be9
lea rdx, str.Invalid_client_API_0x_08X
mov ecx, 0x10003
mov r8d, ebp
jmp 0x1400a9025
cmp r13d, 3
je 0x1400a8c5b
cmp r13d, 2
jne 0x1400a8c57
cmp r14d, 1
ja 0x1400a8c1d
xor eax, eax
jmp 0x1400a8c63
mov al, 1
cmp r14d, 4
jae 0x1400a8c1d
mov r8, qword [rsp + 0xa8]
lea ecx, [r8 - 0x32001]
cmp ecx, 2
jae 0x1400a8c91
cmp r14d, 2
setb cl
cmp r13d, 3
jb 0x1400a8c88
and al, cl
je 0x1400a8cc0
lea rdx, str.Context_profiles_are_only_defined_for_OpenGL_version_3.2_and_above
jmp 0x1400a8cb1
test r8d, r8d
jne 0x1400a908e
cmp dword [rsp + 0xa0], 0
je 0x1400a8cc0
cmp r13d, 2
ja 0x1400a8cc0
lea rdx, str.Forward_compatibility_is_only_defined_for_OpenGL_version_3.0_and_above
mov ecx, 0x10004
call fcn.1400ab5f4
jmp 0x1400a902a
mov r8, qword [rsp + 0x68]
lea eax, [r8 - 0x31001]
cmp eax, 2
jb 0x1400a8cda
test r8d, r8d
jne 0x1400a9010
mov r8, qword [rsp + 0xb0]
lea eax, [r8 - 0x35001]
cmp eax, 2
jb 0x1400a8cf7
test r8d, r8d
jne 0x1400a9019
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0x78], ebp
mov dword [rsp + 0xa4], esi
mov ecx, 1
mov edx, 0x3a0
call sub.msvcrt.dll_calloc
mov rsi, rax
movdqu xmm0, xmmword [rsp + 0x378]
movdqu xmm1, xmmword [rsp + 0x388]
pshufd xmm6, xmm0, 0xee
pshufd xmm2, xmm0, 0x55
punpcklqdq xmm0, xmm1
mov rax, qword [0x14027c770]
mov qword [rsi], rax
mov qword [0x14027c770], rsi
mov dword [rsi + 0x34], ebx
mov dword [rsi + 0x38], r12d
mov rax, qword [rsp + 0x248]
mov qword [rsi + 0x3c], rax
mov eax, dword [rsp + 0x250]
mov dword [rsi + 0x44], eax
mov eax, dword [0x14027c758]
mov dword [rsi + 0x48], eax
mov eax, dword [rsp + 0x368]
mov dword [rsi + 8], eax
mov eax, dword [rsp + 0x370]
mov dword [rsi + 0xc], eax
movdqu xmmword [rsi + 0x10], xmm0
mov dword [rsi + 0x84], 0x34001
mov eax, dword [rsp + 0x280]
mov dword [rsp + 0x9c], eax
mov dword [rsi + 0x30], eax
or qword [rsi + 0x70], 0xffffffffffffffff
pcmpeqd xmm0, xmm0
movdqu xmmword [rsi + 0x60], xmm0
movd ebp, xmm6
movd r15d, xmm2
mov rcx, rsi
call fcn.1400ad4cf
xor ecx, ecx
test r15d, r15d
setne cl
lea edx, [rcx*8 + 0x40000]
mov ecx, 0x80000000
mov dword [rsp + 0x330], ecx
mov dword [rsp + 0x8c], ecx
mov qword [rsp + 0x60], rsi
movd dword [rsi + 0x37c], xmm6
mov r15d, eax
or r15d, 0x1000000
test ebp, ebp
cmove r15d, eax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd4]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0x60
mov ecx, r15d
mov esi, edx
mov r8d, ebx
mov r9d, r12d
call fcn.1400ad4fa
mov rcx, qword [rsp + 0x360]
call fcn.1400f959a
test rax, rax
je 0x1400a907f
mov rbx, rax
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x7c], r14d
mov ebp, dword [rsp + 0x330]
mov r12d, dword [rsp + 0x8c]
mov r13d, dword [rsp + 0xd4]
mov r14d, dword [rsp + 0xd0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ebp
lea rdx, str.GLFW30
mov r12d, esi
mov ecx, esi
mov r8, rbx
mov r9d, r15d
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rsi, qword [rsp + 0x60]
mov qword [rsi + 0x358], rax
mov rcx, rbx
call sub.msvcrt.dll_free
mov rcx, qword [rsi + 0x358]
test rcx, rcx
je 0x1400a906e
lea rdx, str.GLFW
mov r8, rsi
call qword [sym.imp.USER32.dll_SetPropW]
mov cx, 1
call fcn.1400f98e5
test eax, eax
je 0x1400a8f52
mov rcx, qword [rsi + 0x358]
mov edx, 0x233
mov r8d, 1
xor r9d, r9d
call qword [0x14027e860]
mov rcx, qword [rsi + 0x358]
mov edx, 0x4a
mov r8d, 1
xor r9d, r9d
call qword [0x14027e860]
mov rcx, qword [rsi + 0x358]
mov edx, 0x49
mov r8d, 1
xor r9d, r9d
call qword [0x14027e860]
mov eax, dword [rsp + 0x390]
mov dword [rsi + 0x384], eax
mov ecx, dword [rsp + 0x698]
mov dword [rsi + 0x388], ecx
cmp qword [rsi + 0x50], 0
mov ebp, dword [rsp + 0x78]
jne 0x1400a91c5
lea rdi, [rsp + 0x298]
and qword [rdi - 8], 0
mov rcx, qword [rsp + 0x358]
mov qword [rdi], rcx
pxor xmm0, xmm0
and qword [rsp + 0x124], 0
movdqu xmmword [rsp + 0x114], xmm0
movdqu xmmword [rsp + 0x104], xmm0
mov dword [rsp + 0x100], 0x2c
test eax, eax
je 0x1400a9116
movq xmm6, rcx
mov rcx, qword [rsi + 0x358]
mov edx, 2
call qword [sym.imp.USER32.dll_MonitorFromWindow]
mov rbx, rax
mov cx, 3
call fcn.1400f98e5
test eax, eax
je 0x1400a9097
lea r8, [rsp + 0x1a0]
lea r9, [rsp + 0xd8]
mov rcx, rbx
xor edx, edx
call qword [0x14027e8c0]
jmp 0x1400a90d8
lea rdx, str.Invalid_context_robustness_mode_0x_08X
jmp 0x1400a9020
lea rdx, str.Invalid_context_release_behavior_0x_08X
mov ecx, 0x10003
call fcn.1400ab5f4
xor esi, esi
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x6a0]
movaps xmm7, xmmword [rsp + 0x6b0]
movaps xmm8, xmmword [rsp + 0x6c0]
movaps xmm9, xmmword [rsp + 0x6d0]
movaps xmm10, xmmword [rsp + 0x6e0]
add rsp, 0x6f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.Win32:_Failed_to_create_window
mov ecx, 0x10008
call fcn.1400f9637
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1400ab232
jmp 0x1400a902a
lea rdx, str.Invalid_OpenGL_profile_0x_08X
jmp 0x1400a9020
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rbx, rax
mov r14, qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov rcx, rax
mov edx, 0x58
call r14
mov dword [rsp + 0x1a0], eax
mov rcx, rbx
mov edx, 0x5a
call r14
mov dword [rsp + 0xd8], eax
xor ecx, ecx
mov rdx, rbx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [rsp + 0x1a0]
cvtsi2ss xmm0, rax
mov eax, dword [rsp + 0xd8]
cvtsi2ss xmm1, rax
movss xmm2, dword [0x14012ccf0]
divss xmm0, xmm2
divss xmm1, xmm2
unpcklps xmm0, xmm1
cvtdq2ps xmm1, xmm6
mulps xmm1, xmm0
cvttps2dq xmm0, xmm1
movq qword [rsp + 0x298], xmm0
mov rcx, qword [rsi + 0x358]
mov rbx, qword [sym.imp.USER32.dll_ClientToScreen]
lea rdx, [rsp + 0x290]
call rbx
mov rcx, qword [rsi + 0x358]
mov rdx, rdi
call rbx
mov cx, 0x3839
call fcn.1400f996c
test eax, eax
je 0x1400a9174
mov rdi, qword [0x14027e880]
mov rcx, qword [rsi + 0x358]
call qword [0x14027e878]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x290]
mov edx, r15d
xor r8d, r8d
mov r9d, r12d
call rdi
jmp 0x1400a918b
lea rcx, [rsp + 0x290]
mov edx, r15d
xor r8d, r8d
mov r9d, r12d
call qword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov rcx, qword [rsi + 0x358]
lea rdi, [rsp + 0x100]
mov rdx, rdi
call qword [sym.imp.USER32.dll_GetWindowPlacement]
movdqu xmm0, xmmword [rsp + 0x290]
movdqu xmmword [rdi + 0x1c], xmm0
and dword [rdi + 8], 0
mov rcx, qword [rsi + 0x358]
mov rdx, rdi
call qword [sym.imp.USER32.dll_SetWindowPlacement]
mov rcx, qword [rsi + 0x358]
mov edx, 1
call qword [sym.imp.SHELL32.dll_DragAcceptFiles]
cmp dword [rsp + 0x284], 0
je 0x1400a91f3
mov rcx, rsi
call fcn.1400ad586
mov dword [rsi + 0x380], 1
lea rdx, [rsi + 0x38c]
lea r8, [rsi + 0x390]
mov rcx, qword [rsi + 0x358]
call fcn.1400ad723
test ebp, ebp
mov rdi, qword [rsp + 0xc8]
je 0x1400aa855
cmp edi, 0x36003
je 0x1400a9084
cmp edi, 0x36002
je 0x1400a9339
cmp edi, 0x36001
jne 0x1400aa855
cmp qword [0x14027e8d8], 0
je 0x1400a951d
mov rcx, qword [rsi + 0x358]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsi + 0x280], rax
test rax, rax
je 0x1400a9aa0
cmp dword [0x14027e954], 0
je 0x1400a9af1
lea rcx, [rsp + 0xd8]
mov dword [rcx], 0x2000
lea rdx, [rsp + 0x8c]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov edx, 1
xor r8d, r8d
mov r9d, 1
call qword [0x14027e920]
test eax, eax
je 0x1400a9b3f
movaps xmm0, xmmword [0x14012cd00]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [0x14012cd10]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [0x14012cd20]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [0x14012cd30]
movaps xmmword [rsp + 0x130], xmm0
movdqa xmm0, xmmword [0x14012cd40]
movdqa xmmword [rsp + 0x140], xmm0
movabs rax, 0x201100002012
mov qword [rsp + 0x150], rax
cmp dword [0x14027e948], 0
je 0x1400a9c5b
mov dword [rsp + 0x158], 0x2042
mov edx, 0x17
jmp 0x1400a9c60
cmp qword [0x14027e9d0], 0
je 0x1400a97c8
mov rcx, qword [0x14027e980]
test rcx, rcx
je 0x1400a9ad7
xor r14d, r14d
lea rbx, [rsp + 0x290]
xor edx, edx
xor r8d, r8d
mov r9, rbx
call qword [0x14027e9e0]
movsxd r15, dword [rbx]
test r15, r15
je 0x1400a9b20
mov edx, 8
mov rcx, r15
call sub.msvcrt.dll_calloc
mov rbx, rax
mov rcx, qword [0x14027e980]
lea rdi, [rsp + 0x290]
mov rdx, rax
mov r8d, r15d
mov r9, rdi
call qword [0x14027e9e0]
mov edi, dword [rdi]
movsxd rcx, edi
mov edx, 0x48
call sub.msvcrt.dll_calloc
mov qword [rsp + 0x80], rax
xor r13d, r13d
mov qword [rsp + 0x90], rbx
mov r15, qword [rsp + 0x80]
movsxd rax, edi
cmp r13, rax
jge 0x1400a9ab1
mov r12, qword [rbx + r13*8]
mov rcx, r12
mov edx, 0x303f
call fcn.1400fa2a2
cmp eax, 0x308e
jne 0x1400a9504
mov rcx, r12
mov edx, 0x3033
call fcn.1400fa2a2
test al, 4
je 0x1400a9504
cmp ebp, 0x30001
je 0x1400a9442
cmp ebp, 0x30002
jne 0x1400a9457
mov rcx, r12
mov edx, 0x3040
call fcn.1400fa2a2
cmp dword [rsp + 0x74], 1
jne 0x1400a9513
test al, 1
jne 0x1400a9457
jmp 0x1400a9504
mov rcx, r12
mov edx, 0x3040
call fcn.1400fa2a2
test al, 8
je 0x1400a9504
movsxd rax, r14d
imul rdi, rax, 0x48
mov ebx, ebp
mov rbp, r14
lea r14, [r15 + rdi]
mov rcx, r12
mov edx, 0x3024
call fcn.1400fa2a2
mov dword [r14], eax
mov r14, rbp
mov ebp, ebx
mov rbx, qword [rsp + 0x90]
mov rcx, r12
mov edx, 0x3023
call fcn.1400fa2a2
mov dword [r15 + rdi + 4], eax
mov rcx, r12
mov edx, 0x3022
call fcn.1400fa2a2
mov dword [r15 + rdi + 8], eax
mov rcx, r12
mov edx, 0x3021
call fcn.1400fa2a2
mov dword [r15 + rdi + 0xc], eax
mov rcx, r12
mov edx, 0x3025
call fcn.1400fa2a2
mov dword [r15 + rdi + 0x10], eax
mov rcx, r12
mov edx, 0x3026
call fcn.1400fa2a2
mov dword [r15 + rdi + 0x14], eax
mov rcx, r12
mov edx, 0x3031
call fcn.1400fa2a2
mov dword [r15 + rdi + 0x30], eax
mov eax, dword [rsp + 0x9c]
mov dword [r15 + rdi + 0x38], eax
mov qword [r15 + rdi + 0x40], r12
inc r14d
inc r13
mov edi, dword [rsp + 0x290]
jmp 0x1400a93d4
test al, 4
jne 0x1400a9457
jmp 0x1400a9504
lea rcx, str.opengl32.dll
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov qword [0x14027e8d8], rax
test rax, rax
je 0x1400a9b33
lea rdx, str.wglCreateContext
mov rdi, qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, rax
call rdi
mov qword [0x14027e8e0], rax
mov rcx, qword [0x14027e8d8]
lea rdx, str.wglDeleteContext
call rdi
mov qword [0x14027e8e8], rax
mov rcx, qword [0x14027e8d8]
lea rdx, str.wglGetProcAddress
call rdi
mov qword [0x14027e8f0], rax
mov rcx, qword [0x14027e8d8]
lea rdx, str.wglGetCurrentDC
call rdi
mov qword [0x14027e8f8], rax
mov rcx, qword [0x14027e8d8]
lea rdx, str.wglGetCurrentContext
call rdi
mov qword [0x14027e900], rax
mov rcx, qword [0x14027e8d8]
lea rdx, str.wglMakeCurrent
call rdi
mov qword [0x14027e908], rax
mov rcx, qword [0x14027e8d8]
lea rdx, str.wglShareLists
call rdi
mov qword [0x14027e910], rax
mov rcx, qword [0x14027da38]
call qword [sym.imp.USER32.dll_GetDC]
mov r12, rax
pxor xmm0, xmm0
lea rdi, [rsp + 0x100]
movdqu xmmword [rdi + 8], xmm0
movdqu xmmword [rdi + 0x18], xmm0
movabs rax, 0x2500010028
mov qword [rdi], rax
mov byte [rdi + 9], 0x18
mov rcx, r12
mov rdx, rdi
call qword [sym.imp.GDI32.dll_ChoosePixelFormat]
mov rcx, r12
mov edx, eax
mov r8, rdi
call qword [sym.imp.GDI32.dll_SetPixelFormat]
test eax, eax
je 0x1400a9baf
mov rcx, r12
call qword [0x14027e8e0]
test rax, rax
je 0x1400aa1ef
mov rdi, rax
call qword [0x14027e8f8]
mov rbx, rax
call qword [0x14027e900]
mov r15, rax
mov rcx, r12
mov rdx, rdi
call qword [0x14027e908]
test eax, eax
je 0x1400aa31e
lea rcx, str.wglGetExtensionsStringEXT
call qword [0x14027e8f0]
mov qword [0x14027e928], rax
lea rcx, str.wglGetExtensionsStringARB
call qword [0x14027e8f0]
mov qword [0x14027e930], rax
lea rcx, str.wglCreateContextAttribsARB
call qword [0x14027e8f0]
mov qword [0x14027e938], rax
lea rcx, str.wglSwapIntervalEXT
call qword [0x14027e8f0]
mov qword [0x14027e918], rax
lea rcx, str.wglGetPixelFormatAttribivARB
call qword [0x14027e8f0]
mov qword [0x14027e920], rax
lea rcx, str.WGL_ARB_multisample
call fcn.1400fa004
mov dword [0x14027e948], eax
lea rcx, str.WGL_ARB_framebuffer_sRGB
call fcn.1400fa004
mov dword [0x14027e94c], eax
lea rcx, str.WGL_EXT_framebuffer_sRGB
call fcn.1400fa004
mov dword [0x14027e950], eax
lea rcx, str.WGL_ARB_create_context
call fcn.1400fa004
mov dword [0x14027e958], eax
lea rcx, str.WGL_ARB_create_context_profile
call fcn.1400fa004
mov dword [0x14027e95c], eax
lea rcx, str.WGL_EXT_create_context_es2_profile
call fcn.1400fa004
mov dword [0x14027e960], eax
lea rcx, str.WGL_ARB_create_context_robustness
call fcn.1400fa004
mov dword [0x14027e964], eax
lea rcx, str.WGL_ARB_create_context_no_error
call fcn.1400fa004
mov dword [0x14027e968], eax
lea rcx, str.WGL_EXT_swap_control
call fcn.1400fa004
mov dword [0x14027e940], eax
lea rcx, str.WGL_EXT_colorspace
call fcn.1400fa004
mov dword [0x14027e944], eax
lea rcx, str.WGL_ARB_pixel_format
call fcn.1400fa004
mov dword [0x14027e954], eax
lea rcx, str.WGL_ARB_context_flush_control
call fcn.1400fa004
mov dword [0x14027e96c], eax
mov rcx, rbx
mov rdx, r15
call qword [0x14027e908]
mov rcx, rdi
call qword [0x14027e8e8]
jmp 0x1400a924f
xor r15d, r15d
lea r12, str.libEGL.dll
mov r13, qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
cmp r15, 0x10
je 0x1400a9ae0
mov rbx, qword [r15 + r12]
mov rcx, rbx
call r13
mov qword [0x14027e9d0], rax
add r15, 8
test rax, rax
je 0x1400a97d9
mov rdi, rax
lea rdx, [0x140255c6f]
mov r8d, 3
mov rcx, rbx
call sub.msvcrt.dll_strncmp
xor ecx, ecx
test eax, eax
sete cl
mov dword [0x14027e990], ecx
lea rdx, str.eglGetConfigAttrib
mov rbx, qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, rdi
call rbx
mov qword [0x14027e9d8], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglGetConfigs
call rbx
mov qword [0x14027e9e0], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglGetDisplay
call rbx
mov qword [0x14027e9e8], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglGetError
call rbx
mov qword [0x14027e9f0], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglInitialize
call rbx
mov qword [0x14027e9f8], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglTerminate
call rbx
mov qword [0x14027ea00], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglBindAPI
call rbx
mov qword [0x14027ea08], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglCreateContext
call rbx
mov qword [0x14027ea10], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglDestroySurface
call rbx
mov qword [0x14027ea18], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglDestroyContext
call rbx
mov qword [0x14027ea20], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglCreateWindowSurface
call rbx
mov qword [0x14027ea28], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglMakeCurrent
call rbx
mov qword [0x14027ea30], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglSwapBuffers
call rbx
mov qword [0x14027ea38], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglSwapInterval
call rbx
mov qword [0x14027ea40], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglQueryString
call rbx
mov qword [0x14027ea48], rax
mov rcx, qword [0x14027e9d0]
lea rdx, str.eglGetProcAddress
call rbx
mov qword [0x14027ea50], rax
movdqu xmm1, xmmword [0x14027e9d8]
movdqu xmm5, xmmword [0x14027ea08]
movdqu xmm6, xmmword [0x14027e9f8]
movdqu xmm7, xmmword [0x14027e9e8]
movdqu xmm3, xmmword [0x14027ea18]
movdqu xmm4, xmmword [0x14027ea28]
movdqu xmm0, xmmword [0x14027ea38]
mov r8, qword [0x14027ea48]
pshufd xmm8, xmm1, 0x4e
movq xmm2, rax
movq xmm1, r8
punpcklqdq xmm1, xmm2
pxor xmm2, xmm2
pcmpeqd xmm5, xmm2
pshufd xmm9, xmm5, 0xb1
pand xmm9, xmm5
pcmpeqd xmm6, xmm2
pshufd xmm10, xmm6, 0xb1
pand xmm10, xmm6
packssdw xmm10, xmm9
pcmpeqd xmm7, xmm2
pshufd xmm6, xmm7, 0xb1
pand xmm6, xmm7
pcmpeqd xmm8, xmm2
pshufd xmm5, xmm8, 0xb1
pand xmm5, xmm8
packssdw xmm5, xmm6
packssdw xmm5, xmm10
pcmpeqd xmm4, xmm2
pshufd xmm6, xmm4, 0xb1
pand xmm6, xmm4
pcmpeqd xmm3, xmm2
pshufd xmm4, xmm3, 0xb1
pand xmm4, xmm3
packssdw xmm4, xmm6
pcmpeqd xmm1, xmm2
pshufd xmm3, xmm1, 0xb1
pand xmm3, xmm1
pcmpeqd xmm0, xmm2
pshufd xmm1, xmm0, 0xb1
pand xmm1, xmm0
packssdw xmm1, xmm3
packssdw xmm4, xmm1
packsswb xmm5, xmm4
pmovmskb eax, xmm5
test eax, eax
je 0x1400a9c25
lea rdx, str.EGL:_Failed_to_load_required_entry_points
mov ecx, 0x10008
call fcn.1400ab5f4
call fcn.1400fa228
jmp 0x1400a9084
lea rdx, str.WGL:_Failed_to_retrieve_DC_for_window
mov ecx, 0x10008
jmp 0x1400a9ba5
lea rcx, [rsp + 0x248]
mov rdx, qword [rsp + 0x80]
mov r8d, r14d
call fcn.1400ad88e
mov rdi, rax
test rax, rax
je 0x1400a9b4b
mov r14, qword [rdi + 0x40]
jmp 0x1400a9b4b
lea rdx, str.EGL:_API_not_available
jmp 0x1400a9ae7
lea rdx, str.EGL:_Library_not_found
mov ecx, 0x10006
jmp 0x1400a9ba5
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
mov rcx, rax
mov edx, 1
mov r8d, 0x28
xor r9d, r9d
call qword [sym.imp.GDI32.dll_DescribePixelFormat]
mov edi, eax
mov dword [rsp + 0x8c], eax
jmp 0x1400a9ca5
lea rdx, str.EGL:_No_EGLConfigs_returned
mov ecx, 0x10006
call fcn.1400ab5f4
jmp 0x1400a9b99
lea rdx, str.WGL:_Failed_to_load_opengl32.dll
jmp 0x1400aa796
lea rdx, str.WGL:_Failed_to_retrieve_pixel_format_attribute
jmp 0x1400aa796
mov rcx, rbx
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
test rdi, rdi
je 0x1400a9b99
mov rax, qword [0x14027ea08]
cmp ebp, 0x30002
jne 0x1400a9bbb
mov ecx, 0x30a0
call rax
test eax, eax
je 0x1400aa349
cmp dword [0x14027e994], 0
je 0x1400aa395
xor ecx, ecx
mov al, 1
jmp 0x1400aa2b7
lea rdx, str.EGL:_Failed_to_find_a_suitable_EGLConfig
mov ecx, 0x10009
call fcn.1400ab5f4
jmp 0x1400a9084
lea rdx, str.WGL:_Failed_to_set_pixel_format_for_dummy_context
jmp 0x1400aa796
mov ecx, 0x30a2
call rax
test eax, eax
je 0x1400aa36f
cmp dword [0x14027e994], 0
je 0x1400aa3b8
xor ecx, ecx
mov al, 1
cmp ebp, 0x30001
jne 0x1400aa2b7
xor r8d, r8d
cmp dword [rsp + 0xa0], 0
setne r8b
add r8d, r8d
cmp dword [rsp + 0xa8], 0x32001
je 0x1400aaf15
cmp dword [rsp + 0xa8], 0x32002
jne 0x1400aaf21
mov ecx, 2
jmp 0x1400aaf1a
xor ecx, ecx
mov edx, 0x3055
call r8
mov rdi, rax
test rax, rax
je 0x1400aa1fb
call qword [0x14027e9f0]
cmp eax, 0x3000
jne 0x1400aa1fb
mov dword [0x14027e9a8], 1
jmp 0x1400aa208
mov edx, 0x16
cmp ebp, 0x30001
jne 0x1400a9c7d
mov ecx, dword [0x14027e94c]
mov eax, 0x20a9
or ecx, dword [0x14027e950]
jne 0x1400a9c8b
jmp 0x1400a9c96
mov eax, 0x309d
cmp dword [0x14027e944], 0
je 0x1400a9c96
mov ecx, edx
inc edx
mov dword [rsp + rcx*4 + 0x100], eax
mov qword [rsp + 0xc0], rdx
mov edi, dword [rsp + 0x8c]
movsxd rcx, edi
mov edx, 0x48
call sub.msvcrt.dll_calloc
mov r12, rax
xor r15d, r15d
mov edx, 1
pxor xmm6, xmm6
lea rbx, [rsp + 0x100]
lea rax, [rdx - 1]
movsxd rcx, edi
cmp rax, rcx
jge 0x1400aa103
mov dword [rsp + 0x80], r15d
movsxd rax, r15d
imul rdi, rax, 0x48
lea r15, [r12 + rdi]
cmp dword [0x14027e954], 0
je 0x1400a9fa9
mov r14, r15
mov r15, rdi
mov r13d, ebp
mov rcx, qword [rsi + 0x280]
lea rbp, [rsp + 0x290]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x90], rdx
xor r8d, r8d
mov rdi, rbx
mov rbx, qword [rsp + 0xc0]
mov r9d, ebx
call qword [0x14027e920]
test eax, eax
je 0x1400aa1bf
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2010
call fcn.1400fa053
test eax, eax
je 0x1400a9f8e
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2001
call fcn.1400fa053
test eax, eax
je 0x1400a9f8e
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2013
call fcn.1400fa053
cmp eax, 0x202b
jne 0x1400a9f8e
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2003
call fcn.1400fa053
cmp eax, 0x2025
je 0x1400a9f8e
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2011
call fcn.1400fa053
cmp eax, dword [rsp + 0x9c]
jne 0x1400a9f8e
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2015
call fcn.1400fa053
mov dword [r14], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2017
call fcn.1400fa053
mov r14, r12
mov dword [r12 + r15 + 4], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2019
call fcn.1400fa053
mov dword [r12 + r15 + 8], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x201b
call fcn.1400fa053
mov dword [r12 + r15 + 0xc], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2022
call fcn.1400fa053
mov dword [r12 + r15 + 0x10], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2023
call fcn.1400fa053
mov dword [r12 + r15 + 0x14], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x201e
call fcn.1400fa053
mov dword [r12 + r15 + 0x18], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x201f
call fcn.1400fa053
mov dword [r12 + r15 + 0x1c], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2020
call fcn.1400fa053
mov dword [r12 + r15 + 0x20], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2021
call fcn.1400fa053
mov dword [r12 + r15 + 0x24], eax
mov rcx, rdi
mov edx, ebx
mov r8, rbp
mov r9d, 0x2024
call fcn.1400fa053
mov dword [r12 + r15 + 0x28], eax
mov rcx, rdi
mov rdi, r15
mov edx, ebx
mov r8, rbp
mov r9d, 0x2012
call fcn.1400fa053
test eax, eax
mov r8, rbp
mov rdx, rbx
je 0x1400a9f06
mov dword [r12 + rdi + 0x2c], 1
cmp dword [0x14027e948], 0
mov ebp, r13d
lea rbx, [rsp + 0x100]
je 0x1400a9f2d
mov rcx, rbx
mov r9d, 0x2042
call fcn.1400fa053
mov dword [r12 + rdi + 0x30], eax
cmp ebp, 0x30001
mov r15d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
jne 0x1400aa0c2
mov eax, dword [0x14027e94c]
or eax, dword [0x14027e950]
je 0x1400aa09e
mov rcx, rbx
mov rdx, qword [rsp + 0xc0]
lea r8, [rsp + 0x290]
mov r9d, 0x20a9
call fcn.1400fa053
mov rdx, qword [rsp + 0x90]
test eax, eax
jne 0x1400aa0f8
jmp 0x1400aa09e
mov r15d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
mov ebp, r13d
mov rbx, rdi
jmp 0x1400aa0b3
mov rcx, qword [rsi + 0x280]
mov r14, rdx
mov r8d, 0x28
lea r9, [rsp + 0xd8]
call qword [sym.imp.GDI32.dll_DescribePixelFormat]
test eax, eax
je 0x1400aa1d9
mov eax, dword [rsp + 0xdc]
mov ecx, eax
not ecx
test cl, 0x24
jne 0x1400aa0a8
mov ecx, eax
and ecx, 0x1040
cmp ecx, 0x40
je 0x1400aa0a8
cmp byte [rsp + 0xe0], 0
jne 0x1400aa0a8
mov ecx, eax
and ecx, 1
cmp ecx, dword [rsp + 0x9c]
jne 0x1400aa0a8
movzx ecx, byte [rsp + 0xe2]
mov dword [r15], ecx
movzx ecx, byte [rsp + 0xe4]
mov dword [r12 + rdi + 4], ecx
movzx ecx, byte [rsp + 0xe6]
mov dword [r12 + rdi + 8], ecx
movzx ecx, byte [rsp + 0xe8]
mov dword [r12 + rdi + 0xc], ecx
movzx ecx, word [rsp + 0xef]
movd xmm0, ecx
punpcklbw xmm0, xmm6
punpcklwd xmm0, xmm6
movq qword [r12 + rdi + 0x10], xmm0
movd xmm0, dword [rsp + 0xeb]
punpcklbw xmm0, xmm6
punpcklwd xmm0, xmm6
movdqu xmmword [r12 + rdi + 0x18], xmm0
movzx ecx, byte [rsp + 0xf1]
mov dword [r12 + rdi + 0x28], ecx
test al, 2
mov rdx, r14
je 0x1400aa096
mov dword [r12 + rdi + 0x2c], 1
mov r15d, dword [rsp + 0x80]
mov qword [r12 + rdi + 0x40], rdx
inc r15d
jmp 0x1400aa0b3
mov r15d, dword [rsp + 0x80]
mov rdx, r14
mov edi, dword [rsp + 0x8c]
inc rdx
jmp 0x1400a9cc9
cmp dword [0x14027e944], 0
je 0x1400aa09e
mov rcx, rbx
mov rdx, qword [rsp + 0xc0]
lea r8, [rsp + 0x290]
mov r9d, 0x309d
call fcn.1400fa053
mov rdx, qword [rsp + 0x90]
cmp eax, 0x3089
jne 0x1400aa09e
mov dword [r12 + rdi + 0x34], 1
jmp 0x1400aa09e
test r15d, r15d
je 0x1400aa1c8
lea rcx, [rsp + 0x248]
mov rdx, r12
mov r8d, r15d
call fcn.1400ad88e
test rax, rax
je 0x1400aa300
movabs r14, 0x1000031b3
mov edi, dword [rax + 0x40]
mov rcx, r12
call sub.msvcrt.dll_free
test edi, edi
je 0x1400a9084
mov rcx, qword [rsi + 0x280]
lea r9, [rsp + 0x330]
mov edx, edi
mov r8d, 0x28
call qword [sym.imp.GDI32.dll_DescribePixelFormat]
test eax, eax
je 0x1400aa78f
mov rcx, qword [rsi + 0x280]
lea r8, [rsp + 0x330]
mov edx, edi
call qword [sym.imp.GDI32.dll_SetPixelFormat]
test eax, eax
je 0x1400aaced
cmp dword [rsp + 0x78], 0x30001
jne 0x1400aae8f
mov eax, dword [0x14027e958]
cmp dword [rsp + 0xa0], 0
je 0x1400aaf28
test eax, eax
jne 0x1400aaf28
lea rdx, str.WGL:_A_forward_compatible_OpenGL_context_requested_but_WGL_ARB_create_context_is_unavailable
jmp 0x1400aaf42
lea rdx, str.WGL:_Failed_to_retrieve_pixel_format_attributes
jmp 0x1400aa1e0
lea rdx, str.WGL:_The_driver_does_not_appear_to_support_OpenGL
mov ecx, 0x10006
jmp 0x1400aa30c
lea rdx, str.WGL:_Failed_to_describe_pixel_format
mov ecx, 0x10008
call fcn.1400f9637
jmp 0x1400aa311
lea rdx, str.WGL:_Failed_to_create_dummy_context
jmp 0x1400aa796
cmp dword [0x14027e9a8], 0
je 0x1400aa3c4
lea rcx, str.EGL_EXT_platform_base
mov rdx, rdi
call fcn.1400adc02
mov ebx, eax
mov dword [0x14027e9ac], eax
lea rcx, str.EGL_EXT_platform_x11
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9b0], eax
lea rcx, str.EGL_EXT_platform_wayland
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9b4], eax
lea rcx, str.EGL_ANGLE_platform_angle
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9b8], eax
lea rcx, str.EGL_ANGLE_platform_angle_opengl
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9bc], eax
lea rcx, str.EGL_ANGLE_platform_angle_d3d
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9c0], eax
lea rcx, str.EGL_ANGLE_platform_angle_vulkan
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9c4], eax
lea rcx, str.EGL_ANGLE_platform_angle_metal
mov rdx, rdi
call fcn.1400adc02
mov dword [0x14027e9c8], eax
jmp 0x1400aa3ca
xor r8d, r8d
xor edx, edx
cmp dword [rsp + 0xa4], 0
setne dl
or edx, r8d
mov r9, qword [rsp + 0x68]
test r9d, r9d
je 0x1400aa48c
cmp r9d, 0x31001
je 0x1400aa465
xor r8d, r8d
cmp r9d, 0x31002
jne 0x1400aa484
mov r8d, 0x31bf
jmp 0x1400aa46b
lea rdx, str.WGL:_Failed_to_find_a_suitable_pixel_format
mov ecx, 0x10009
call fcn.1400ab5f4
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x1400a9084
lea rdx, str.WGL:_Failed_to_make_dummy_context_current
mov ecx, 0x10008
call fcn.1400f9637
mov rcx, rbx
mov rdx, r15
call qword [0x14027e908]
mov rcx, rdi
call qword [0x14027e8e8]
jmp 0x1400a9084
call qword [0x14027e9f0]
add eax, 0xffffd000
cmp eax, 0xe
ja 0x1400aa7a5
mov eax, eax
lea rcx, str.Success
mov r8, qword [rcx + rax*8]
jmp 0x1400aa7ac
call qword [0x14027e9f0]
add eax, 0xffffd000
cmp eax, 0xe
ja 0x1400aa7b5
mov eax, eax
lea rcx, str.Success
mov r8, qword [rcx + rax*8]
jmp 0x1400aa7bc
mov dword [rsp + 0x100], 0x3098
mov eax, 2
mov qword [rsp + 0x68], rax
mov eax, 1
mov edx, dword [rsp + 0x74]
jmp 0x1400aa55b
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x1400aa562
mov ebx, dword [0x14027e9ac]
test ebx, ebx
je 0x1400aa3f6
lea rcx, str.eglGetPlatformDisplayEXT
call qword [0x14027ea50]
mov qword [0x14027ea58], rax
lea rcx, str.eglCreatePlatformWindowSurfaceEXT
call qword [0x14027ea50]
mov qword [0x14027ea60], rax
cmp dword [0x14027e9b8], 0
je 0x1400aad63
mov edx, dword [0x14027e9bc]
mov eax, dword [0x14027c37c]
xor ecx, ecx
cmp eax, 0x37003
mov r8d, 0x320e
cmovne r8d, ecx
cmp eax, 0x37002
mov ecx, 0x320d
cmovne ecx, r8d
test edx, edx
cmove ecx, edx
cmp dword [0x14027e9c0], 0
je 0x1400aacfe
cmp eax, 0x37004
je 0x1400aacf9
cmp eax, 0x37005
jne 0x1400aacfe
mov ecx, 0x3208
mov eax, 0x37005
jmp 0x1400aacfe
mov r8d, 0x31be
mov dword [rsp + 0x100], 0x31bd
mov dword [rsp + 0x104], r8d
mov r8d, 2
or edx, 4
mov qword [rsp + 0x68], r8
cmp dword [rsp + 0xbc], 0
je 0x1400aa4c2
cmp dword [0x14027e998], 0
je 0x1400aa4c2
mov r9, qword [rsp + 0x68]
mov r8d, r9d
movabs r10, 0x1000031b3
mov qword [rsp + r8*4 + 0x100], r10
add r9d, 2
mov qword [rsp + 0x68], r9
mov r10d, dword [rsp + 0x74]
cmp r10d, 1
mov r9d, dword [rsp + 0x7c]
jne 0x1400aa4d7
test r9d, r9d
je 0x1400aa510
mov r11, qword [rsp + 0x68]
mov r8d, r11d
mov dword [rsp + r8*4 + 0x100], 0x3098
mov dword [rsp + r8*4 + 0x104], r10d
mov dword [rsp + r8*4 + 0x108], 0x30fb
add r11d, 4
mov qword [rsp + 0x68], r11
mov dword [rsp + r8*4 + 0x10c], r9d
test al, al
jne 0x1400aa537
mov r8, qword [rsp + 0x68]
mov eax, r8d
mov dword [rsp + rax*4 + 0x100], 0x30fd
add r8d, 2
mov qword [rsp + 0x68], r8
mov dword [rsp + rax*4 + 0x104], ecx
test edx, edx
je 0x1400aa562
mov r8, qword [rsp + 0x68]
lea eax, [r8 + 1]
mov ecx, r8d
mov dword [rsp + rcx*4 + 0x100], 0x30fc
add r8d, 2
mov qword [rsp + 0x68], r8
mov dword [rsp + rax*4 + 0x100], edx
cmp dword [0x14027e9a4], 0
je 0x1400aa5ab
mov rax, qword [rsp + 0xb0]
cmp eax, 0x35002
je 0x1400aa588
cmp eax, 0x35001
jne 0x1400aa5ab
mov eax, 0x2098
jmp 0x1400aa58a
xor eax, eax
mov rdx, qword [rsp + 0x68]
mov ecx, edx
mov dword [rsp + rcx*4 + 0x100], 0x2097
add edx, 2
mov qword [rsp + 0x68], rdx
mov dword [rsp + rcx*4 + 0x104], eax
mov rsi, qword [rsp + 0x60]
mov eax, dword [rsp + 0x68]
movabs rdi, 0x303800003038
mov qword [rsp + rax*4 + 0x100], rdi
mov rcx, qword [0x14027e980]
xor ebx, ebx
lea r9, [rsp + 0x100]
mov rdx, r14
xor r8d, r8d
call qword [0x14027ea10]
mov qword [rsi + 0x2a0], rax
test rax, rax
je 0x1400aa73c
cmp dword [rsp + 0x27c], 0
je 0x1400aa61d
cmp dword [0x14027e99c], 0
je 0x1400aa61d
movabs rax, 0x30890000309d
mov qword [rsp + 0x100], rax
mov ebx, 2
cmp dword [rsp + 0x9c], 0
jne 0x1400aa63e
mov eax, ebx
add ebx, 2
movabs rcx, 0x308500003086
mov qword [rsp + rax*4 + 0x100], rcx
mov eax, ebx
mov qword [rsp + rax*4 + 0x100], rdi
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsi + 0x358]
mov eax, dword [0x14027e978]
test eax, eax
lea rcx, [0x14027ea28]
lea r10, [0x14027ea60]
cmove r10, rcx
cmp eax, 0x3202
cmove r10, rcx
mov rcx, qword [0x14027e980]
lea r9, [rsp + 0x100]
mov rdx, r14
call qword [r10]
mov qword [rsi + 0x2a8], rax
test rax, rax
je 0x1400aa75b
mov qword [rsi + 0x298], r14
cmp dword [0x14027e9a0], 0
jne 0x1400aa7f5
and qword [rsp + 0x290], 0
cmp dword [rsp + 0x74], 1
lea rax, str.H___
lea rcx, str.GLESv2.dll
cmove rcx, rax
cmp dword [rsp + 0x78], 0x30002
lea r14, [rsp + 0x290]
cmove r14, rcx
lea rdi, [0x140255c6f]
mov r15, qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov rbx, qword [r14]
test rbx, rbx
je 0x1400aa7e7
mov ebp, dword [0x14027e990]
mov r8d, 3
mov rcx, rbx
mov rdx, rdi
call sub.msvcrt.dll_strncmp
xor ecx, ecx
test eax, eax
sete cl
cmp ebp, ecx
jne 0x1400aa736
mov rcx, rbx
call r15
mov qword [rsi + 0x2b0], rax
test rax, rax
jne 0x1400aa7f5
add r14, 8
jmp 0x1400aa6f2
call qword [0x14027e9f0]
add eax, 0xffffd000
cmp eax, 0xe
ja 0x1400aa77a
mov eax, eax
lea rcx, str.Success
mov r8, qword [rcx + rax*8]
jmp 0x1400aa781
call qword [0x14027e9f0]
add eax, 0xffffd000
cmp eax, 0xe
ja 0x1400aa7ca
mov eax, eax
lea rcx, str.Success
mov r8, qword [rcx + rax*8]
jmp 0x1400aa7d1
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
lea rdx, str.EGL:_Failed_to_create_context:__s
mov ecx, 0x10007
jmp 0x1400aa7dd
lea rdx, str.WGL:_Failed_to_retrieve_PFD_for_selected_pixel_format
mov ecx, 0x10008
call fcn.1400f9637
jmp 0x1400a9084
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
lea rdx, str.EGL:_Failed_to_bind_OpenGL_ES:__s
jmp 0x1400aa7c3
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
lea rdx, str.EGL:_Failed_to_bind_OpenGL:__s
mov ecx, 0x10006
jmp 0x1400aa7dd
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
lea rdx, str.EGL:_Failed_to_create_window_surface:__s
mov ecx, 0x10008
call fcn.1400ab5f4
jmp 0x1400a907f
cmp qword [rsi + 0x2b0], 0
je 0x1400aaf5f
lea rax, [0x1400fa2ca]
mov qword [rsi + 0x250], rax
lea rax, [0x1400fa394]
mov qword [rsi + 0x258], rax
lea rax, [0x1400fa3e1]
mov qword [rsi + 0x260], rax
lea rax, [fcn.1400fa265]
mov qword [rsi + 0x268], rax
lea rax, [0x1400fa3f4]
mov qword [rsi + 0x270], rax
lea rax, [0x1400fa436]
mov qword [rsi + 0x278], rax
mov ebp, dword [rsp + 0x78]
mov rdi, qword [rsp + 0xc8]
cmp qword [rsi + 0x50], 0
je 0x1400aa880
mov rcx, qword [rsi + 0x358]
call fcn.1400ad757
mov rcx, rsi
call fcn.1400ad763
mov rcx, rsi
call fcn.1400acfb8
mov rcx, rsi
call fcn.1400ad458
test ebp, ebp
je 0x1400aabf2
mov dword [rsi + 0x20c], edi
mov dword [rsi + 0x208], 0x30001
mov ecx, dword [0x14027d9a0]
call sub.KERNEL32.DLL_TlsGetValue
mov r14, rax
mov rcx, rsi
call fcn.1400ada5e
lea rcx, str.glGetIntegerv
call qword [rsi + 0x270]
mov qword [rsi + 0x240], rax
lea rcx, str.glGetString
call qword [rsi + 0x270]
mov qword [rsi + 0x248], rax
cmp qword [rsi + 0x240], 0
je 0x1400aab02
mov rdx, rax
test rax, rax
je 0x1400aab02
mov ecx, 0x1f02
call rdx
test rax, rax
je 0x1400aa9b9
mov r15, rax
xor r12d, r12d
lea r13, str.OpenGL_ES_CM
cmp r12, 0x18
je 0x1400aa945
mov rbx, qword [r12 + r13]
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rdi, rax
mov rcx, r15
mov rdx, rbx
mov r8, rax
call sub.msvcrt.dll_strncmp
add r12, 8
test eax, eax
jne 0x1400aa90d
add r15, rdi
mov dword [rsi + 0x208], 0x30002
lea rbx, [rsi + 0x210]
lea rdi, [rsi + 0x214]
mov rax, rsi
add rax, 0x218
mov qword [rsp + 0x20], rax
mov rcx, r15
mov r8, rbx
mov r9, rdi
call fcn.1400adae8
test eax, eax
mov r8d, dword [rsp + 0x74]
je 0x1400aa9cf
mov eax, dword [rbx]
cmp eax, r8d
jge 0x1400aa9f0
mov ecx, dword [rdi]
cmp dword [rsi + 0x208], 0x30001
lea r9, str.Requested_OpenGL_version__i._i__got_version__i._i
lea rdx, str.Requested_OpenGL_ES_version__i._i__got_version__i._i
cmove rdx, r9
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov ecx, 0x10007
mov r9d, dword [rsp + 0x7c]
call fcn.1400ab5f4
jmp 0x1400aab13
cmp ebp, 0x30001
lea rax, str.OpenGL_version_string_retrieval_is_broken
lea rdx, str.OpenGL_ES_version_string_retrieval_is_broken
jmp 0x1400aa9e7
cmp dword [rsi + 0x208], 0x30001
lea rax, str.No_version_found_in_OpenGL_version_string
lea rdx, str.No_version_found_in_OpenGL_ES_version_string
cmove rdx, rax
jmp 0x1400aab09
jne 0x1400aa9fa
mov ecx, dword [rdi]
cmp ecx, dword [rsp + 0x7c]
jl 0x1400aa981
cmp eax, 3
jl 0x1400aaa1c
lea rcx, str.glGetStringi
call qword [rsi + 0x270]
mov qword [rsi + 0x238], rax
test rax, rax
je 0x1400aab02
cmp dword [rsi + 0x208], 0x30001
jne 0x1400aab20
cmp dword [rbx], 3
jl 0x1400aab30
lea r15, [rsp + 0x100]
mov ecx, 0x821e
mov rdx, r15
call qword [rsi + 0x240]
mov eax, dword [r15]
test al, 1
je 0x1400aaa61
mov rcx, qword [rsp + 0x60]
mov dword [rcx + 0x21c], 1
test al, 2
jne 0x1400aaa7f
lea rcx, str.GL_ARB_debug_output
call fcn.1400adb12
test eax, eax
je 0x1400aaa8e
cmp dword [rsp + 0xa4], 0
je 0x1400aaa8e
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x220], 1
test byte [rsp + 0x100], 8
je 0x1400aaaa7
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x224], 1
cmp dword [rbx], 3
mov rsi, qword [rsp + 0x60]
jle 0x1400aab29
lea rdi, [rsp + 0x100]
mov ecx, 0x9126
mov rdx, rdi
call qword [rsi + 0x240]
mov eax, dword [rdi]
mov ecx, 0x32002
test al, 2
jne 0x1400aaaf0
mov ecx, 0x32001
test al, 1
jne 0x1400aaaf0
lea rcx, str.GL_ARB_compatibility
call fcn.1400adb12
mov ecx, 0x32002
test eax, eax
je 0x1400aaafb
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x228], ecx
mov rsi, qword [rsp + 0x60]
jmp 0x1400aab30
lea rdx, str.Entry_point_retrieval_is_broken
mov ecx, 0x10008
call fcn.1400ab5f4
mov rcx, r14
call fcn.1400ada5e
jmp 0x1400a9084
lea rcx, str.GL_EXT_robustness
jmp 0x1400aab37
jne 0x1400aab30
cmp dword [rdi], 2
jge 0x1400aaab1
lea rcx, str.GL_ARB_robustness
call fcn.1400adb12
test eax, eax
je 0x1400aab82
lea rdi, [rsp + 0x100]
mov ecx, 0x8256
mov rdx, rdi
call qword [rsi + 0x240]
mov eax, dword [rdi]
cmp eax, 0x8252
je 0x1400aab6d
cmp eax, 0x8261
jne 0x1400aab7d
mov eax, 0x31001
jmp 0x1400aab72
mov eax, 0x31002
mov rcx, qword [rsp + 0x60]
mov dword [rcx + 0x22c], eax
mov rsi, qword [rsp + 0x60]
lea rcx, str.GL_KHR_context_flush_control
call fcn.1400adb12
test eax, eax
je 0x1400aabc7
lea rdi, [rsp + 0x100]
mov ecx, 0x82fb
mov rdx, rdi
call qword [rsi + 0x240]
mov eax, dword [rdi]
test eax, eax
je 0x1400aabbc
cmp eax, 0x82fc
jne 0x1400aabc7
mov eax, 0x35001
jmp 0x1400aabc1
mov eax, 0x35002
mov dword [rsi + 0x230], eax
lea rcx, str.glClear
call qword [rsi + 0x270]
mov ecx, 0x4000
call rax
cmp dword [rsi + 0x30], 0
je 0x1400aabea
mov rcx, rsi
call qword [rsi + 0x258]
mov rcx, r14
call fcn.1400ada5e
cmp dword [rsp + 0x38c], 0
je 0x1400aac96
and dword [rsp + 0x100], 0
mov byte [rsp + 0x1a0], 0
and dword [rsp + 0x290], 0
mov rcx, qword [rsi + 0x358]
mov edx, 0xffffffec
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, eax
bt eax, 0x13
jae 0x1400aac57
mov rcx, qword [rsi + 0x358]
lea rdx, [rsp + 0x100]
lea r8, [rsp + 0x1a0]
lea r9, [rsp + 0x290]
call qword [sym.imp.USER32.dll_GetLayeredWindowAttributes]
or edi, 0x80020
mov rcx, qword [rsi + 0x358]
mov edx, 0xffffffec
mov r8d, edi
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov rcx, qword [rsi + 0x358]
mov edx, dword [rsp + 0x100]
mov r8b, byte [rsp + 0x1a0]
mov r9d, dword [rsp + 0x290]
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
cmp qword [rsi + 0x50], 0
je 0x1400aacb8
cmp dword [rsp + 0x384], 0
je 0x1400a902c
mov rcx, rsi
call fcn.1400ae35a
jmp 0x1400a902c
cmp dword [rsp + 0x36c], 0
je 0x1400a902c
mov rcx, qword [rsi + 0x358]
call fcn.1400ad757
cmp dword [rsp + 0x374], 0
je 0x1400a902c
mov rcx, rsi
call fcn.1400ad763
jmp 0x1400a902c
lea rdx, str.WGL:_Failed_to_set_selected_pixel_format
jmp 0x1400a9075
mov ecx, 0x3207
cmp eax, 0x37007
mov ebx, 0x3450
cmovne ebx, ecx
cmp dword [0x14027e9c4], 0
cmove ebx, ecx
test ebx, ebx
je 0x1400aad63
mov ecx, 3
mov edx, 4
call sub.msvcrt.dll_calloc
mov rdi, rax
mov dword [rax], 0x3203
mov dword [rax + 4], ebx
mov dword [rax + 8], 0x3038
mov dword [0x14027e978], 0x3202
mov rbx, qword [0x14027ea58]
call fcn.1400ad880
mov ecx, 0x3202
mov rdx, rax
mov r8, rdi
call rbx
mov rbx, rax
jmp 0x1400aad80
and dword [0x14027e978], 0
mov rdi, qword [0x14027e9e8]
call fcn.1400ad880
mov rcx, rax
call rdi
mov rbx, rax
xor edi, edi
mov qword [0x14027e980], rbx
mov rcx, rdi
call sub.msvcrt.dll_free
test rbx, rbx
je 0x1400aae1f
lea rdx, [0x14027e988]
lea r8, [0x14027e98c]
mov rcx, rbx
call qword [0x14027e9f8]
test eax, eax
je 0x1400aae3e
lea rcx, str.EGL_KHR_create_context
call fcn.1400fa265
mov dword [0x14027e994], eax
lea rcx, str.EGL_KHR_create_context_no_error
call fcn.1400fa265
mov dword [0x14027e998], eax
lea rcx, str.EGL_KHR_gl_colorspace
call fcn.1400fa265
mov dword [0x14027e99c], eax
lea rcx, str.EGL_KHR_get_all_proc_addresses
call fcn.1400fa265
mov dword [0x14027e9a0], eax
lea rcx, str.EGL_KHR_context_flush_control
call fcn.1400fa265
mov dword [0x14027e9a4], eax
mov ebp, dword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
jmp 0x1400a9347
call qword [0x14027e9f0]
add eax, 0xffffd000
cmp eax, 0xe
ja 0x1400aae5d
mov eax, eax
lea rcx, str.Success
mov r8, qword [rcx + rax*8]
jmp 0x1400aae64
call qword [0x14027e9f0]
add eax, 0xffffd000
cmp eax, 0xe
ja 0x1400aae6d
mov eax, eax
lea rcx, str.Success
mov r8, qword [rcx + rax*8]
jmp 0x1400aae74
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
lea rdx, str.EGL:_Failed_to_get_EGL_display:__s
jmp 0x1400aae7b
lea r8, str.ERROR:_UNKNOWN_EGL_ERROR
lea rdx, str.EGL:_Failed_to_initialize_EGL:__s
mov ecx, 0x10006
call fcn.1400ab5f4
call fcn.1400fa228
jmp 0x1400a907f
cmp dword [0x14027e958], 0
je 0x1400aaf49
cmp dword [0x14027e95c], 0
je 0x1400aaf49
cmp dword [0x14027e960], 0
je 0x1400aaf49
xor ecx, ecx
mov eax, 4
xor r8d, r8d
xor edx, edx
cmp dword [rsp + 0xa4], 0
setne dl
or edx, r8d
xor r8d, r8d
cmp dword [rsp + 0x68], 0
je 0x1400aafd3
cmp dword [0x14027e964], 0
je 0x1400aafd3
cmp dword [rsp + 0x68], 0x31001
je 0x1400aafb1
xor r8d, r8d
cmp dword [rsp + 0x68], 0x31002
jne 0x1400aafd0
mov r8d, 0x8252
jmp 0x1400aafb7
mov ecx, 1
xor eax, eax
jmp 0x1400aa2ba
xor ecx, ecx
jmp 0x1400aa2ba
cmp dword [rsp + 0xa8], 0
je 0x1400aaf6b
cmp dword [0x14027e95c], 0
jne 0x1400aaf6b
lea rdx, str.WGL:_OpenGL_profile_requested_but_WGL_ARB_create_context_profile_is_unavailable
mov ecx, 0x10007
jmp 0x1400aaf55
lea rdx, str.WGL:_OpenGL_ES_requested_but_WGL_ARB_create_context_es2_profile_is_unavailable
mov ecx, 0x10006
call fcn.1400ab5f4
jmp 0x1400a907f
lea rdx, str.EGL:_Failed_to_load_client_library
jmp 0x1400a9ae7
test eax, eax
je 0x1400ab18b
xor r8d, r8d
cmp dword [rsp + 0xa0], 0
setne r8b
add r8d, r8d
cmp dword [rsp + 0xa8], 0x32001
je 0x1400ab1f1
cmp dword [rsp + 0xa8], 0x32002
jne 0x1400ab1fd
mov eax, 2
jmp 0x1400ab1f6
mov r8d, 0x8261
mov dword [rsp + 0x1a0], 0x8256
mov dword [rsp + 0x1a4], r8d
mov r8d, 2
or edx, 4
cmp dword [rsp + 0xb0], 0
je 0x1400ab026
cmp dword [0x14027e96c], 0
je 0x1400ab026
cmp dword [rsp + 0xb0], 0x35002
je 0x1400ab008
cmp dword [rsp + 0xb0], 0x35001
jne 0x1400ab026
mov r9d, 0x2098
jmp 0x1400ab00b
xor r9d, r9d
mov r10d, r8d
mov dword [rsp + r10*4 + 0x1a0], 0x2097
add r8d, 2
mov dword [rsp + r10*4 + 0x1a4], r9d
cmp dword [rsp + 0xbc], 0
je 0x1400ab048
cmp dword [0x14027e968], 0
je 0x1400ab048
mov r9d, r8d
add r8d, 2
mov qword [rsp + r9*4 + 0x1a0], r14
cmp dword [rsp + 0x74], 1
jne 0x1400ab056
cmp dword [rsp + 0x7c], 0
je 0x1400ab08f
mov r9d, r8d
mov dword [rsp + r9*4 + 0x1a0], 0x2091
mov r10d, dword [rsp + 0x74]
mov dword [rsp + r9*4 + 0x1a4], r10d
mov dword [rsp + r9*4 + 0x1a8], 0x2092
add r8d, 4
mov r10d, dword [rsp + 0x7c]
mov dword [rsp + r9*4 + 0x1ac], r10d
test edx, edx
je 0x1400ab0ae
mov r9d, r8d
mov dword [rsp + r9*4 + 0x1a0], 0x2094
add r8d, 2
mov dword [rsp + r9*4 + 0x1a4], edx
test cl, cl
jne 0x1400ab0cb
mov ecx, r8d
mov dword [rsp + rcx*4 + 0x1a0], 0x9126
add r8d, 2
mov dword [rsp + rcx*4 + 0x1a4], eax
mov eax, r8d
and qword [rsp + rax*4 + 0x1a0], 0
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x280]
lea r8, [rsp + 0x1a0]
xor edx, edx
call qword [0x14027e938]
mov qword [rsi + 0x288], rax
test rax, rax
je 0x1400ab156
lea rax, [0x1400fa08c]
mov rsi, qword [rsp + 0x60]
mov qword [rsi + 0x250], rax
lea rax, [0x1400fa0f5]
mov qword [rsi + 0x258], rax
lea rax, [0x1400fa166]
mov qword [rsi + 0x260], rax
lea rax, [fcn.1400fa004]
mov qword [rsi + 0x268], rax
lea rax, [0x1400fa1d1]
mov qword [rsi + 0x270], rax
lea rax, [0x1400fa200]
jmp 0x1400aa842
call qword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xc0072054
je 0x1400ab1be
cmp eax, 0xc0072096
je 0x1400ab1cf
cmp eax, 0xc0072095
jne 0x1400ab1db
cmp dword [rsp + 0x78], 0x30001
jne 0x1400ab206
lea rdx, str.WGL:_Driver_does_not_support_OpenGL_version__i._i
jmp 0x1400ab20d
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x280]
call qword [0x14027e8e0]
mov qword [rsi + 0x288], rax
test rax, rax
jne 0x1400ab0ff
lea rdx, str.WGL:_Failed_to_create_OpenGL_context
mov ecx, 0x10007
jmp 0x1400a907a
lea rdx, str.WGL:_The_share_context_is_not_compatible_with_the_requested_context
mov ecx, 0x10004
jmp 0x1400aaf55
lea rdx, str.WGL:_Driver_does_not_support_the_requested_OpenGL_profile
jmp 0x1400aaf42
cmp dword [rsp + 0x78], 0x30001
jne 0x1400ab226
lea rdx, str.WGL:_Failed_to_create_OpenGL_context
jmp 0x1400aaf42
mov eax, 1
xor ecx, ecx
jmp 0x1400aaec0
xor eax, eax
mov cl, 1
jmp 0x1400aaec0
lea rdx, str.WGL:_Driver_does_not_support_OpenGL_ES_version__i._i
mov ecx, 0x10007
mov r8d, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x7c]
call fcn.1400ab5f4
jmp 0x1400a907f
lea rdx, str.WGL:_Failed_to_create_OpenGL_ES_context
jmp 0x1400aaf42