Function at 0x1400b0150
Capabilities:
Allocate thread local storage
Get thread local storage value
Link many functions at runtime
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
cmp edx, 1
je 0x1400b0250
jb 0x1400b01f0
cmp edx, 3
jne 0x1400b0237
mov r14, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
lea r13, [0x1402a2840]
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r13
call r14
mov r15, qword [0x1402a21a0]
test r15, r15
je 0x1400b01da
nop dword [rax]
call rdi
mov ecx, dword [r15]
mov esi, eax
call r12
mov rbx, rax
mov ecx, esi
call rbp
test rbx, rbx
je 0x1400b01d1
cmp qword [r15 + 8], 0
jne 0x1400b0320
mov r15, qword [r15 + 0x10]
test r15, r15
jne 0x1400b01b0
lea rcx, [0x1402a2840]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
jmp 0x1400b023c
mov rcx, qword [0x140284380]
call sym.libvlccore.dll_vlc_rwlock_destroy
lea rcx, [0x1402a2840]
mov r14, qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
call r14
lea rcx, [0x1402a21c0]
call r14
mov ecx, dword [0x1402a2830]
call qword [sym.imp.KERNEL32.dll_TlsFree]
lea rax, [0x1400aea80]
cmp qword [0x1402a2810], rax
je 0x1400b0350
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
mov r12, rax
je 0x1400b0531
lea rdx, str.WaitOnAddress
mov rcx, rax
mov rbp, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rbp
test rax, rax
mov qword [0x1402a2810], rax
je 0x1400b03b5
lea rdx, str.WakeByAddressAll
mov rcx, r12
call rbp
test rax, rax
mov qword [0x1402a2808], rax
je 0x1400b03b5
lea rdx, str.WakeByAddressSingle
mov rcx, r12
call rbp
test rax, rax
mov qword [0x1402a2800], rax
je 0x1400b03b5
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [0x1402a2830], eax
je 0x1400b0531
lea rcx, [0x1402a21c0]
mov r14, qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call r14
lea rcx, [0x1402a2840]
call r14
lea rcx, [0x1402a2838]
call qword [0x1402a2828]
mov rcx, qword [0x140284380]
call sym.libvlccore.dll_vlc_rwlock_init
call fcn.14009e420
mov eax, 1
jmp 0x1400b023c
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rdi
xor edx, edx
mov esi, eax
mov ecx, dword [r15]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1400b0528
mov rcx, rbx
call qword [r15 + 8]
jmp 0x1400b019b
lea r13, [0x1402a2200]
lea rdi, [0x1402a2800]
mov rcx, r13
call r14
lea rcx, [r13 + 0x30]
call r14
lea rcx, [r13 + 0x60]
call r14
lea rcx, [r13 + 0x90]
call r14
lea rcx, [r13 + 0xc0]
call r14
lea rcx, [r13 + 0xf0]
call r14
lea rcx, [r13 + 0x120]
call r14
lea rcx, [r13 + 0x150]
add r13, 0x180
call r14
cmp rdi, r13
jne 0x1400b035e
jmp 0x1400b0237
lea rdx, str.InitializeConditionVariable
mov rcx, r12
call rbp
test rax, rax
mov qword [0x1402a2828], rax
je 0x1400b0500
lea rdx, str.SleepConditionVariableCS
mov rcx, r12
call rbp
test rax, rax
mov qword [0x1402a2820], rax
je 0x1400b0500
lea rdx, str.WakeAllConditionVariable
mov rcx, r12
call fcn.1400050b4
mov qword [0x1402a2818], rax
je 0x1400b0500
mov rsi, qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rbx, [0x1402a2200]
lea r15, [0x1402a2800]
mov rcx, rbx
call rsi
lea rcx, [rbx + 0x28]
call qword [0x1402a2828]
lea rcx, [rbx + 0x30]
call rsi
lea rcx, [rbx + 0x58]
call qword [0x1402a2828]
lea rcx, [rbx + 0x60]
call rsi
lea rcx, [rbx + 0x88]
call qword [0x1402a2828]
lea rcx, [rbx + 0x90]
call rsi
lea rcx, [rbx + 0xb8]
call qword [0x1402a2828]
lea rcx, [rbx + 0xc0]
call rsi
lea rcx, [rbx + 0xe8]
call qword [0x1402a2828]
lea rcx, [rbx + 0xf0]
call rsi
lea rcx, [rbx + 0x118]
call qword [0x1402a2828]
lea rcx, [rbx + 0x120]
call rsi
lea rcx, [rbx + 0x148]
call qword [0x1402a2828]
lea rcx, [rbx + 0x150]
call rsi
lea rcx, [rbx + 0x178]
add rbx, 0x180
call qword [0x1402a2828]
cmp rbx, r15
jne 0x1400b041e
lea r9, [0x1400ae8b0]
lea r8, [0x1400aea80]
mov qword [0x1402a2808], r9
mov qword [0x1402a2810], r8
mov qword [0x1402a2800], r9
jmp 0x1400b02c4
lea rcx, [0x1400ae850]
lea rdx, [0x1400ae9d0]
mov qword [0x1402a2828], rcx
mov qword [0x1402a2820], rdx
mov qword [0x1402a2818], rcx
jmp 0x1400b0409
mov ecx, esi
call rbp
jmp 0x1400b0340
xor eax, eax
jmp 0x1400b023c