Function at 0x2e3d6ca30
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [0x2e3f09580]
mov edx, dword [rsi + 0x10]
mov eax, edx
xor eax, ecx
mov ebx, ecx
test al, 0x40
je 0x2e3d6ca55
test cl, 0x40
jne 0x2e3d6cc38
test al, 2
jne 0x2e3d6cb30
test al, 4
je 0x2e3d6ca6a
test bl, 4
jne 0x2e3d6cca8
test al, 8
je 0x2e3d6ca77
test bl, 8
jne 0x2e3d6ccf0
test al, 0x80
je 0x2e3d6ca84
test bl, 0x80
jne 0x2e3d6cd40
test ah, 2
je 0x2e3d6ca92
test bh, 2
jne 0x2e3d6cd80
test ah, 4
je 0x2e3d6caa0
test bh, 4
jne 0x2e3d6cdc0
test ah, 8
je 0x2e3d6caae
test bh, 8
jne 0x2e3d6cdd8
test ah, 0x10
je 0x2e3d6cabc
test bh, 0x10
jne 0x2e3d6cb48
test ah, 1
je 0x2e3d6cac6
test bh, 1
jne 0x2e3d6cb20
test al, 0x10
je 0x2e3d6cad3
test bl, 0x10
jne 0x2e3d6cb70
test ah, 0x20
je 0x2e3d6cae1
test bh, 0x20
jne 0x2e3d6cb90
test ah, 0x40
je 0x2e3d6caef
test bh, 0x40
jne 0x2e3d6cbb0
test al, 0x20
je 0x2e3d6cafc
test bl, 0x20
jne 0x2e3d6cbf8
test eax, 0x10000
je 0x2e3d6cb0f
and ebx, 0x10000
jne 0x2e3d6cc18
add rsp, 0x20
pop rbx
pop rsi
pop r12
ret
or dh, 1
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6cac6
call fcn.2e3d6c6c0
mov edx, dword [rsi + 0x10]
mov eax, ebx
xor eax, edx
jmp 0x2e3d6ca5d
mov rcx, qword [rsi]
mov edx, 0x20007
mov r8d, 1
call fcn.2e3c3d660
mov edx, dword [rsi + 0x10]
or dh, 0x10
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6cabc
lea rdx, str.WINDOW:_Framebuffer_transparency_can_only_by_configured_before_window_initialization
mov ecx, 4
call fcn.2e3e428c0
mov eax, dword [rsi + 0x10]
xor eax, ebx
jmp 0x2e3d6cad3
lea rdx, str.WINDOW:_High_DPI_can_only_by_configured_before_window_initialization
mov ecx, 4
call fcn.2e3e428c0
mov eax, dword [rsi + 0x10]
xor eax, ebx
jmp 0x2e3d6cae1
mov r12, qword [rsi]
test r12, r12
je 0x2e3d6ced0
mov rax, qword [0x2e3f0b050]
mov eax, dword [rax]
test eax, eax
je 0x2e3d6cea0
mov dword [r12 + 0x1c], 1
mov edx, 1
mov rcx, r12
call fcn.2e3c42de0
mov eax, dword [rsi + 0x10]
or ah, 0x40
mov dword [rsi + 0x10], eax
xor eax, ebx
jmp 0x2e3d6caef
lea rdx, str.WINDOW:_MSAA_can_only_by_configured_before_window_initialization
mov ecx, 4
call fcn.2e3e428c0
mov eax, dword [rsi + 0x10]
xor eax, ebx
jmp 0x2e3d6cafc
lea rdx, str.RPI:_Interlaced_mode_can_only_by_configured_before_window_initialization
mov ecx, 4
add rsp, 0x20
pop rbx
pop rsi
pop r12
jmp fcn.2e3e428c0
mov r12, qword [0x2e3f0b050]
mov r11d, dword [r12]
test r11d, r11d
je 0x2e3d6ce10
cmp dword [r12 + 0x162c], 1
je 0x2e3d6cc71
mov r8d, 0x40
lea rdx, str.C:Users_braid.nimblepkgs2_nimraylib_now_0.15.0_f136f0da2803a36acc6b869bbc8b621193f1849ccsources_raylib_mangledexternal_glfw_src_win32_thread.c
lea rcx, str.tls__win32.allocated__GLFW_TRUE
call qword [sym.imp.msvcrt.dll__wassert]
mov ecx, dword [r12 + 0x1630]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x2e3d6cfb0
mov ecx, 1
call qword [rax + 0x260]
mov edx, dword [rsi + 0x10]
or edx, 0x40
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6ca55
mov r12, qword [rsi]
test r12, r12
je 0x2e3d6cef0
mov rax, qword [0x2e3f0b050]
mov r10d, dword [rax]
test r10d, r10d
je 0x2e3d6ce88
mov dword [r12 + 8], 1
cmp qword [r12 + 0x50], 0
je 0x2e3d6cf90
mov edx, dword [rsi + 0x10]
or edx, 4
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6ca6a
mov r12, qword [rsi]
test r12, r12
je 0x2e3d6cf70
mov rax, qword [0x2e3f0b050]
mov r9d, dword [rax]
test r9d, r9d
je 0x2e3d6ce70
mov dword [r12 + 0xc], 0
cmp qword [r12 + 0x50], 0
je 0x2e3d6cfa0
mov edx, dword [rsi + 0x10]
or edx, 8
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6ca77
mov r12, qword [rsi]
test r12, r12
je 0x2e3d6cf50
mov rax, qword [0x2e3f0b050]
mov r8d, dword [rax]
test r8d, r8d
je 0x2e3d6ce58
cmp qword [r12 + 0x50], 0
je 0x2e3d6ce40
mov edx, dword [rsi + 0x10]
or dl, 0x80
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6ca84
mov r12, qword [rsi]
test r12, r12
je 0x2e3d6cf30
mov rax, qword [0x2e3f0b050]
mov ecx, dword [rax]
test ecx, ecx
je 0x2e3d6ce28
mov edx, 6
mov rcx, qword [r12 + 0x358]
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [rsi + 0x10]
mov eax, ebx
xor eax, edx
jmp 0x2e3d6ca92
call fcn.2e3d69640
mov edx, dword [rsi + 0x10]
mov eax, ebx
xor eax, edx
jmp 0x2e3d6caa0
mov r12, qword [rsi]
test r12, r12
je 0x2e3d6cf10
mov rax, qword [0x2e3f0b050]
mov edx, dword [rax]
test edx, edx
je 0x2e3d6ceb8
mov dword [r12 + 0x18], 0
mov edx, dword [rsi + 0x10]
or dh, 8
mov eax, edx
mov dword [rsi + 0x10], edx
xor eax, ebx
jmp 0x2e3d6caae
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6cc93
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov edx, dword [rsi + 0x10]
mov eax, ebx
xor eax, edx
jmp 0x2e3d6ca92
mov rcx, qword [r12 + 0x358]
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x2e3d6cd6b
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6cd6b
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6cd24
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6ccdc
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6cbe3
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6cdfe
mov r8d, 0x36f
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6cbbc
mov r8d, 0x36f
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6ccb4
mov r8d, 0x36f
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6cde4
mov r8d, 0x2e0
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6cd8c
mov r8d, 0x319
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6cd4c
mov r8d, 0x36f
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6ccfc
mov rcx, r12
call fcn.2e3c3d4c0
jmp 0x2e3d6ccdc
mov rcx, r12
call fcn.2e3c3d4c0
jmp 0x2e3d6cd24
lea rdx, str.Cannot_set_swap_interval_without_a_current_OpenGL_or_OpenGL_ES_context
mov ecx, 0x10002
call fcn.2e3c320f0
jmp 0x2e3d6cc93