Function at 0x140039200
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rbp
push rbx
lea rbp, [r11 - 0x368]
sub rsp, 0x458
mov rax, qword [0x140093880]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov qword [r11 - 0x20], rdi
mov rdi, rdx
mov ebx, ecx
test rdx, rdx
je 0x14003928b
mov qword [r11 - 0x18], rsi
lea rsi, [rbp + 0x380]
call fcn.1400041d0
mov qword [rsp + 0x28], rsi
lea rdx, [rsp + 0x30]
mov r9, rdi
mov qword [rsp + 0x20], 0
mov r8d, 0x400
mov rcx, qword [rax]
or rcx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___stdio_common_vsprintf]
mov rsi, qword [rsp + 0x450]
mov byte [rbp + 0x32f], 0
jmp 0x1400395b9
cmp ebx, 0x10001
jne 0x1400392ba
movups xmm0, xmmword [str.The_GLFW_library_is_not_initialized]
mov eax, dword [0x1400852f0]
movups xmm1, xmmword [0x1400852e0]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x10002
jne 0x1400392e5
movups xmm0, xmmword [str.There_is_no_current_context]
mov eax, dword [0x140085310]
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140085308]
jmp 0x1400395b3
cmp ebx, 0x10003
jne 0x140039314
movups xmm0, xmmword [str.Invalid_argument_for_enum_parameter]
mov eax, dword [0x140085338]
movups xmm1, xmmword [0x140085328]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x10004
jne 0x14003933f
movups xmm0, xmmword [str.Invalid_value_for_parameter]
mov eax, dword [0x140085358]
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140085350]
jmp 0x1400395b3
cmp ebx, 0x10005
jne 0x140039370
mov eax, dword [0x140085368]
movsd xmm0, qword [str.Out_of_memory]
mov dword [rsp + 0x38], eax
movzx eax, word [0x14008536c]
mov word [rsp + 0x3c], ax
movsd qword [rsp + 0x30], xmm0
jmp 0x1400395b9
cmp ebx, 0x10006
jne 0x1400393a0
movups xmm0, xmmword [str.The_requested_API_is_unavailable]
movzx eax, byte [0x140085390]
movups xmm1, xmmword [0x140085380]
mov byte [rsp + 0x50], al
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x10007
jne 0x1400393de
movups xmm0, xmmword [str.The_requested_API_version_is_unavailable]
movzx eax, byte [0x1400853c0]
movups xmm1, xmmword [0x1400853a8]
mov byte [rsp + 0x58], al
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1400853b8]
movsd qword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x10008
jne 0x14003941a
movzx eax, word [0x1400853e8]
movups xmm0, xmmword [str.A_platform_specific_error_occurred]
mov word [rsp + 0x50], ax
movups xmm1, xmmword [0x1400853d8]
movzx eax, byte [0x1400853ea]
mov byte [rsp + 0x52], al
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x10009
jne 0x140039449
movups xmm0, xmmword [str.The_requested_format_is_unavailable]
mov eax, dword [0x140085410]
movups xmm1, xmmword [0x140085400]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x1000a
jne 0x140039478
movups xmm0, xmmword [str.The_specified_window_has_no_context]
mov eax, dword [0x140085438]
movups xmm1, xmmword [0x140085428]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x1000b
jne 0x1400394b7
movups xmm0, xmmword [str.The_specified_cursor_shape_is_unavailable]
movzx eax, word [0x140085468]
movups xmm1, xmmword [0x140085450]
mov word [rsp + 0x58], ax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140085460]
movsd qword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400395b9
cmp ebx, 0x1000c
jne 0x14003950c
movups xmm0, xmmword [str.The_requested_feature_cannot_be_implemented_for_this_platform]
mov eax, dword [0x1400854a8]
movups xmm1, xmmword [0x140085480]
mov dword [rsp + 0x68], eax
movzx eax, word [0x1400854ac]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [0x140085490]
mov word [rsp + 0x6c], ax
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x1400854a0]
movsd qword [rsp + 0x60], xmm0
jmp 0x1400395b9
cmp ebx, 0x1000d
jne 0x14003955b
movaps xmm0, xmmword [str.The_requested_feature_has_not_yet_been_implemented_for_this_platform]
movaps xmm1, xmmword [0x1400854c0]
mov eax, dword [0x1400854f0]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [0x1400854d0]
movaps xmmword [rsp + 0x40], xmm1
movaps xmm1, xmmword [0x1400854e0]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x1400854f4]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov byte [rsp + 0x74], al
jmp 0x1400395b9
cmp ebx, 0x1000e
jne 0x140039593
mov eax, dword [0x140085518]
movups xmm0, xmmword [str.The_requested_platform_is_unavailable]
mov dword [rsp + 0x50], eax
movups xmm1, xmmword [0x140085508]
movzx eax, word [0x14008551c]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x54], ax
jmp 0x1400395b9
movups xmm0, xmmword [str.ERROR:_UNKNOWN_GLFW_ERROR]
movzx eax, word [0x140085538]
mov word [rsp + 0x48], ax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140085530]
movsd qword [rsp + 0x40], xmm0
cmp dword [0x14009ffe0], 0
je 0x140039650
mov ecx, dword [0x1400a1980]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rax, rax
jne 0x140039657
mov rdx, qword [0x1400a0000]
mov ecx, 0x410
call qword [0x14009ffe8]
test rax, rax
je 0x140039606
xor edx, edx
mov r8d, 0x410
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdi, rax
jmp 0x140039614
xor edx, edx
mov ecx, 0x10005
call fcn.140039200
xor edi, edi
mov ecx, dword [0x1400a1980]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rcx, [0x1400a1998]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1400a0748]
lea rcx, [0x1400a1998]
mov qword [rdi], rax
mov qword [0x1400a0748], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140039657
lea rdi, [0x1400a2ac0]
lea rax, [rsp + 0x30]
mov dword [rdi + 8], ebx
sub rdi, rax
lea rdx, [rsp + 0x30]
nop word [rax + rax]
movzx eax, byte [rdx]
mov byte [rdi + rdx + 0xc], al
lea rdx, [rdx + 1]
test al, al
jne 0x140039670
mov rax, qword [0x1400a2ab8]
mov rdi, qword [rsp + 0x448]
test rax, rax
je 0x14003969c
lea rdx, [rsp + 0x30]
mov ecx, ebx
call rax
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.1400451f0
add rsp, 0x458
pop rbx
pop rbp
ret