Function at 0x14004aaa0
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 [0x140137010]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov qword [r11 - 0x20], rdi
mov rdi, rdx
mov ebx, ecx
test rdx, rdx
je 0x14004ab2b
mov qword [r11 - 0x18], rsi
lea rsi, [rbp + 0x380]
call fcn.140048860
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 0x14004ad35
cmp ebx, 0x10001
jne 0x14004ab5a
movups xmm0, xmmword [str.The_GLFW_library_is_not_initialized]
mov eax, dword [0x1400e4720]
movups xmm1, xmmword [0x1400e4710]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
cmp ebx, 0x10002
jne 0x14004ab85
movups xmm0, xmmword [str.There_is_no_current_context]
mov eax, dword [0x1400e4740]
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1400e4738]
jmp 0x14004ad2f
cmp ebx, 0x10003
jne 0x14004abb4
movups xmm0, xmmword [str.Invalid_argument_for_enum_parameter]
mov eax, dword [0x1400e46d8]
movups xmm1, xmmword [0x1400e46c8]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
cmp ebx, 0x10004
jne 0x14004abdf
movups xmm0, xmmword [str.Invalid_value_for_parameter]
mov eax, dword [0x1400e46f8]
mov dword [rsp + 0x48], eax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1400e46f0]
jmp 0x14004ad2f
cmp ebx, 0x10005
jne 0x14004ac10
mov eax, dword [0x1400e47a8]
movsd xmm0, qword [str.Out_of_memory]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400e47ac]
mov word [rsp + 0x3c], ax
movsd qword [rsp + 0x30], xmm0
jmp 0x14004ad35
cmp ebx, 0x10006
jne 0x14004ac40
movups xmm0, xmmword [str.The_requested_API_is_unavailable]
movzx eax, byte [0x1400e47d0]
movups xmm1, xmmword [0x1400e47c0]
mov byte [rsp + 0x50], al
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
cmp ebx, 0x10007
jne 0x14004ac7e
movups xmm0, xmmword [str.The_requested_API_version_is_unavailable]
movzx eax, byte [0x1400e4770]
movups xmm1, xmmword [0x1400e4758]
mov byte [rsp + 0x58], al
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1400e4768]
movsd qword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
cmp ebx, 0x10008
jne 0x14004acb7
movzx eax, word [0x1400e4798]
movups xmm0, xmmword [str.A_platform_specific_error_occurred]
mov word [rsp + 0x50], ax
movups xmm1, xmmword [0x1400e4788]
movzx eax, byte [0x1400e479a]
mov byte [rsp + 0x52], al
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
cmp ebx, 0x10009
jne 0x14004ace3
movups xmm0, xmmword [str.The_requested_format_is_unavailable]
mov eax, dword [0x1400e4818]
movups xmm1, xmmword [0x1400e4808]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
cmp ebx, 0x1000a
jne 0x14004ad0f
movups xmm0, xmmword [str.The_specified_window_has_no_context]
mov eax, dword [0x1400e4840]
movups xmm1, xmmword [0x1400e4830]
mov dword [rsp + 0x50], eax
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14004ad35
movups xmm0, xmmword [str.ERROR:_UNKNOWN_GLFW_ERROR]
movzx eax, word [0x1400e47f0]
mov word [rsp + 0x48], ax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1400e47e8]
movsd qword [rsp + 0x40], xmm0
cmp dword [0x14013edc0], 0
je 0x14004ad9f
mov ecx, dword [0x1401403d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rax, rax
jne 0x14004ada6
mov edx, 0x410
lea ecx, [rax + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov ecx, dword [0x1401403d8]
mov rdx, rax
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rcx, [0x1401403f0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x14013f1a0]
lea rcx, [0x1401403f0]
mov qword [rdi], rax
mov qword [0x14013f1a0], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14004ada6
lea rdi, [0x1401418a0]
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 0x14004adc0
mov rax, qword [0x140141890]
mov rdi, qword [rsp + 0x448]
test rax, rax
je 0x14004adec
lea rdx, [rsp + 0x30]
mov ecx, ebx
call rax
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.1400b5770
add rsp, 0x458
pop rbx
pop rbp
ret