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

Disassembly:
push r14
push r13
push r12
push rbx
sub rsp, 0x438
mov qword [rsp + 0x470], r8
mov r12d, ecx
mov qword [rsp + 0x478], r9
test rdx, rdx
je 0x2e3c32188
lea r13, [rsp + 0x30]
lea r9, [rsp + 0x470]
mov r8, rdx
mov edx, 0x400
mov rcx, r13
mov qword [rsp + 0x28], r9
call fcn.2e3e4cb50
mov byte [rsp + 0x42f], 0
mov eax, dword [0x2e3f340c0]
lea rbx, [0x2e3f36800]
test eax, eax
jne 0x2e3c321b0
mov dword [rbx + 8], r12d
lea rcx, [rbx + 0xc]
mov rdx, r13
call sub.msvcrt.dll_strcpy
mov rax, qword [0x2e3f340a0]
test rax, rax
je 0x2e3c32176
mov rdx, r13
mov ecx, r12d
call rax
nop
add rsp, 0x438
pop rbx
pop r12
pop r13
pop r14
ret
lea eax, [rcx - 0x10001]
cmp eax, 0xc
ja case.default.0x2e3c321a5
lea rdx, [0x2e3e6e220]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp dword [0x2e3f356e4], 1
jne 0x2e3c32250
mov ecx, dword [0x2e3f356e8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
jne 0x2e3c32151
mov edx, 0x410
mov ecx, 1
call sub.msvcrt.dll_calloc
cmp dword [0x2e3f356e4], 1
mov rbx, rax
jne 0x2e3c326f0
mov ecx, dword [0x2e3f356e8]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
cmp dword [0x2e3f356f8], 1
jne 0x2e3c32730
lea r14, [0x2e3f35700]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x2e3f344b0]
cmp dword [0x2e3f356f8], 1
mov qword [0x2e3f344b0], rbx
mov qword [rbx], rax
jne 0x2e3c32710
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x2e3c32151
mov r8d, 0x40
lea rdx, [0x2e3e6e068]
lea rcx, [0x2e3e6e190]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c321bd
movabs rax, 0x6365707320656854
mov r8d, 0x65
lea r13, [rsp + 0x30]
movabs rdx, 0x7563206465696669
mov qword [rsp + 0x30], rax
movabs rax, 0x61687320726f7372
mov qword [rsp + 0x38], rdx
movabs rdx, 0x6e75207369206570
mov qword [rsp + 0x40], rax
movabs rax, 0x6c62616c69617661
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
mov word [rsp + 0x58], r8w
jmp 0x2e3c32140
movabs rax, 0x7369206572656854
mov dword [rsp + 0x48], 0x747865
lea r13, [rsp + 0x30]
movabs rdx, 0x72727563206f6e20
mov qword [rsp + 0x30], rax
movabs rax, 0x746e6f6320746e65
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rax
jmp 0x2e3c32140
movabs rax, 0x2064696c61766e49
mov dword [rsp + 0x50], 0x726574
lea r13, [rsp + 0x30]
movabs rdx, 0x746e656d75677261
mov qword [rsp + 0x30], rax
movabs rax, 0x756e6520726f6620
mov qword [rsp + 0x38], rdx
movabs rdx, 0x656d61726170206d
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jmp 0x2e3c32140
movabs rax, 0x2064696c61766e49
mov dword [rsp + 0x48], 0x726574
lea r13, [rsp + 0x30]
movabs rdx, 0x6f662065756c6176
mov qword [rsp + 0x30], rax
movabs rax, 0x656d617261702072
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rax
jmp 0x2e3c32140
movabs rax, 0x6d20666f2074754f
mov r10d, 0x79
lea r13, [rsp + 0x30]
mov dword [rsp + 0x38], 0x726f6d65
mov qword [rsp + 0x30], rax
mov word [rsp + 0x3c], r10w
jmp 0x2e3c32140
movabs rax, 0x7571657220656854
mov byte [rsp + 0x74], 0
lea r13, [rsp + 0x30]
movabs rdx, 0x6566206465747365
mov qword [rsp + 0x30], rax
movabs rax, 0x6168206572757461
mov qword [rsp + 0x38], rdx
movabs rdx, 0x657920746f6e2073
mov qword [rsp + 0x40], rax
movabs rax, 0x69206e6565622074
mov qword [rsp + 0x48], rdx
movabs rdx, 0x746e656d656c706d
mov qword [rsp + 0x50], rax
movabs rax, 0x7420726f66206465
mov qword [rsp + 0x58], rdx
movabs rdx, 0x74616c7020736968
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x70], 0x6d726f66
jmp 0x2e3c32140
movabs rax, 0x57464c4720656854
mov dword [rsp + 0x50], 0x64657a
lea r13, [rsp + 0x30]
movabs rdx, 0x7972617262696c20
mov qword [rsp + 0x30], rax
movabs rax, 0x20746f6e20736920
mov qword [rsp + 0x38], rdx
movabs rdx, 0x696c616974696e69
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jmp 0x2e3c32140
movabs rax, 0x7571657220656854
mov ecx, 0x6d
movabs rdx, 0x6566206465747365
mov dword [rsp + 0x68], 0x726f6674
mov qword [rsp + 0x30], rax
lea r13, [rsp + 0x30]
movabs rax, 0x6163206572757461
mov qword [rsp + 0x38], rdx
movabs rdx, 0x20656220746f6e6e
mov qword [rsp + 0x40], rax
movabs rax, 0x6e656d656c706d69
mov qword [rsp + 0x48], rdx
movabs rdx, 0x20726f6620646574
mov qword [rsp + 0x50], rax
movabs rax, 0x616c702073696874
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
mov word [rsp + 0x6c], cx
jmp 0x2e3c32140
movabs rax, 0x7571657220656854
mov byte [rsp + 0x50], 0
lea r13, [rsp + 0x30]
movabs rdx, 0x5041206465747365
mov qword [rsp + 0x30], rax
movabs rax, 0x616e752073692049
mov qword [rsp + 0x38], rdx
movabs rdx, 0x656c62616c696176
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jmp 0x2e3c32140
movabs rax, 0x7571657220656854
mov byte [rsp + 0x58], 0
lea r13, [rsp + 0x30]
movabs rdx, 0x5041206465747365
mov qword [rsp + 0x30], rax
movabs rax, 0x6f69737265762049
mov qword [rsp + 0x38], rdx
movabs rdx, 0x616e75207369206e
mov qword [rsp + 0x40], rax
movabs rax, 0x656c62616c696176
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
jmp 0x2e3c32140
mov r9d, 0x6465
mov byte [rsp + 0x52], 0
lea r13, [rsp + 0x30]
movabs rax, 0x6f6674616c702041
movabs rdx, 0x69636570732d6d72
mov qword [rsp + 0x30], rax
movabs rax, 0x6f72726520636966
mov qword [rsp + 0x38], rdx
movabs rdx, 0x72727563636f2072
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
mov word [rsp + 0x50], r9w
jmp 0x2e3c32140
movabs rax, 0x7571657220656854
mov dword [rsp + 0x50], 0x656c62
lea r13, [rsp + 0x30]
movabs rdx, 0x6f66206465747365
mov qword [rsp + 0x30], rax
movabs rax, 0x2073692074616d72
mov qword [rsp + 0x38], rdx
movabs rdx, 0x616c696176616e75
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jmp 0x2e3c32140
movabs rax, 0x6365707320656854
mov dword [rsp + 0x50], 0x747865
lea r13, [rsp + 0x30]
movabs rdx, 0x6977206465696669
mov qword [rsp + 0x30], rax
movabs rax, 0x73616820776f646e
mov qword [rsp + 0x38], rdx
movabs rdx, 0x746e6f63206f6e20
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jmp 0x2e3c32140
mov r8d, 0x46
lea rdx, [0x2e3e6e068]
lea rcx, [0x2e3e6e190]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c321f0
mov r8d, 0x60
lea rdx, [0x2e3e6e068]
lea rcx, str.mutex__win32.allocated__GLFW_TRUE
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c3223a
mov r8d, 0x5a
lea rdx, [0x2e3e6e068]
lea rcx, str.mutex__win32.allocated__GLFW_TRUE
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c3220c
movabs rax, 0x55203a524f525245
lea r13, [rsp + 0x30]
movabs rdx, 0x47204e574f4e4b4e
mov qword [rsp + 0x30], rax
movabs rax, 0x4f5252452057464c
mov qword [rsp + 0x38], rdx
mov edx, 0x52
mov qword [rsp + 0x40], rax
mov word [rsp + 0x48], dx
jmp 0x2e3c32140